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
        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
        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
              @[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.
              Instances For
                @[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.
                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
                  • One or more equations did not get rendered due to their size.
                  Instances For