Esakia morphisms #
This file defines pseudo-epimorphisms and Esakia morphisms.
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 #
PseudoEpimorphism
: Pseudo-epimorphisms. Mapsf
such thatf a ≤ b
implies the existence ofa'
such thata ≤ a'
andf a' = b
.EsakiaHom
: Esakia morphisms. Continuous pseudo-epimorphisms.
Typeclasses #
References #
The type of Esakia morphisms, aka continuous pseudo-epimorphisms, from α
to β
.
- toFun : α → β
- continuous_toFun : Continuous self.toFun
Instances For
PseudoEpimorphismClass F α β
states that F
is a type of ⊔
-preserving morphisms.
You should extend this class when you extend PseudoEpimorphism
.
Instances
EsakiaHomClass F α β
states that F
is a type of lattice morphisms.
You should extend this class when you extend EsakiaHom
.
Instances
Equations
- instCoeTCPseudoEpimorphismOfPseudoEpimorphismClass = { coe := fun (f : F) => { toOrderHom := ↑f, exists_map_eq_of_map_le' := ⋯ } }
Equations
- instCoeTCEsakiaHomOfEsakiaHomClass = { coe := fun (f : F) => { toContinuousOrderHom := ↑f, exists_map_eq_of_map_le' := ⋯ } }
Pseudo-epimorphisms #
Equations
- PseudoEpimorphism.instFunLike = { coe := fun (f : PseudoEpimorphism α β) => f.toFun, coe_injective' := ⋯ }
Copy of a PseudoEpimorphism
with a new toFun
equal to the old one. Useful to fix
definitional equalities.
Equations
- f.copy f' h = { toOrderHom := f.copy f' h, exists_map_eq_of_map_le' := ⋯ }
Instances For
id
as a PseudoEpimorphism
.
Equations
- PseudoEpimorphism.id α = { toOrderHom := OrderHom.id, exists_map_eq_of_map_le' := ⋯ }
Instances For
Equations
- PseudoEpimorphism.instInhabited α = { default := PseudoEpimorphism.id α }
Composition of PseudoEpimorphism
s as a PseudoEpimorphism
.
Equations
- g.comp f = { toOrderHom := g.comp f.toOrderHom, exists_map_eq_of_map_le' := ⋯ }
Instances For
Esakia morphisms #
Equations
- f.toPseudoEpimorphism = { toOrderHom := f.toOrderHom, exists_map_eq_of_map_le' := ⋯ }
Instances For
Copy of an EsakiaHom
with a new toFun
equal to the old one. Useful to fix definitional
equalities.
Equations
- f.copy f' h = { toContinuousOrderHom := f.copy f' h, exists_map_eq_of_map_le' := ⋯ }
Instances For
Equations
- EsakiaHom.id α = { toContinuousOrderHom := ContinuousOrderHom.id α, exists_map_eq_of_map_le' := ⋯ }
Instances For
Equations
- EsakiaHom.instInhabited α = { default := EsakiaHom.id α }
Composition of EsakiaHom
s as an EsakiaHom
.
Equations
- g.comp f = { toContinuousOrderHom := g.comp f.toContinuousOrderHom, exists_map_eq_of_map_le' := ⋯ }