The category of lattices #
This defines Lat
, the category of lattices.
Note that Lat
doesn't correspond to the literature definition of [Lat
]
(https://ncatlab.org/nlab/show/Lat) as we don't require bottom or top elements. Instead, Lat
corresponds to BddLat
.
TODO #
The free functor from Lat
to BddLat
is X → WithTop (WithBot X)
.
Equations
- Lat.instCoeSortType = { coe := Lat.carrier }
instance
Lat.instConcreteCategoryLatticeHomCarrier :
CategoryTheory.ConcreteCategory Lat fun (x1 x2 : Lat) => LatticeHom ↑x1 ↑x2
Equations
- One or more equations did not get rendered due to their size.
Use the ConcreteCategory.hom
projection for @[simps]
lemmas.
Equations
- Lat.Hom.Simps.hom X Y f = f.hom
Instances For
The results below duplicate the ConcreteCategory
simp lemmas, but we can keep them for dsimp
.
@[simp]
@[simp]
@[simp]
theorem
Lat.ext
{X Y : Lat}
{f g : X ⟶ Y}
(w : ∀ (x : ↑X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x)
:
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Lat.ofHom_comp
{X Y Z : Type u}
[Lattice X]
[Lattice Y]
[Lattice Z]
(f : LatticeHom X Y)
(g : LatticeHom Y Z)
:
Equations
- One or more equations did not get rendered due to their size.
Constructs an isomorphism of lattices from an order isomorphism between them.
Equations
- Lat.Iso.mk e = { hom := Lat.ofHom { toFun := ⇑e, map_sup' := ⋯, map_inf' := ⋯ }, inv := Lat.ofHom { toFun := ⇑e.symm, map_sup' := ⋯, map_inf' := ⋯ }, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
@[simp]