Documentation

Mathlib.Order.Category.DistLat

The category of distributive lattices #

This file defines DistLat, the category of distributive lattices.

Note that DistLat in the literature doesn't always correspond to DistLat as we don't require bottom or top elements. Instead, this DistLat corresponds to BddDistLat.

structure DistLat :
Type (u_1 + 1)

The category of distributive lattices.

@[reducible, inline]
abbrev DistLat.of (X : Type u_1) [DistribLattice X] :

Construct a bundled DistLat from the underlying type and typeclass.

Equations
structure DistLat.Hom (X Y : DistLat) :

The type of morphisms in DistLat R.

theorem DistLat.Hom.ext {X Y : DistLat} {x y : X.Hom Y} (hom' : x.hom' = y.hom') :
x = y
theorem DistLat.Hom.ext_iff {X Y : DistLat} {x y : X.Hom Y} :
x = y x.hom' = y.hom'
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev DistLat.Hom.hom {X Y : DistLat} (f : X.Hom Y) :
LatticeHom X Y

Turn a morphism in DistLat back into a LatticeHom.

Equations
@[reducible, inline]
abbrev DistLat.ofHom {X Y : Type u} [DistribLattice X] [DistribLattice Y] (f : LatticeHom X Y) :
of X of Y

Typecheck a LatticeHom as a morphism in DistLat.

Equations
def DistLat.Hom.Simps.hom (X Y : DistLat) (f : X.Hom Y) :
LatticeHom X Y

Use the ConcreteCategory.hom projection for @[simps] lemmas.

Equations

The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.

theorem DistLat.ext {X Y : DistLat} {f g : X Y} (w : ∀ (x : X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x) :
f = g
theorem DistLat.coe_of (X : Type u) [DistribLattice X] :
(of X) = X
@[simp]
theorem DistLat.hom_comp {X Y Z : DistLat} (f : X Y) (g : Y Z) :
theorem DistLat.hom_ext {X Y : DistLat} {f g : X Y} (hf : Hom.hom f = Hom.hom g) :
f = g
theorem DistLat.hom_ext_iff {X Y : DistLat} {f g : X Y} :
@[simp]
theorem DistLat.hom_ofHom {X Y : Type u} [DistribLattice X] [DistribLattice Y] (f : LatticeHom X Y) :
@[simp]
theorem DistLat.ofHom_hom {X Y : DistLat} (f : X Y) :
Equations
  • One or more equations did not get rendered due to their size.
def DistLat.Iso.mk {α β : DistLat} (e : α ≃o β) :
α β

Constructs an equivalence between distributive lattices from an order isomorphism between them.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem DistLat.Iso.mk_inv {α β : DistLat} (e : α ≃o β) :
(mk e).inv = ofHom { toFun := e.symm, map_sup' := , map_inf' := }
@[simp]
theorem DistLat.Iso.mk_hom {α β : DistLat} (e : α ≃o β) :
(mk e).hom = ofHom { toFun := e, map_sup' := , map_inf' := }

OrderDual as a functor.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem DistLat.dual_map {X✝ Y✝ : DistLat} (f : X✝ Y✝) :

The equivalence between DistLat and itself induced by OrderDual both ways.

Equations
  • One or more equations did not get rendered due to their size.