heyting-algebras-0.0.2.0: Heyting and Boolean algebras

Safe HaskellSafe
LanguageHaskell2010

Algebra.Heyting.Free

Synopsis

Documentation

newtype FreeHeyting a Source #

Free Heyting algebra. FreeAlgebra instance provides all the usual combinators for a free algebra.

The graph of free Heyting algebra with one generator/atom, i.e. FreeHeyting ().

Constructors

FreeHeyting 

Fields

Instances
Monad FreeHeyting Source # 
Instance details

Defined in Algebra.Heyting.Free

Functor FreeHeyting Source # 
Instance details

Defined in Algebra.Heyting.Free

Methods

fmap :: (a -> b) -> FreeHeyting a -> FreeHeyting b #

(<$) :: a -> FreeHeyting b -> FreeHeyting a #

Applicative FreeHeyting Source # 
Instance details

Defined in Algebra.Heyting.Free

Methods

pure :: a -> FreeHeyting a #

(<*>) :: FreeHeyting (a -> b) -> FreeHeyting a -> FreeHeyting b #

liftA2 :: (a -> b -> c) -> FreeHeyting a -> FreeHeyting b -> FreeHeyting c #

(*>) :: FreeHeyting a -> FreeHeyting b -> FreeHeyting b #

(<*) :: FreeHeyting a -> FreeHeyting b -> FreeHeyting a #

FreeAlgebra FreeHeyting Source # 
Instance details

Defined in Algebra.Heyting.Free

JoinSemiLattice (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

MeetSemiLattice (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

Lattice (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

BoundedJoinSemiLattice (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

Methods

bottom :: FreeHeyting a #

BoundedMeetSemiLattice (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

Methods

top :: FreeHeyting a #

BoundedLattice (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

HeytingAlgebra (FreeHeyting a) Source # 
Instance details

Defined in Algebra.Heyting.Free

type AlgebraType FreeHeyting (a :: Type) Source # 
Instance details

Defined in Algebra.Heyting.Free

type AlgebraType0 FreeHeyting (a :: Type) Source # 
Instance details

Defined in Algebra.Heyting.Free

type AlgebraType0 FreeHeyting (a :: Type) = ()

atom :: a -> FreeHeyting a Source #

Construct an atom of the FreeHeyting lattice (in the laguage of free algebra, it is called a generator, e.g. atom = returnFree).