Documentation

Mathlib.Order.Hom.BoundedLattice

Bounded lattice homomorphisms #

This file defines bounded lattice homomorphisms.

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 #

Typeclasses #

TODO #

Do we need more intersections between BotHom, TopHom and lattice homomorphisms?

structure SupBotHom (α : Type u_6) (β : Type u_7) [Max α] [Max β] [Bot α] [Bot β] extends SupHom α β :
Type (max u_6 u_7)

The type of finitary supremum-preserving homomorphisms from α to β.

Instances For
    structure InfTopHom (α : Type u_6) (β : Type u_7) [Min α] [Min β] [Top α] [Top β] extends InfHom α β :
    Type (max u_6 u_7)

    The type of finitary infimum-preserving homomorphisms from α to β.

    Instances For
      structure BoundedLatticeHom (α : Type u_6) (β : Type u_7) [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] extends LatticeHom α β :
      Type (max u_6 u_7)

      The type of bounded lattice homomorphisms from α to β.

      Instances For
        class SupBotHomClass (F : Type u_6) (α : Type u_7) (β : Type u_8) [Max α] [Max β] [Bot α] [Bot β] [FunLike F α β] extends SupHomClass F α β :

        SupBotHomClass F α β states that F is a type of finitary supremum-preserving morphisms.

        You should extend this class when you extend SupBotHom.

        Instances
          class InfTopHomClass (F : Type u_6) (α : Type u_7) (β : Type u_8) [Min α] [Min β] [Top α] [Top β] [FunLike F α β] extends InfHomClass F α β :

          InfTopHomClass F α β states that F is a type of finitary infimum-preserving morphisms.

          You should extend this class when you extend SupBotHom.

          Instances
            class BoundedLatticeHomClass (F : Type u_6) (α : Type u_7) (β : Type u_8) [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [FunLike F α β] extends LatticeHomClass F α β :

            BoundedLatticeHomClass F α β states that F is a type of bounded lattice morphisms.

            You should extend this class when you extend BoundedLatticeHom.

            Instances
              @[instance 100]
              instance SupBotHomClass.toBotHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Max α] [Max β] [Bot α] [Bot β] [SupBotHomClass F α β] :
              BotHomClass F α β
              @[instance 100]
              instance InfTopHomClass.toTopHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Min α] [Min β] [Top α] [Top β] [InfTopHomClass F α β] :
              TopHomClass F α β
              @[instance 100]
              instance BoundedLatticeHomClass.toSupBotHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
              @[instance 100]
              instance BoundedLatticeHomClass.toInfTopHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
              @[instance 100]
              instance BoundedLatticeHomClass.toBoundedOrderHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
              @[instance 100]
              instance OrderIsoClass.toSupBotHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [EquivLike F α β] [SemilatticeSup α] [OrderBot α] [SemilatticeSup β] [OrderBot β] [OrderIsoClass F α β] :
              @[instance 100]
              instance OrderIsoClass.toInfTopHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [EquivLike F α β] [SemilatticeInf α] [OrderTop α] [SemilatticeInf β] [OrderTop β] [OrderIsoClass F α β] :
              @[instance 100]
              instance OrderIsoClass.toBoundedLatticeHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [EquivLike F α β] [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [OrderIsoClass F α β] :
              theorem Disjoint.map {F : Type u_1} {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [FunLike F α β] [OrderBot α] [OrderBot β] [BotHomClass F α β] [InfHomClass F α β] {a b : α} (f : F) (h : Disjoint a b) :
              Disjoint (f a) (f b)
              theorem Codisjoint.map {F : Type u_1} {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [FunLike F α β] [OrderTop α] [OrderTop β] [TopHomClass F α β] [SupHomClass F α β] {a b : α} (f : F) (h : Codisjoint a b) :
              Codisjoint (f a) (f b)
              theorem IsCompl.map {F : Type u_1} {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [FunLike F α β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] {a b : α} (f : F) (h : IsCompl a b) :
              IsCompl (f a) (f b)
              theorem map_compl' {F : Type u_1} {α : Type u_2} {β : Type u_3} [BooleanAlgebra α] [BooleanAlgebra β] [FunLike F α β] [BoundedLatticeHomClass F α β] (f : F) (a : α) :
              f a = (f a)

              Special case of map_compl for boolean algebras.

              theorem map_sdiff' {F : Type u_1} {α : Type u_2} {β : Type u_3} [BooleanAlgebra α] [BooleanAlgebra β] [FunLike F α β] [BoundedLatticeHomClass F α β] (f : F) (a b : α) :
              f (a \ b) = f a \ f b

              Special case of map_sdiff for boolean algebras.

              theorem map_symmDiff' {F : Type u_1} {α : Type u_2} {β : Type u_3} [BooleanAlgebra α] [BooleanAlgebra β] [FunLike F α β] [BoundedLatticeHomClass F α β] (f : F) (a b : α) :
              f (symmDiff a b) = symmDiff (f a) (f b)

              Special case of map_symmDiff for boolean algebras.

              instance instCoeTCSupBotHomOfSupBotHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Max α] [Max β] [Bot α] [Bot β] [SupBotHomClass F α β] :
              CoeTC F (SupBotHom α β)
              Equations
                instance instCoeTCInfTopHomOfInfTopHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Min α] [Min β] [Top α] [Top β] [InfTopHomClass F α β] :
                CoeTC F (InfTopHom α β)
                Equations
                  instance instCoeTCBoundedLatticeHomOfBoundedLatticeHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
                  Equations

                    Finitary supremum homomorphisms #

                    def SupBotHom.toBotHom {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) :
                    BotHom α β

                    Reinterpret a SupBotHom as a BotHom.

                    Equations
                      Instances For
                        instance SupBotHom.instFunLike {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] :
                        FunLike (SupBotHom α β) α β
                        Equations
                          instance SupBotHom.instSupBotHomClass {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] :
                          theorem SupBotHom.toFun_eq_coe {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) :
                          f.toFun = f
                          @[simp]
                          theorem SupBotHom.coe_toSupHom {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) :
                          f.toSupHom = f
                          @[simp]
                          theorem SupBotHom.coe_toBotHom {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) :
                          f.toBotHom = f
                          @[simp]
                          theorem SupBotHom.coe_mk {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupHom α β) (hf : f.toFun = ) :
                          { toSupHom := f, map_bot' := hf } = f
                          theorem SupBotHom.ext {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] {f g : SupBotHom α β} (h : ∀ (a : α), f a = g a) :
                          f = g
                          theorem SupBotHom.ext_iff {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] {f g : SupBotHom α β} :
                          f = g ∀ (a : α), f a = g a
                          def SupBotHom.copy {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) (f' : αβ) (h : f' = f) :
                          SupBotHom α β

                          Copy of a SupBotHom with a new toFun equal to the old one. Useful to fix definitional equalities.

                          Equations
                            Instances For
                              @[simp]
                              theorem SupBotHom.coe_copy {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) (f' : αβ) (h : f' = f) :
                              (f.copy f' h) = f'
                              theorem SupBotHom.copy_eq {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) (f' : αβ) (h : f' = f) :
                              f.copy f' h = f
                              def SupBotHom.id (α : Type u_2) [Max α] [Bot α] :
                              SupBotHom α α

                              id as a SupBotHom.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem SupBotHom.id_toSupHom (α : Type u_2) [Max α] [Bot α] :
                                  instance SupBotHom.instInhabited (α : Type u_2) [Max α] [Bot α] :
                                  Equations
                                    @[simp]
                                    theorem SupBotHom.coe_id (α : Type u_2) [Max α] [Bot α] :
                                    (SupBotHom.id α) = id
                                    @[simp]
                                    theorem SupBotHom.id_apply {α : Type u_2} [Max α] [Bot α] (a : α) :
                                    (SupBotHom.id α) a = a
                                    def SupBotHom.comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (f : SupBotHom β γ) (g : SupBotHom α β) :
                                    SupBotHom α γ

                                    Composition of SupBotHoms as a SupBotHom.

                                    Equations
                                      Instances For
                                        @[simp]
                                        theorem SupBotHom.coe_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (f : SupBotHom β γ) (g : SupBotHom α β) :
                                        (f.comp g) = f g
                                        @[simp]
                                        theorem SupBotHom.comp_apply {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (f : SupBotHom β γ) (g : SupBotHom α β) (a : α) :
                                        (f.comp g) a = f (g a)
                                        @[simp]
                                        theorem SupBotHom.comp_assoc {α : Type u_2} {β : Type u_3} {γ : Type u_4} {δ : Type u_5} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] [Max δ] [Bot δ] (f : SupBotHom γ δ) (g : SupBotHom β γ) (h : SupBotHom α β) :
                                        (f.comp g).comp h = f.comp (g.comp h)
                                        @[simp]
                                        theorem SupBotHom.comp_id {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) :
                                        @[simp]
                                        theorem SupBotHom.id_comp {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] (f : SupBotHom α β) :
                                        @[simp]
                                        theorem SupBotHom.cancel_right {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] {g₁ g₂ : SupBotHom β γ} {f : SupBotHom α β} (hf : Function.Surjective f) :
                                        g₁.comp f = g₂.comp f g₁ = g₂
                                        @[simp]
                                        theorem SupBotHom.cancel_left {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] {g : SupBotHom β γ} {f₁ f₂ : SupBotHom α β} (hg : Function.Injective g) :
                                        g.comp f₁ = g.comp f₂ f₁ = f₂
                                        instance SupBotHom.instMax {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] :
                                        Max (SupBotHom α β)
                                        Equations
                                          instance SupBotHom.instSemilatticeSup {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] :
                                          Equations
                                            instance SupBotHom.instOrderBot {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] :
                                            Equations
                                              @[simp]
                                              theorem SupBotHom.coe_sup {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] (f g : SupBotHom α β) :
                                              (fg) = (fg)
                                              @[simp]
                                              theorem SupBotHom.coe_bot {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] :
                                              =
                                              @[simp]
                                              theorem SupBotHom.sup_apply {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] (f g : SupBotHom α β) (a : α) :
                                              (fg) a = f ag a
                                              @[simp]
                                              theorem SupBotHom.bot_apply {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [SemilatticeSup β] [OrderBot β] (a : α) :
                                              def SupBotHom.subtypeVal {β : Type u_3} [SemilatticeSup β] [OrderBot β] {P : βProp} (Pbot : P ) (Psup : ∀ ⦃x y : β⦄, P xP yP (xy)) :
                                              SupBotHom { x : β // P x } β

                                              Subtype.val as a SupBotHom.

                                              Equations
                                                Instances For
                                                  @[simp]
                                                  theorem SupBotHom.subtypeVal_apply {β : Type u_3} [SemilatticeSup β] [OrderBot β] {P : βProp} (Pbot : P ) (Psup : ∀ ⦃x y : β⦄, P xP yP (xy)) (x : { x : β // P x }) :
                                                  (subtypeVal Pbot Psup) x = x
                                                  @[simp]
                                                  theorem SupBotHom.subtypeVal_coe {β : Type u_3} [SemilatticeSup β] [OrderBot β] {P : βProp} (Pbot : P ) (Psup : ∀ ⦃x y : β⦄, P xP yP (xy)) :
                                                  (subtypeVal Pbot Psup) = Subtype.val

                                                  Finitary infimum homomorphisms #

                                                  def InfTopHom.toTopHom {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                  TopHom α β

                                                  Reinterpret an InfTopHom as a TopHom.

                                                  Equations
                                                    Instances For
                                                      instance InfTopHom.instFunLike {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] :
                                                      FunLike (InfTopHom α β) α β
                                                      Equations
                                                        instance InfTopHom.instInfTopHomClass {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] :
                                                        theorem InfTopHom.toFun_eq_coe {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                        f.toFun = f
                                                        @[simp]
                                                        theorem InfTopHom.coe_toInfHom {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                        f.toInfHom = f
                                                        @[simp]
                                                        theorem InfTopHom.coe_toTopHom {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                        f.toTopHom = f
                                                        @[simp]
                                                        theorem InfTopHom.coe_mk {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfHom α β) (hf : f.toFun = ) :
                                                        { toInfHom := f, map_top' := hf } = f
                                                        theorem InfTopHom.ext {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] {f g : InfTopHom α β} (h : ∀ (a : α), f a = g a) :
                                                        f = g
                                                        theorem InfTopHom.ext_iff {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] {f g : InfTopHom α β} :
                                                        f = g ∀ (a : α), f a = g a
                                                        def InfTopHom.copy {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) (f' : αβ) (h : f' = f) :
                                                        InfTopHom α β

                                                        Copy of an InfTopHom with a new toFun equal to the old one. Useful to fix definitional equalities.

                                                        Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem InfTopHom.coe_copy {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) (f' : αβ) (h : f' = f) :
                                                            (f.copy f' h) = f'
                                                            theorem InfTopHom.copy_eq {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) (f' : αβ) (h : f' = f) :
                                                            f.copy f' h = f
                                                            def InfTopHom.id (α : Type u_2) [Min α] [Top α] :
                                                            InfTopHom α α

                                                            id as an InfTopHom.

                                                            Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem InfTopHom.id_toInfHom (α : Type u_2) [Min α] [Top α] :
                                                                instance InfTopHom.instInhabited (α : Type u_2) [Min α] [Top α] :
                                                                Equations
                                                                  @[simp]
                                                                  theorem InfTopHom.coe_id (α : Type u_2) [Min α] [Top α] :
                                                                  (InfTopHom.id α) = id
                                                                  @[simp]
                                                                  theorem InfTopHom.id_apply {α : Type u_2} [Min α] [Top α] (a : α) :
                                                                  (InfTopHom.id α) a = a
                                                                  def InfTopHom.comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (f : InfTopHom β γ) (g : InfTopHom α β) :
                                                                  InfTopHom α γ

                                                                  Composition of InfTopHoms as an InfTopHom.

                                                                  Equations
                                                                    Instances For
                                                                      @[simp]
                                                                      theorem InfTopHom.coe_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (f : InfTopHom β γ) (g : InfTopHom α β) :
                                                                      (f.comp g) = f g
                                                                      @[simp]
                                                                      theorem InfTopHom.comp_apply {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (f : InfTopHom β γ) (g : InfTopHom α β) (a : α) :
                                                                      (f.comp g) a = f (g a)
                                                                      @[simp]
                                                                      theorem InfTopHom.comp_assoc {α : Type u_2} {β : Type u_3} {γ : Type u_4} {δ : Type u_5} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] [Min δ] [Top δ] (f : InfTopHom γ δ) (g : InfTopHom β γ) (h : InfTopHom α β) :
                                                                      (f.comp g).comp h = f.comp (g.comp h)
                                                                      @[simp]
                                                                      theorem InfTopHom.comp_id {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                                      @[simp]
                                                                      theorem InfTopHom.id_comp {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                                      @[simp]
                                                                      theorem InfTopHom.cancel_right {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] {g₁ g₂ : InfTopHom β γ} {f : InfTopHom α β} (hf : Function.Surjective f) :
                                                                      g₁.comp f = g₂.comp f g₁ = g₂
                                                                      @[simp]
                                                                      theorem InfTopHom.cancel_left {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] {g : InfTopHom β γ} {f₁ f₂ : InfTopHom α β} (hg : Function.Injective g) :
                                                                      g.comp f₁ = g.comp f₂ f₁ = f₂
                                                                      instance InfTopHom.instMin {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] :
                                                                      Min (InfTopHom α β)
                                                                      Equations
                                                                        instance InfTopHom.instSemilatticeInf {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] :
                                                                        Equations
                                                                          instance InfTopHom.instOrderTop {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] :
                                                                          Equations
                                                                            @[simp]
                                                                            theorem InfTopHom.coe_inf {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] (f g : InfTopHom α β) :
                                                                            (fg) = (fg)
                                                                            @[simp]
                                                                            theorem InfTopHom.coe_top {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] :
                                                                            =
                                                                            @[simp]
                                                                            theorem InfTopHom.inf_apply {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] (f g : InfTopHom α β) (a : α) :
                                                                            (fg) a = f ag a
                                                                            @[simp]
                                                                            theorem InfTopHom.top_apply {α : Type u_2} {β : Type u_3} [Min α] [Top α] [SemilatticeInf β] [OrderTop β] (a : α) :
                                                                            def InfTopHom.subtypeVal {β : Type u_3} [SemilatticeInf β] [OrderTop β] {P : βProp} (Ptop : P ) (Pinf : ∀ ⦃x y : β⦄, P xP yP (xy)) :
                                                                            InfTopHom { x : β // P x } β

                                                                            Subtype.val as an InfTopHom.

                                                                            Equations
                                                                              Instances For
                                                                                @[simp]
                                                                                theorem InfTopHom.subtypeVal_apply {β : Type u_3} [SemilatticeInf β] [OrderTop β] {P : βProp} (Ptop : P ) (Pinf : ∀ ⦃x y : β⦄, P xP yP (xy)) (x : { x : β // P x }) :
                                                                                (subtypeVal Ptop Pinf) x = x
                                                                                @[simp]
                                                                                theorem InfTopHom.subtypeVal_coe {β : Type u_3} [SemilatticeInf β] [OrderTop β] {P : βProp} (Ptop : P ) (Pinf : ∀ ⦃x y : β⦄, P xP yP (xy)) :
                                                                                (subtypeVal Ptop Pinf) = Subtype.val

                                                                                Bounded lattice homomorphisms #

                                                                                def BoundedLatticeHom.toSupBotHom {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                SupBotHom α β

                                                                                Reinterpret a BoundedLatticeHom as a SupBotHom.

                                                                                Equations
                                                                                  Instances For
                                                                                    def BoundedLatticeHom.toInfTopHom {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                    InfTopHom α β

                                                                                    Reinterpret a BoundedLatticeHom as an InfTopHom.

                                                                                    Equations
                                                                                      Instances For

                                                                                        Reinterpret a BoundedLatticeHom as a BoundedOrderHom.

                                                                                        Equations
                                                                                          Instances For
                                                                                            instance BoundedLatticeHom.instFunLike {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] :
                                                                                            Equations
                                                                                              @[simp]
                                                                                              theorem BoundedLatticeHom.toFun_eq_coe {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                              f.toFun = f
                                                                                              @[simp]
                                                                                              theorem BoundedLatticeHom.coe_toLatticeHom {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                              f.toLatticeHom = f
                                                                                              @[simp]
                                                                                              theorem BoundedLatticeHom.coe_toSupBotHom {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                              f.toSupBotHom = f
                                                                                              @[simp]
                                                                                              theorem BoundedLatticeHom.coe_toInfTopHom {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                              f.toInfTopHom = f
                                                                                              @[simp]
                                                                                              theorem BoundedLatticeHom.coe_toBoundedOrderHom {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                              @[simp]
                                                                                              theorem BoundedLatticeHom.coe_mk {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : LatticeHom α β) (hf : f.toFun = ) (hf' : f.toFun = ) :
                                                                                              { toLatticeHom := f, map_top' := hf, map_bot' := hf' } = f
                                                                                              theorem BoundedLatticeHom.ext {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] {f g : BoundedLatticeHom α β} (h : ∀ (a : α), f a = g a) :
                                                                                              f = g
                                                                                              theorem BoundedLatticeHom.ext_iff {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] {f g : BoundedLatticeHom α β} :
                                                                                              f = g ∀ (a : α), f a = g a
                                                                                              def BoundedLatticeHom.copy {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) (f' : αβ) (h : f' = f) :

                                                                                              Copy of a BoundedLatticeHom with a new toFun equal to the old one. Useful to fix definitional equalities.

                                                                                              Equations
                                                                                                Instances For
                                                                                                  @[simp]
                                                                                                  theorem BoundedLatticeHom.coe_copy {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) (f' : αβ) (h : f' = f) :
                                                                                                  (f.copy f' h) = f'
                                                                                                  theorem BoundedLatticeHom.copy_eq {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) (f' : αβ) (h : f' = f) :
                                                                                                  f.copy f' h = f

                                                                                                  id as a BoundedLatticeHom.

                                                                                                  Equations
                                                                                                    Instances For
                                                                                                      @[simp]
                                                                                                      @[simp]
                                                                                                      theorem BoundedLatticeHom.id_apply {α : Type u_2} [Lattice α] [BoundedOrder α] (a : α) :
                                                                                                      def BoundedLatticeHom.comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :

                                                                                                      Composition of BoundedLatticeHoms as a BoundedLatticeHom.

                                                                                                      Equations
                                                                                                        Instances For
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.coe_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          (f.comp g) = f g
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.comp_apply {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) (a : α) :
                                                                                                          (f.comp g) a = f (g a)
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.coe_comp_lattice_hom' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          { toSupHom := { toFun := f, map_sup' := }.comp { toFun := g, map_sup' := }, map_inf' := } = { toFun := f, map_sup' := , map_inf' := }.comp { toFun := g, map_sup' := , map_inf' := }
                                                                                                          theorem BoundedLatticeHom.coe_comp_lattice_hom {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          { toFun := (f.comp g), map_sup' := , map_inf' := } = { toFun := f, map_sup' := , map_inf' := }.comp { toFun := g, map_sup' := , map_inf' := }
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.coe_comp_sup_hom' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          { toFun := f g, map_sup' := } = { toFun := f, map_sup' := }.comp { toFun := g, map_sup' := }
                                                                                                          theorem BoundedLatticeHom.coe_comp_sup_hom {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          { toFun := (f.comp g), map_sup' := } = { toFun := f, map_sup' := }.comp { toFun := g, map_sup' := }
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.coe_comp_inf_hom' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          { toFun := f g, map_inf' := } = { toFun := f, map_inf' := }.comp { toFun := g, map_inf' := }
                                                                                                          theorem BoundedLatticeHom.coe_comp_inf_hom {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                                          { toFun := (f.comp g), map_inf' := } = { toFun := f, map_inf' := }.comp { toFun := g, map_inf' := }
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.comp_assoc {α : Type u_2} {β : Type u_3} {γ : Type u_4} {δ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [Lattice δ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] [BoundedOrder δ] (f : BoundedLatticeHom γ δ) (g : BoundedLatticeHom β γ) (h : BoundedLatticeHom α β) :
                                                                                                          (f.comp g).comp h = f.comp (g.comp h)
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.comp_id {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.id_comp {α : Type u_2} {β : Type u_3} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.cancel_right {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] {g₁ g₂ : BoundedLatticeHom β γ} {f : BoundedLatticeHom α β} (hf : Function.Surjective f) :
                                                                                                          g₁.comp f = g₂.comp f g₁ = g₂
                                                                                                          @[simp]
                                                                                                          theorem BoundedLatticeHom.cancel_left {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] {g : BoundedLatticeHom β γ} {f₁ f₂ : BoundedLatticeHom α β} (hg : Function.Injective g) :
                                                                                                          g.comp f₁ = g.comp f₂ f₁ = f₂
                                                                                                          def BoundedLatticeHom.subtypeVal {β : Type u_3} [Lattice β] [BoundedOrder β] {P : βProp} (Pbot : P ) (Ptop : P ) (Psup : ∀ ⦃x y : β⦄, P xP yP (xy)) (Pinf : ∀ ⦃x y : β⦄, P xP yP (xy)) :
                                                                                                          BoundedLatticeHom { x : β // P x } β

                                                                                                          Subtype.val as a BoundedLatticeHom.

                                                                                                          Equations
                                                                                                            Instances For
                                                                                                              @[simp]
                                                                                                              theorem BoundedLatticeHom.subtypeVal_apply {β : Type u_3} [Lattice β] [BoundedOrder β] {P : βProp} (Pbot : P ) (Ptop : P ) (Psup : ∀ ⦃x y : β⦄, P xP yP (xy)) (Pinf : ∀ ⦃x y : β⦄, P xP yP (xy)) (x : { x : β // P x }) :
                                                                                                              (subtypeVal Pbot Ptop Psup Pinf) x = x
                                                                                                              @[simp]
                                                                                                              theorem BoundedLatticeHom.subtypeVal_coe {β : Type u_3} [Lattice β] [BoundedOrder β] {P : βProp} (Pbot : P ) (Ptop : P ) (Psup : ∀ ⦃x y : β⦄, P xP yP (xy)) (Pinf : ∀ ⦃x y : β⦄, P xP yP (xy)) :
                                                                                                              (subtypeVal Pbot Ptop Psup Pinf) = Subtype.val

                                                                                                              Dual homs #

                                                                                                              def SupBotHom.dual {α : Type u_2} {β : Type u_3} [Max α] [Bot α] [Max β] [Bot β] :

                                                                                                              Reinterpret a finitary supremum homomorphism as a finitary infimum homomorphism between the dual lattices.

                                                                                                              Equations
                                                                                                                Instances For
                                                                                                                  @[simp]
                                                                                                                  theorem SupBotHom.dual_id {α : Type u_2} [Max α] [Bot α] :
                                                                                                                  @[simp]
                                                                                                                  theorem SupBotHom.dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (g : SupBotHom β γ) (f : SupBotHom α β) :
                                                                                                                  dual (g.comp f) = (dual g).comp (dual f)
                                                                                                                  @[simp]
                                                                                                                  @[simp]
                                                                                                                  theorem SupBotHom.symm_dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (g : InfTopHom βᵒᵈ γᵒᵈ) (f : InfTopHom αᵒᵈ βᵒᵈ) :
                                                                                                                  dual.symm (g.comp f) = (dual.symm g).comp (dual.symm f)
                                                                                                                  def InfTopHom.dual {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] :

                                                                                                                  Reinterpret a finitary infimum homomorphism as a finitary supremum homomorphism between the dual lattices.

                                                                                                                  Equations
                                                                                                                    Instances For
                                                                                                                      @[simp]
                                                                                                                      @[simp]
                                                                                                                      theorem InfTopHom.dual_apply_toSupHom {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                                                                                      @[simp]
                                                                                                                      @[simp]
                                                                                                                      theorem InfTopHom.dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (g : InfTopHom β γ) (f : InfTopHom α β) :
                                                                                                                      @[simp]
                                                                                                                      theorem InfTopHom.symm_dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (g : SupBotHom βᵒᵈ γᵒᵈ) (f : SupBotHom αᵒᵈ βᵒᵈ) :

                                                                                                                      Reinterpret a bounded lattice homomorphism as a bounded lattice homomorphism between the dual bounded lattices.

                                                                                                                      Equations
                                                                                                                        Instances For