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.

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

    Construct a bundled DistLat from the underlying type and typeclass.

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

        The type of morphisms in DistLat R.

        Instances For
          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'
          @[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
            Instances For
              @[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
                Instances For
                  def DistLat.Hom.Simps.hom (X Y : DistLat) (f : X.Hom Y) :
                  LatticeHom X Y

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

                  Equations
                    Instances For

                      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) :
                      def DistLat.Iso.mk {α β : DistLat} (e : α ≃o β) :
                      α β

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

                      Equations
                        Instances For
                          @[simp]
                          theorem DistLat.Iso.mk_hom {α β : DistLat} (e : α ≃o β) :
                          (mk e).hom = ofHom { toFun := e, map_sup' := , map_inf' := }
                          @[simp]
                          theorem DistLat.Iso.mk_inv {α β : DistLat} (e : α ≃o β) :
                          (mk e).inv = ofHom { toFun := e.symm, map_sup' := , map_inf' := }

                          OrderDual as a functor.

                          Equations
                            Instances For
                              @[simp]
                              theorem DistLat.dual_map {X✝ Y✝ : DistLat} (f : X✝ Y✝) :

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

                              Equations
                                Instances For