module UVMHS.Core.Data.Bool where

import UVMHS.Core.Init
import UVMHS.Core.Classes

instance Null 𝔹 where null :: 𝔹
null = 𝔹
False
instance Append 𝔹 where ⧺ :: 𝔹 -> 𝔹 -> 𝔹
(⧺) = 𝔹 -> 𝔹 -> 𝔹
(⩔)
instance Monoid 𝔹

instance POrd 𝔹 where
  𝔹
False ⊑ :: 𝔹 -> 𝔹 -> 𝔹
 𝔹
_      = 𝔹
True
  𝔹
_      𝔹
True   = 𝔹
True
  𝔹
True   𝔹
False = 𝔹
False

instance Bot 𝔹 where bot :: 𝔹
bot = 𝔹
False
instance Join 𝔹 where ⊔ :: 𝔹 -> 𝔹 -> 𝔹
(⊔) = 𝔹 -> 𝔹 -> 𝔹
(⩔)
instance JoinLattice 𝔹
instance Top 𝔹 where top :: 𝔹
top = 𝔹
True
instance Meet 𝔹 where ⊓ :: 𝔹 -> 𝔹 -> 𝔹
(⊓) = 𝔹 -> 𝔹 -> 𝔹
(⩓)
instance MeetLattice 𝔹
instance Lattice 𝔹
instance Dual 𝔹 where dual :: 𝔹 -> 𝔹
dual = 𝔹 -> 𝔹
not

instance Zero 𝔹 where zero :: 𝔹
zero = 𝔹
False
instance Plus 𝔹 where + :: 𝔹 -> 𝔹 -> 𝔹
(+) = 𝔹 -> 𝔹 -> 𝔹
forall a. Join a => a -> a -> a
(⊔)
instance Additive 𝔹
instance One 𝔹 where one :: 𝔹
one = 𝔹
True
instance Times 𝔹 where × :: 𝔹 -> 𝔹 -> 𝔹
(×) = 𝔹 -> 𝔹 -> 𝔹
forall a. Meet a => a -> a -> a
(⊓)
instance Multiplicative 𝔹