Bounded lattice homomorphisms #
This file defines bounded lattice homomorphisms.
We use the DFunLike
design, so each type of morphisms has a companion typeclass which is meant to
be satisfied by itself and all stricter types.
Types of morphisms #
SupBotHom
: Finitary supremum homomorphisms. Maps which preserve⊔
and⊥
.InfTopHom
: Finitary infimum homomorphisms. Maps which preserve⊓
and⊤
.BoundedLatticeHom
: Bounded lattice homomorphisms. Maps which preserve⊤
,⊥
,⊔
and⊓
.
Typeclasses #
TODO #
Do we need more intersections between BotHom
, TopHom
and lattice homomorphisms?
The type of bounded lattice homomorphisms from α
to β
.
- toFun : α → β
A
BoundedLatticeHom
preserves the top element.Do not use this directly. Use
map_top
instead.A
BoundedLatticeHom
preserves the bottom element.Do not use this directly. Use
map_bot
instead.
Instances For
SupBotHomClass F α β
states that F
is a type of finitary supremum-preserving morphisms.
You should extend this class when you extend SupBotHom
.
A
SupBotHomClass
morphism preserves the bottom element.
Instances
InfTopHomClass F α β
states that F
is a type of finitary infimum-preserving morphisms.
You should extend this class when you extend SupBotHom
.
An
InfTopHomClass
morphism preserves the top element.
Instances
BoundedLatticeHomClass F α β
states that F
is a type of bounded lattice morphisms.
You should extend this class when you extend BoundedLatticeHom
.
A
BoundedLatticeHomClass
morphism preserves the top element.A
BoundedLatticeHomClass
morphism preserves the bottom element.
Instances
Special case of map_compl
for boolean algebras.
Special case of map_sdiff
for boolean algebras.
Special case of map_symmDiff
for boolean algebras.
Equations
- instCoeTCSupBotHomOfSupBotHomClass = { coe := fun (f : F) => { toFun := ⇑f, map_sup' := ⋯, map_bot' := ⋯ } }
Equations
- instCoeTCInfTopHomOfInfTopHomClass = { coe := fun (f : F) => { toFun := ⇑f, map_inf' := ⋯, map_top' := ⋯ } }
Equations
- One or more equations did not get rendered due to their size.
Finitary supremum homomorphisms #
Equations
- SupBotHom.instInhabited α = { default := SupBotHom.id α }
Equations
- SupBotHom.instSemilatticeSup = Function.Injective.semilatticeSup (fun (f : SupBotHom α β) => ⇑f) ⋯ ⋯
Equations
Subtype.val
as a SupBotHom
.
Equations
- SupBotHom.subtypeVal Pbot Psup = { toSupHom := SupHom.subtypeVal Psup, map_bot' := ⋯ }
Instances For
Finitary infimum homomorphisms #
Equations
- InfTopHom.instInhabited α = { default := InfTopHom.id α }
Equations
- InfTopHom.instSemilatticeInf = Function.Injective.semilatticeInf (fun (f : InfTopHom α β) => ⇑f) ⋯ ⋯
Equations
Subtype.val
as an InfTopHom
.
Equations
- InfTopHom.subtypeVal Ptop Pinf = { toInfHom := InfHom.subtypeVal Pinf, map_top' := ⋯ }
Instances For
Bounded lattice homomorphisms #
Reinterpret a BoundedLatticeHom
as a SupBotHom
.
Equations
- f.toSupBotHom = { toSupHom := f.toSupHom, map_bot' := ⋯ }
Instances For
Reinterpret a BoundedLatticeHom
as an InfTopHom
.
Equations
- f.toInfTopHom = { toFun := f.toFun, map_inf' := ⋯, map_top' := ⋯ }
Instances For
Reinterpret a BoundedLatticeHom
as a BoundedOrderHom
.
Equations
- f.toBoundedOrderHom = { toFun := f.toFun, monotone' := ⋯, map_top' := ⋯, map_bot' := ⋯ }
Instances For
Equations
- BoundedLatticeHom.instFunLike = { coe := fun (f : BoundedLatticeHom α β) => f.toFun, coe_injective' := ⋯ }
Copy of a BoundedLatticeHom
with a new toFun
equal to the old one. Useful to fix
definitional equalities.
Instances For
id
as a BoundedLatticeHom
.
Equations
- BoundedLatticeHom.id α = { toLatticeHom := LatticeHom.id α, map_top' := ⋯, map_bot' := ⋯ }
Instances For
Equations
- BoundedLatticeHom.instInhabited α = { default := BoundedLatticeHom.id α }
Composition of BoundedLatticeHom
s as a BoundedLatticeHom
.
Equations
- f.comp g = { toLatticeHom := f.comp g.toLatticeHom, map_top' := ⋯, map_bot' := ⋯ }
Instances For
Subtype.val
as a BoundedLatticeHom
.
Equations
- BoundedLatticeHom.subtypeVal Pbot Ptop Psup Pinf = { toLatticeHom := LatticeHom.subtypeVal Psup Pinf, map_top' := ⋯, map_bot' := ⋯ }
Instances For
Dual homs #
Reinterpret a bounded lattice homomorphism as a bounded lattice homomorphism between the dual bounded lattices.
Equations
- One or more equations did not get rendered due to their size.