Bounded order homomorphisms #
This file defines (bounded) order 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 #
TopHom
: Maps which preserve⊤
.BotHom
: Maps which preserve⊥
.BoundedOrderHom
: Bounded order homomorphisms. Monotone maps which preserve⊤
and⊥
.
Typeclasses #
The type of ⊤
-preserving functions from α
to β
.
- toFun : α → β
The underlying function. The preferred spelling is
DFunLike.coe
. The function preserves the top element. The preferred spelling is
map_top
.
Instances For
The type of ⊥
-preserving functions from α
to β
.
- toFun : α → β
The underlying function. The preferred spelling is
DFunLike.coe
. The function preserves the bottom element. The preferred spelling is
map_bot
.
Instances For
The type of bounded order homomorphisms from α
to β
.
- toFun : α → β
- monotone' : Monotone self.toFun
The function preserves the top element. The preferred spelling is
map_top
.The function preserves the bottom element. The preferred spelling is
map_bot
.
Instances For
TopHomClass F α β
states that F
is a type of ⊤
-preserving morphisms.
You should extend this class when you extend TopHom
.
A
TopHomClass
morphism preserves the top element.
Instances
BotHomClass F α β
states that F
is a type of ⊥
-preserving morphisms.
You should extend this class when you extend BotHom
.
A
BotHomClass
morphism preserves the bottom element.
Instances
BoundedOrderHomClass F α β
states that F
is a type of bounded order morphisms.
You should extend this class when you extend BoundedOrderHom
.
Morphisms preserve the top element. The preferred spelling is
_root_.map_top
.Morphisms preserve the bottom element. The preferred spelling is
_root_.map_bot
.
Instances
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Turn an element of a type F
satisfying TopHomClass F α β
into an actual
TopHom
. This is declared as the default coercion from F
to TopHom α β
.
Equations
- ↑f = { toFun := ⇑f, map_top' := ⋯ }
Instances For
Turn an element of a type F
satisfying BotHomClass F α β
into an actual
BotHom
. This is declared as the default coercion from F
to BotHom α β
.
Equations
- ↑f = { toFun := ⇑f, map_bot' := ⋯ }
Instances For
Turn an element of a type F
satisfying BoundedOrderHomClass F α β
into an actual
BoundedOrderHom
. This is declared as the default coercion from F
to BoundedOrderHom α β
.
Equations
- ↑f = let __src := ↑f; { toOrderHom := { toFun := ⇑f, monotone' := ⋯ }, map_top' := ⋯, map_bot' := ⋯ }
Instances For
Equations
- instCoeTCBoundedOrderHom = { coe := BoundedOrderHomClass.toBoundedOrderHom }
Top homomorphisms #
Equations
- ⋯ = ⋯
Equations
- TopHom.instPartialOrderTopHom = PartialOrder.lift (fun (f : TopHom α β) => ⇑f) ⋯
Equations
- TopHom.instSemilatticeInfTopHomToTopToLEToPreorderToPartialOrder = Function.Injective.semilatticeInf (fun (f : TopHom α β) => ⇑f) ⋯ ⋯
Equations
- TopHom.instSemilatticeSupTopHomToTopToLEToPreorderToPartialOrder = Function.Injective.semilatticeSup (fun (f : TopHom α β) => ⇑f) ⋯ ⋯
Equations
- TopHom.instLatticeTopHomToTopToLEToPreorderToPartialOrderToSemilatticeInf = Function.Injective.lattice (fun (f : TopHom α β) => ⇑f) ⋯ ⋯ ⋯
Equations
- TopHom.instDistribLatticeTopHomToTopToLEToPreorderToPartialOrderToSemilatticeInfToLattice = Function.Injective.distribLattice (fun (f : TopHom α β) => ⇑f) ⋯ ⋯ ⋯
Bot homomorphisms #
Equations
- ⋯ = ⋯
Equations
- BotHom.instPartialOrderBotHom = PartialOrder.lift (fun (f : BotHom α β) => ⇑f) ⋯
Equations
- BotHom.instSemilatticeInfBotHomToBotToLEToPreorderToPartialOrder = Function.Injective.semilatticeInf (fun (f : BotHom α β) => ⇑f) ⋯ ⋯
Equations
- BotHom.instSemilatticeSupBotHomToBotToLEToPreorderToPartialOrder = Function.Injective.semilatticeSup (fun (f : BotHom α β) => ⇑f) ⋯ ⋯
Equations
- BotHom.instLatticeBotHomToBotToLEToPreorderToPartialOrderToSemilatticeInf = Function.Injective.lattice (fun (f : BotHom α β) => ⇑f) ⋯ ⋯ ⋯
Equations
- BotHom.instDistribLatticeBotHomToBotToLEToPreorderToPartialOrderToSemilatticeInfToLattice = Function.Injective.distribLattice (fun (f : BotHom α β) => ⇑f) ⋯ ⋯ ⋯
Bounded order homomorphisms #
Reinterpret a BoundedOrderHom
as a TopHom
.
Equations
- BoundedOrderHom.toTopHom f = { toFun := f.toFun, map_top' := ⋯ }
Instances For
Reinterpret a BoundedOrderHom
as a BotHom
.
Equations
- BoundedOrderHom.toBotHom f = { toFun := f.toFun, map_bot' := ⋯ }
Instances For
Equations
- BoundedOrderHom.instFunLikeBoundedOrderHom = { coe := fun (f : BoundedOrderHom α β) => f.toFun, coe_injective' := ⋯ }
Equations
- ⋯ = ⋯
Copy of a BoundedOrderHom
with a new toFun
equal to the old one. Useful to fix
definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
id
as a BoundedOrderHom
.
Equations
- BoundedOrderHom.id α = let __src := OrderHom.id; let __src_1 := TopHom.id α; let __src_2 := BotHom.id α; { toOrderHom := __src, map_top' := ⋯, map_bot' := ⋯ }
Instances For
Equations
- BoundedOrderHom.instInhabitedBoundedOrderHom α = { default := BoundedOrderHom.id α }
Composition of BoundedOrderHom
s as a BoundedOrderHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dual homs #
Reinterpret a bounded order homomorphism as a bounded order homomorphism between the dual orders.
Equations
- One or more equations did not get rendered due to their size.