Documentation

Mathlib.Order.Hom.Lattice

Lattice homomorphisms #

This file defines (bounded) lattice homomorphisms.

We use the FunLike 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 SupHom (α : Type u_7) (β : Type u_8) [Sup α] [Sup β] :
Type (max u_7 u_8)

The type of -preserving functions from α to β.

Instances For
    structure InfHom (α : Type u_7) (β : Type u_8) [Inf α] [Inf β] :
    Type (max u_7 u_8)

    The type of -preserving functions from α to β.

    Instances For
      structure SupBotHom (α : Type u_7) (β : Type u_8) [Sup α] [Sup β] [Bot α] [Bot β] extends SupHom :
      Type (max u_7 u_8)

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

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

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

        Instances For
          structure LatticeHom (α : Type u_7) (β : Type u_8) [Lattice α] [Lattice β] extends SupHom :
          Type (max u_7 u_8)

          The type of lattice homomorphisms from α to β.

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

            The type of bounded lattice homomorphisms from α to β.

            Instances For
              class SupHomClass (F : Type u_7) (α : outParam (Type u_8)) (β : outParam (Type u_9)) [Sup α] [Sup β] extends FunLike :
              Type (max (max u_7 u_8) u_9)

              SupHomClass F α β states that F is a type of -preserving morphisms.

              You should extend this class when you extend SupHom.

              Instances
                class InfHomClass (F : Type u_7) (α : outParam (Type u_8)) (β : outParam (Type u_9)) [Inf α] [Inf β] extends FunLike :
                Type (max (max u_7 u_8) u_9)

                InfHomClass F α β states that F is a type of -preserving morphisms.

                You should extend this class when you extend InfHom.

                Instances
                  class SupBotHomClass (F : Type u_7) (α : outParam (Type u_8)) (β : outParam (Type u_9)) [Sup α] [Sup β] [Bot α] [Bot β] extends SupHomClass :
                  Type (max (max u_7 u_8) u_9)

                  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_7) (α : outParam (Type u_8)) (β : outParam (Type u_9)) [Inf α] [Inf β] [Top α] [Top β] extends InfHomClass :
                    Type (max (max u_7 u_8) u_9)

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

                    You should extend this class when you extend SupBotHom.

                    Instances
                      class LatticeHomClass (F : Type u_7) (α : outParam (Type u_8)) (β : outParam (Type u_9)) [Lattice α] [Lattice β] extends SupHomClass :
                      Type (max (max u_7 u_8) u_9)
                      • coe : Fαβ
                      • coe_injective' : Function.Injective FunLike.coe
                      • map_sup : ∀ (f : F) (a b : α), f (a b) = f a f b
                      • map_inf : ∀ (f : F) (a b : α), f (a b) = f a f b

                        A LatticeHomClass morphism preserves infima.

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

                      You should extend this class when you extend LatticeHom.

                      Instances
                        class BoundedLatticeHomClass (F : Type u_7) (α : outParam (Type u_8)) (β : outParam (Type u_9)) [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] extends LatticeHomClass :
                        Type (max (max u_7 u_8) u_9)

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

                        You should extend this class when you extend BoundedLatticeHom.

                        Instances
                          instance SupHomClass.toOrderHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] [SupHomClass F α β] :
                          Equations
                          • SupHomClass.toOrderHomClass = let src := inst; RelHomClass.mk (_ : ∀ (f : F) (a b : α), a bf a f b)
                          instance InfHomClass.toOrderHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] [InfHomClass F α β] :
                          Equations
                          • InfHomClass.toOrderHomClass = let src := inst; RelHomClass.mk (_ : ∀ (f : F) (a b : α), a bf a f b)
                          instance SupBotHomClass.toBotHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] [Bot α] [Bot β] [SupBotHomClass F α β] :
                          BotHomClass F α β
                          Equations
                          instance InfTopHomClass.toTopHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] [Top α] [Top β] [InfTopHomClass F α β] :
                          TopHomClass F α β
                          Equations
                          instance LatticeHomClass.toInfHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [LatticeHomClass F α β] :
                          InfHomClass F α β
                          Equations
                          • LatticeHomClass.toInfHomClass = let src := inst; InfHomClass.mk (_ : ∀ (f : F) (a b : α), f (a b) = f a f b)
                          instance BoundedLatticeHomClass.toSupBotHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
                          Equations
                          instance BoundedLatticeHomClass.toInfTopHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
                          Equations
                          Equations
                          • One or more equations did not get rendered due to their size.
                          instance OrderIsoClass.toSupHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] [OrderIsoClass F α β] :
                          SupHomClass F α β
                          Equations
                          • OrderIsoClass.toSupHomClass = let src := let_fun this := inferInstance; this; SupHomClass.mk (_ : ∀ (f : F) (a b : α), f (a b) = f a f b)
                          instance OrderIsoClass.toInfHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] [OrderIsoClass F α β] :
                          InfHomClass F α β
                          Equations
                          • OrderIsoClass.toInfHomClass = let src := let_fun this := inferInstance; this; InfHomClass.mk (_ : ∀ (f : F) (a b : α), f (a b) = f a f b)
                          instance OrderIsoClass.toSupBotHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [OrderBot α] [SemilatticeSup β] [OrderBot β] [OrderIsoClass F α β] :
                          Equations
                          • OrderIsoClass.toSupBotHomClass = let src := OrderIsoClass.toSupHomClass; let src_1 := OrderIsoClass.toBotHomClass; SupBotHomClass.mk (_ : ∀ (f : F), f = )
                          instance OrderIsoClass.toInfTopHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [OrderTop α] [SemilatticeInf β] [OrderTop β] [OrderIsoClass F α β] :
                          Equations
                          • OrderIsoClass.toInfTopHomClass = let src := OrderIsoClass.toInfHomClass; let src_1 := OrderIsoClass.toTopHomClass; InfTopHomClass.mk (_ : ∀ (f : F), f = )
                          instance OrderIsoClass.toLatticeHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [OrderIsoClass F α β] :
                          Equations
                          • OrderIsoClass.toLatticeHomClass = let src := OrderIsoClass.toSupHomClass; let src_1 := OrderIsoClass.toInfHomClass; LatticeHomClass.mk (_ : ∀ (f : F) (a b : α), f (a b) = f a f b)
                          instance OrderIsoClass.toBoundedLatticeHomClass {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [OrderIsoClass F α β] :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem Disjoint.map {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] [BoundedLatticeHomClass F α β] (f : F) {a : α} {b : α} (h : Disjoint a b) :
                          Disjoint (f a) (f b)
                          theorem Codisjoint.map {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] [BoundedLatticeHomClass F α β] (f : F) {a : α} {b : α} (h : Codisjoint a b) :
                          Codisjoint (f a) (f b)
                          theorem IsCompl.map {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] [BoundedLatticeHomClass F α β] (f : F) {a : α} {b : α} (h : IsCompl a b) :
                          IsCompl (f a) (f b)
                          theorem map_compl' {F : Type u_1} {α : Type u_3} {β : Type u_4} [BooleanAlgebra α] [BooleanAlgebra β] [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_3} {β : Type u_4} [BooleanAlgebra α] [BooleanAlgebra β] [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_3} {β : Type u_4} [BooleanAlgebra α] [BooleanAlgebra β] [BoundedLatticeHomClass F α β] (f : F) (a : α) (b : α) :
                          f (a b) = f a f b

                          Special case of map_symmDiff for boolean algebras.

                          instance instCoeTCSupHom {F : Type u_1} {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] [SupHomClass F α β] :
                          CoeTC F (SupHom α β)
                          Equations
                          • instCoeTCSupHom = { coe := fun f => { toFun := f, map_sup' := (_ : ∀ (a b : α), f (a b) = f a f b) } }
                          instance instCoeTCInfHom {F : Type u_1} {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] [InfHomClass F α β] :
                          CoeTC F (InfHom α β)
                          Equations
                          • instCoeTCInfHom = { coe := fun f => { toFun := f, map_inf' := (_ : ∀ (a b : α), f (a b) = f a f b) } }
                          instance instCoeTCSupBotHom {F : Type u_1} {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] [Bot α] [Bot β] [SupBotHomClass F α β] :
                          CoeTC F (SupBotHom α β)
                          Equations
                          • instCoeTCSupBotHom = { coe := fun f => { toSupHom := { toFun := f, map_sup' := (_ : ∀ (a b : α), f (a b) = f a f b) }, map_bot' := (_ : f = ) } }
                          instance instCoeTCInfTopHom {F : Type u_1} {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] [Top α] [Top β] [InfTopHomClass F α β] :
                          CoeTC F (InfTopHom α β)
                          Equations
                          • instCoeTCInfTopHom = { coe := fun f => { toInfHom := { toFun := f, map_inf' := (_ : ∀ (a b : α), f (a b) = f a f b) }, map_top' := (_ : f = ) } }
                          instance instCoeTCLatticeHom {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [LatticeHomClass F α β] :
                          CoeTC F (LatticeHom α β)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          instance instCoeTCBoundedLatticeHom {F : Type u_1} {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
                          Equations
                          • One or more equations did not get rendered due to their size.

                          Supremum homomorphisms #

                          instance SupHom.instSupHomClassSupHom {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] :
                          SupHomClass (SupHom α β) α β
                          Equations
                          instance SupHom.instFunLikeSupHom {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] :
                          FunLike (SupHom α β) α fun x => β

                          Helper instance for when there's too many metavariables to apply fun_like.has_coe_to_fun directly.

                          Equations
                          • SupHom.instFunLikeSupHom = SupHomClass.toFunLike
                          @[simp]
                          theorem SupHom.toFun_eq_coe {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] {f : SupHom α β} :
                          f.toFun = f
                          theorem SupHom.ext {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] {f : SupHom α β} {g : SupHom α β} (h : ∀ (a : α), f a = g a) :
                          f = g
                          def SupHom.copy {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : SupHom α β) (f' : αβ) (h : f' = f) :
                          SupHom α β

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

                          Equations
                          • SupHom.copy f f' h = { toFun := f', map_sup' := (_ : ∀ (a b : α), f' (a b) = f' a f' b) }
                          Instances For
                            @[simp]
                            theorem SupHom.coe_copy {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : SupHom α β) (f' : αβ) (h : f' = f) :
                            ↑(SupHom.copy f f' h) = f'
                            theorem SupHom.copy_eq {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : SupHom α β) (f' : αβ) (h : f' = f) :
                            SupHom.copy f f' h = f
                            def SupHom.id (α : Type u_3) [Sup α] :
                            SupHom α α

                            id as a SupHom.

                            Equations
                            Instances For
                              instance SupHom.instInhabitedSupHom (α : Type u_3) [Sup α] :
                              Equations
                              @[simp]
                              theorem SupHom.coe_id (α : Type u_3) [Sup α] :
                              ↑(SupHom.id α) = id
                              @[simp]
                              theorem SupHom.id_apply {α : Type u_3} [Sup α] (a : α) :
                              ↑(SupHom.id α) a = a
                              def SupHom.comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] (f : SupHom β γ) (g : SupHom α β) :
                              SupHom α γ

                              Composition of SupHoms as a SupHom.

                              Equations
                              Instances For
                                @[simp]
                                theorem SupHom.coe_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] (f : SupHom β γ) (g : SupHom α β) :
                                ↑(SupHom.comp f g) = f g
                                @[simp]
                                theorem SupHom.comp_apply {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] (f : SupHom β γ) (g : SupHom α β) (a : α) :
                                ↑(SupHom.comp f g) a = f (g a)
                                @[simp]
                                theorem SupHom.comp_assoc {α : Type u_3} {β : Type u_4} {γ : Type u_5} {δ : Type u_6} [Sup α] [Sup β] [Sup γ] [Sup δ] (f : SupHom γ δ) (g : SupHom β γ) (h : SupHom α β) :
                                @[simp]
                                theorem SupHom.comp_id {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : SupHom α β) :
                                @[simp]
                                theorem SupHom.id_comp {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : SupHom α β) :
                                @[simp]
                                theorem SupHom.cancel_right {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] {g₁ : SupHom β γ} {g₂ : SupHom β γ} {f : SupHom α β} (hf : Function.Surjective f) :
                                SupHom.comp g₁ f = SupHom.comp g₂ f g₁ = g₂
                                @[simp]
                                theorem SupHom.cancel_left {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] {g : SupHom β γ} {f₁ : SupHom α β} {f₂ : SupHom α β} (hg : Function.Injective g) :
                                SupHom.comp g f₁ = SupHom.comp g f₂ f₁ = f₂
                                def SupHom.const (α : Type u_3) {β : Type u_4} [Sup α] [SemilatticeSup β] (b : β) :
                                SupHom α β

                                The constant function as a SupHom.

                                Equations
                                • SupHom.const α b = { toFun := fun x => b, map_sup' := (_ : ∀ (x x_1 : α), (fun x => b) (x x_1) = (fun x => b) (x x_1) (fun x => b) (x x_1)) }
                                Instances For
                                  @[simp]
                                  theorem SupHom.coe_const (α : Type u_3) {β : Type u_4} [Sup α] [SemilatticeSup β] (b : β) :
                                  @[simp]
                                  theorem SupHom.const_apply (α : Type u_3) {β : Type u_4} [Sup α] [SemilatticeSup β] (b : β) (a : α) :
                                  ↑(SupHom.const α b) a = b
                                  instance SupHom.instSupSupHomToSup {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] :
                                  Sup (SupHom α β)
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  instance SupHom.instSemilatticeSupSupHomToSup {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] :
                                  Equations
                                  instance SupHom.instBotSupHomToSup {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] [Bot β] :
                                  Bot (SupHom α β)
                                  Equations
                                  instance SupHom.instTopSupHomToSup {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] [Top β] :
                                  Top (SupHom α β)
                                  Equations
                                  Equations
                                  • SupHom.instOrderBotSupHomToSupToLEToPreorderToPartialOrderInstSemilatticeSupSupHomToSup = OrderBot.lift FunLike.coe (_ : ∀ (x x_1 : SupHom α β), x x_1x x_1) (_ : = )
                                  Equations
                                  • SupHom.instOrderTopSupHomToSupToLEToPreorderToPartialOrderInstSemilatticeSupSupHomToSup = OrderTop.lift FunLike.coe (_ : ∀ (x x_1 : SupHom α β), x x_1x x_1) (_ : = )
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[simp]
                                  theorem SupHom.coe_sup {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] (f : SupHom α β) (g : SupHom α β) :
                                  ↑(f g) = ↑(f g)
                                  @[simp]
                                  theorem SupHom.coe_bot {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] [Bot β] :
                                  =
                                  @[simp]
                                  theorem SupHom.coe_top {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] [Top β] :
                                  =
                                  @[simp]
                                  theorem SupHom.sup_apply {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] (f : SupHom α β) (g : SupHom α β) (a : α) :
                                  ↑(f g) a = f a g a
                                  @[simp]
                                  theorem SupHom.bot_apply {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] [Bot β] (a : α) :
                                  a =
                                  @[simp]
                                  theorem SupHom.top_apply {α : Type u_3} {β : Type u_4} [Sup α] [SemilatticeSup β] [Top β] (a : α) :
                                  a =

                                  Infimum homomorphisms #

                                  instance InfHom.instInfHomClassInfHom {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] :
                                  InfHomClass (InfHom α β) α β
                                  Equations
                                  instance InfHom.instFunLikeInfHom {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] :
                                  FunLike (InfHom α β) α fun x => β

                                  Helper instance for when there's too many metavariables to apply fun_like.has_coe_to_fun directly.

                                  Equations
                                  • InfHom.instFunLikeInfHom = InfHomClass.toFunLike
                                  @[simp]
                                  theorem InfHom.toFun_eq_coe {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] {f : InfHom α β} :
                                  f.toFun = f
                                  theorem InfHom.ext {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] {f : InfHom α β} {g : InfHom α β} (h : ∀ (a : α), f a = g a) :
                                  f = g
                                  def InfHom.copy {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : InfHom α β) (f' : αβ) (h : f' = f) :
                                  InfHom α β

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

                                  Equations
                                  • InfHom.copy f f' h = { toFun := f', map_inf' := (_ : ∀ (a b : α), f' (a b) = f' a f' b) }
                                  Instances For
                                    @[simp]
                                    theorem InfHom.coe_copy {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : InfHom α β) (f' : αβ) (h : f' = f) :
                                    ↑(InfHom.copy f f' h) = f'
                                    theorem InfHom.copy_eq {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : InfHom α β) (f' : αβ) (h : f' = f) :
                                    InfHom.copy f f' h = f
                                    def InfHom.id (α : Type u_3) [Inf α] :
                                    InfHom α α

                                    id as an InfHom.

                                    Equations
                                    Instances For
                                      instance InfHom.instInhabitedInfHom (α : Type u_3) [Inf α] :
                                      Equations
                                      @[simp]
                                      theorem InfHom.coe_id (α : Type u_3) [Inf α] :
                                      ↑(InfHom.id α) = id
                                      @[simp]
                                      theorem InfHom.id_apply {α : Type u_3} [Inf α] (a : α) :
                                      ↑(InfHom.id α) a = a
                                      def InfHom.comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] (f : InfHom β γ) (g : InfHom α β) :
                                      InfHom α γ

                                      Composition of InfHoms as an InfHom.

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem InfHom.coe_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] (f : InfHom β γ) (g : InfHom α β) :
                                        ↑(InfHom.comp f g) = f g
                                        @[simp]
                                        theorem InfHom.comp_apply {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] (f : InfHom β γ) (g : InfHom α β) (a : α) :
                                        ↑(InfHom.comp f g) a = f (g a)
                                        @[simp]
                                        theorem InfHom.comp_assoc {α : Type u_3} {β : Type u_4} {γ : Type u_5} {δ : Type u_6} [Inf α] [Inf β] [Inf γ] [Inf δ] (f : InfHom γ δ) (g : InfHom β γ) (h : InfHom α β) :
                                        @[simp]
                                        theorem InfHom.comp_id {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : InfHom α β) :
                                        @[simp]
                                        theorem InfHom.id_comp {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : InfHom α β) :
                                        @[simp]
                                        theorem InfHom.cancel_right {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] {g₁ : InfHom β γ} {g₂ : InfHom β γ} {f : InfHom α β} (hf : Function.Surjective f) :
                                        InfHom.comp g₁ f = InfHom.comp g₂ f g₁ = g₂
                                        @[simp]
                                        theorem InfHom.cancel_left {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] {g : InfHom β γ} {f₁ : InfHom α β} {f₂ : InfHom α β} (hg : Function.Injective g) :
                                        InfHom.comp g f₁ = InfHom.comp g f₂ f₁ = f₂
                                        def InfHom.const (α : Type u_3) {β : Type u_4} [Inf α] [SemilatticeInf β] (b : β) :
                                        InfHom α β

                                        The constant function as an InfHom.

                                        Equations
                                        • InfHom.const α b = { toFun := fun x => b, map_inf' := (_ : ∀ (x x_1 : α), (fun x => b) (x x_1) = (fun x => b) (x x_1) (fun x => b) (x x_1)) }
                                        Instances For
                                          @[simp]
                                          theorem InfHom.coe_const (α : Type u_3) {β : Type u_4} [Inf α] [SemilatticeInf β] (b : β) :
                                          @[simp]
                                          theorem InfHom.const_apply (α : Type u_3) {β : Type u_4} [Inf α] [SemilatticeInf β] (b : β) (a : α) :
                                          ↑(InfHom.const α b) a = b
                                          instance InfHom.instInfInfHomToInf {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] :
                                          Inf (InfHom α β)
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          instance InfHom.instSemilatticeInfInfHomToInf {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] :
                                          Equations
                                          instance InfHom.instBotInfHomToInf {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] [Bot β] :
                                          Bot (InfHom α β)
                                          Equations
                                          instance InfHom.instTopInfHomToInf {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] [Top β] :
                                          Top (InfHom α β)
                                          Equations
                                          Equations
                                          • InfHom.instOrderBotInfHomToInfToLEToPreorderToPartialOrderInstSemilatticeInfInfHomToInf = OrderBot.lift FunLike.coe (_ : ∀ (x x_1 : InfHom α β), x x_1x x_1) (_ : = )
                                          Equations
                                          • InfHom.instOrderTopInfHomToInfToLEToPreorderToPartialOrderInstSemilatticeInfInfHomToInf = OrderTop.lift FunLike.coe (_ : ∀ (x x_1 : InfHom α β), x x_1x x_1) (_ : = )
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          @[simp]
                                          theorem InfHom.coe_inf {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] (f : InfHom α β) (g : InfHom α β) :
                                          ↑(f g) = ↑(f g)
                                          @[simp]
                                          theorem InfHom.coe_bot {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] [Bot β] :
                                          =
                                          @[simp]
                                          theorem InfHom.coe_top {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] [Top β] :
                                          =
                                          @[simp]
                                          theorem InfHom.inf_apply {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] (f : InfHom α β) (g : InfHom α β) (a : α) :
                                          ↑(f g) a = f a g a
                                          @[simp]
                                          theorem InfHom.bot_apply {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] [Bot β] (a : α) :
                                          a =
                                          @[simp]
                                          theorem InfHom.top_apply {α : Type u_3} {β : Type u_4} [Inf α] [SemilatticeInf β] [Top β] (a : α) :
                                          a =

                                          Finitary supremum homomorphisms #

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

                                          Reinterpret a SupBotHom as a BotHom.

                                          Equations
                                          Instances For
                                            instance SupBotHom.instSupBotHomClassSupBotHom {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] :
                                            Equations
                                            instance SupBotHom.instFunLikeSupBotHom {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] :
                                            FunLike (SupBotHom α β) α fun x => β
                                            Equations
                                            • SupBotHom.instFunLikeSupBotHom = SupHomClass.toFunLike
                                            @[simp]
                                            theorem SupBotHom.coe_toSupHom {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] {f : SupBotHom α β} :
                                            f.toSupHom = f
                                            @[simp]
                                            theorem SupBotHom.coe_toBotHom {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] {f : SupBotHom α β} :
                                            ↑(SupBotHom.toBotHom f) = f
                                            theorem SupBotHom.toFun_eq_coe {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] {f : SupBotHom α β} :
                                            f.toFun = f
                                            theorem SupBotHom.ext {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] {f : SupBotHom α β} {g : SupBotHom α β} (h : ∀ (a : α), f a = g a) :
                                            f = g
                                            def SupBotHom.copy {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [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_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] (f : SupBotHom α β) (f' : αβ) (h : f' = f) :
                                              ↑(SupBotHom.copy f f' h) = f'
                                              theorem SupBotHom.copy_eq {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] (f : SupBotHom α β) (f' : αβ) (h : f' = f) :
                                              SupBotHom.copy f f' h = f
                                              @[simp]
                                              theorem SupBotHom.id_toSupHom (α : Type u_3) [Sup α] [Bot α] :
                                              (SupBotHom.id α).toSupHom = SupHom.id α
                                              def SupBotHom.id (α : Type u_3) [Sup α] [Bot α] :
                                              SupBotHom α α

                                              id as a SupBotHom.

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

                                                Composition of SupBotHoms as a SupBotHom.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  @[simp]
                                                  theorem SupBotHom.coe_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] (f : SupBotHom β γ) (g : SupBotHom α β) :
                                                  ↑(SupBotHom.comp f g) = f g
                                                  @[simp]
                                                  theorem SupBotHom.comp_apply {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] (f : SupBotHom β γ) (g : SupBotHom α β) (a : α) :
                                                  ↑(SupBotHom.comp f g) a = f (g a)
                                                  @[simp]
                                                  theorem SupBotHom.comp_assoc {α : Type u_3} {β : Type u_4} {γ : Type u_5} {δ : Type u_6} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] [Sup δ] [Bot δ] (f : SupBotHom γ δ) (g : SupBotHom β γ) (h : SupBotHom α β) :
                                                  @[simp]
                                                  theorem SupBotHom.comp_id {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] (f : SupBotHom α β) :
                                                  @[simp]
                                                  theorem SupBotHom.id_comp {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] (f : SupBotHom α β) :
                                                  @[simp]
                                                  theorem SupBotHom.cancel_right {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] {g₁ : SupBotHom β γ} {g₂ : SupBotHom β γ} {f : SupBotHom α β} (hf : Function.Surjective f) :
                                                  SupBotHom.comp g₁ f = SupBotHom.comp g₂ f g₁ = g₂
                                                  @[simp]
                                                  theorem SupBotHom.cancel_left {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] {g : SupBotHom β γ} {f₁ : SupBotHom α β} {f₂ : SupBotHom α β} (hg : Function.Injective g) :
                                                  SupBotHom.comp g f₁ = SupBotHom.comp g f₂ f₁ = f₂
                                                  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.
                                                  @[simp]
                                                  theorem SupBotHom.coe_sup {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [SemilatticeSup β] [OrderBot β] (f : SupBotHom α β) (g : SupBotHom α β) :
                                                  ↑(f g) = ↑(f g)
                                                  @[simp]
                                                  theorem SupBotHom.coe_bot {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [SemilatticeSup β] [OrderBot β] :
                                                  =
                                                  @[simp]
                                                  theorem SupBotHom.sup_apply {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [SemilatticeSup β] [OrderBot β] (f : SupBotHom α β) (g : SupBotHom α β) (a : α) :
                                                  ↑(f g) a = f a g a
                                                  @[simp]
                                                  theorem SupBotHom.bot_apply {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [SemilatticeSup β] [OrderBot β] (a : α) :
                                                  a =

                                                  Finitary infimum homomorphisms #

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

                                                  Reinterpret an InfTopHom as a TopHom.

                                                  Equations
                                                  Instances For
                                                    instance InfTopHom.instInfTopHomClassInfTopHom {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] :
                                                    Equations
                                                    instance InfTopHom.instFunLikeInfTopHom {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] :
                                                    FunLike (InfTopHom α β) α fun x => β

                                                    Helper instance for when there's too many metavariables to apply fun_like.has_coe_to_fun directly.

                                                    Equations
                                                    • InfTopHom.instFunLikeInfTopHom = InfHomClass.toFunLike
                                                    @[simp]
                                                    theorem InfTopHom.coe_toInfHom {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] {f : InfTopHom α β} :
                                                    f.toInfHom = f
                                                    @[simp]
                                                    theorem InfTopHom.coe_toTopHom {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] {f : InfTopHom α β} :
                                                    ↑(InfTopHom.toTopHom f) = f
                                                    theorem InfTopHom.toFun_eq_coe {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] {f : InfTopHom α β} :
                                                    f.toFun = f
                                                    theorem InfTopHom.ext {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] {f : InfTopHom α β} {g : InfTopHom α β} (h : ∀ (a : α), f a = g a) :
                                                    f = g
                                                    def InfTopHom.copy {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [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_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] (f : InfTopHom α β) (f' : αβ) (h : f' = f) :
                                                      ↑(InfTopHom.copy f f' h) = f'
                                                      theorem InfTopHom.copy_eq {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] (f : InfTopHom α β) (f' : αβ) (h : f' = f) :
                                                      InfTopHom.copy f f' h = f
                                                      @[simp]
                                                      theorem InfTopHom.id_toInfHom (α : Type u_3) [Inf α] [Top α] :
                                                      (InfTopHom.id α).toInfHom = InfHom.id α
                                                      def InfTopHom.id (α : Type u_3) [Inf α] [Top α] :
                                                      InfTopHom α α

                                                      id as an InfTopHom.

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

                                                        Composition of InfTopHoms as an InfTopHom.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          @[simp]
                                                          theorem InfTopHom.coe_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] (f : InfTopHom β γ) (g : InfTopHom α β) :
                                                          ↑(InfTopHom.comp f g) = f g
                                                          @[simp]
                                                          theorem InfTopHom.comp_apply {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] (f : InfTopHom β γ) (g : InfTopHom α β) (a : α) :
                                                          ↑(InfTopHom.comp f g) a = f (g a)
                                                          @[simp]
                                                          theorem InfTopHom.comp_assoc {α : Type u_3} {β : Type u_4} {γ : Type u_5} {δ : Type u_6} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] [Inf δ] [Top δ] (f : InfTopHom γ δ) (g : InfTopHom β γ) (h : InfTopHom α β) :
                                                          @[simp]
                                                          theorem InfTopHom.comp_id {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] (f : InfTopHom α β) :
                                                          @[simp]
                                                          theorem InfTopHom.id_comp {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] (f : InfTopHom α β) :
                                                          @[simp]
                                                          theorem InfTopHom.cancel_right {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] {g₁ : InfTopHom β γ} {g₂ : InfTopHom β γ} {f : InfTopHom α β} (hf : Function.Surjective f) :
                                                          InfTopHom.comp g₁ f = InfTopHom.comp g₂ f g₁ = g₂
                                                          @[simp]
                                                          theorem InfTopHom.cancel_left {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] {g : InfTopHom β γ} {f₁ : InfTopHom α β} {f₂ : InfTopHom α β} (hg : Function.Injective g) :
                                                          InfTopHom.comp g f₁ = InfTopHom.comp g f₂ f₁ = f₂
                                                          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.
                                                          @[simp]
                                                          theorem InfTopHom.coe_inf {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [SemilatticeInf β] [OrderTop β] (f : InfTopHom α β) (g : InfTopHom α β) :
                                                          ↑(f g) = ↑(f g)
                                                          @[simp]
                                                          theorem InfTopHom.coe_top {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [SemilatticeInf β] [OrderTop β] :
                                                          =
                                                          @[simp]
                                                          theorem InfTopHom.inf_apply {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [SemilatticeInf β] [OrderTop β] (f : InfTopHom α β) (g : InfTopHom α β) (a : α) :
                                                          ↑(f g) a = f a g a
                                                          @[simp]
                                                          theorem InfTopHom.top_apply {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [SemilatticeInf β] [OrderTop β] (a : α) :
                                                          a =

                                                          Lattice homomorphisms #

                                                          def LatticeHom.toInfHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                          InfHom α β

                                                          Reinterpret a LatticeHom as an InfHom.

                                                          Equations
                                                          Instances For
                                                            instance LatticeHom.instLatticeHomClassLatticeHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] :
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            instance LatticeHom.instFunLikeLatticeHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] :
                                                            FunLike (LatticeHom α β) α fun x => β

                                                            Helper instance for when there's too many metavariables to apply fun_like.has_coe_to_fun directly.

                                                            Equations
                                                            • LatticeHom.instFunLikeLatticeHom = SupHomClass.toFunLike
                                                            @[simp]
                                                            theorem LatticeHom.coe_toSupHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] {f : LatticeHom α β} :
                                                            f.toSupHom = f
                                                            @[simp]
                                                            theorem LatticeHom.coe_toInfHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] {f : LatticeHom α β} :
                                                            theorem LatticeHom.toFun_eq_coe {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] {f : LatticeHom α β} :
                                                            f.toFun = f
                                                            theorem LatticeHom.ext {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] {f : LatticeHom α β} {g : LatticeHom α β} (h : ∀ (a : α), f a = g a) :
                                                            f = g
                                                            def LatticeHom.copy {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (f' : αβ) (h : f' = f) :

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

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              @[simp]
                                                              theorem LatticeHom.coe_copy {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (f' : αβ) (h : f' = f) :
                                                              ↑(LatticeHom.copy f f' h) = f'
                                                              theorem LatticeHom.copy_eq {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (f' : αβ) (h : f' = f) :
                                                              def LatticeHom.id (α : Type u_3) [Lattice α] :

                                                              id as a LatticeHom.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                @[simp]
                                                                theorem LatticeHom.coe_id (α : Type u_3) [Lattice α] :
                                                                ↑(LatticeHom.id α) = id
                                                                @[simp]
                                                                theorem LatticeHom.id_apply {α : Type u_3} [Lattice α] (a : α) :
                                                                ↑(LatticeHom.id α) a = a
                                                                def LatticeHom.comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :

                                                                Composition of LatticeHoms as a LatticeHom.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  @[simp]
                                                                  theorem LatticeHom.coe_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                  ↑(LatticeHom.comp f g) = f g
                                                                  @[simp]
                                                                  theorem LatticeHom.comp_apply {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) (a : α) :
                                                                  ↑(LatticeHom.comp f g) a = f (g a)
                                                                  @[simp]
                                                                  theorem LatticeHom.coe_comp_sup_hom' {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                  { toFun := f g, map_sup' := (_ : ∀ (a b : α), ↑(LatticeHom.comp f g) (a b) = ↑(LatticeHom.comp f g) a ↑(LatticeHom.comp f g) b) } = SupHom.comp { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                  theorem LatticeHom.coe_comp_sup_hom {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                  { toFun := ↑(LatticeHom.comp f g), map_sup' := (_ : ∀ (a b : α), ↑(LatticeHom.comp f g) (a b) = ↑(LatticeHom.comp f g) a ↑(LatticeHom.comp f g) b) } = SupHom.comp { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                  @[simp]
                                                                  theorem LatticeHom.coe_comp_inf_hom' {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                  { toFun := f g, map_inf' := (_ : ∀ (a b : α), ↑(LatticeHom.comp f g) (a b) = ↑(LatticeHom.comp f g) a ↑(LatticeHom.comp f g) b) } = InfHom.comp { toFun := f, map_inf' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_inf' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                  theorem LatticeHom.coe_comp_inf_hom {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                  { toFun := ↑(LatticeHom.comp f g), map_inf' := (_ : ∀ (a b : α), ↑(LatticeHom.comp f g) (a b) = ↑(LatticeHom.comp f g) a ↑(LatticeHom.comp f g) b) } = InfHom.comp { toFun := f, map_inf' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_inf' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                  @[simp]
                                                                  theorem LatticeHom.comp_assoc {α : Type u_3} {β : Type u_4} {γ : Type u_5} {δ : Type u_6} [Lattice α] [Lattice β] [Lattice γ] [Lattice δ] (f : LatticeHom γ δ) (g : LatticeHom β γ) (h : LatticeHom α β) :
                                                                  @[simp]
                                                                  theorem LatticeHom.comp_id {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                  @[simp]
                                                                  theorem LatticeHom.id_comp {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                  @[simp]
                                                                  theorem LatticeHom.cancel_right {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] {g₁ : LatticeHom β γ} {g₂ : LatticeHom β γ} {f : LatticeHom α β} (hf : Function.Surjective f) :
                                                                  LatticeHom.comp g₁ f = LatticeHom.comp g₂ f g₁ = g₂
                                                                  @[simp]
                                                                  theorem LatticeHom.cancel_left {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] {g : LatticeHom β γ} {f₁ : LatticeHom α β} {f₂ : LatticeHom α β} (hg : Function.Injective g) :
                                                                  LatticeHom.comp g f₁ = LatticeHom.comp g f₂ f₁ = f₂
                                                                  instance OrderHomClass.toLatticeHomClass {F : Type u_1} (α : Type u_3) (β : Type u_4) [LinearOrder α] [Lattice β] [OrderHomClass F α β] :

                                                                  An order homomorphism from a linear order is a lattice homomorphism.

                                                                  Equations
                                                                  def OrderHomClass.toLatticeHom {F : Type u_1} (α : Type u_3) (β : Type u_4) [LinearOrder α] [Lattice β] [OrderHomClass F α β] (f : F) :

                                                                  Reinterpret an order homomorphism to a linear order as a LatticeHom.

                                                                  Equations
                                                                  • OrderHomClass.toLatticeHom α β f = { toSupHom := { toFun := f, map_sup' := (_ : ∀ (a b : α), f (a b) = f a f b) }, map_inf' := (_ : ∀ (a b : α), f (a b) = f a f b) }
                                                                  Instances For
                                                                    @[simp]
                                                                    theorem OrderHomClass.coe_to_lattice_hom {F : Type u_1} (α : Type u_3) (β : Type u_4) [LinearOrder α] [Lattice β] [OrderHomClass F α β] (f : F) :
                                                                    ↑(OrderHomClass.toLatticeHom α β f) = f
                                                                    @[simp]
                                                                    theorem OrderHomClass.to_lattice_hom_apply {F : Type u_1} (α : Type u_3) (β : Type u_4) [LinearOrder α] [Lattice β] [OrderHomClass F α β] (f : F) (a : α) :
                                                                    ↑(OrderHomClass.toLatticeHom α β f) a = f a

                                                                    Bounded lattice homomorphisms #

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

                                                                    Reinterpret a BoundedLatticeHom as a SupBotHom.

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

                                                                      Reinterpret a BoundedLatticeHom as an InfTopHom.

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

                                                                        Reinterpret a BoundedLatticeHom as a BoundedOrderHom.

                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          @[simp]
                                                                          theorem BoundedLatticeHom.coe_toLatticeHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] {f : BoundedLatticeHom α β} :
                                                                          f.toLatticeHom = f
                                                                          @[simp]
                                                                          theorem BoundedLatticeHom.toFun_eq_coe {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] {f : BoundedLatticeHom α β} :
                                                                          f.toFun = f
                                                                          theorem BoundedLatticeHom.ext {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] {f : BoundedLatticeHom α β} {g : BoundedLatticeHom α β} (h : ∀ (a : α), f a = g a) :
                                                                          f = g
                                                                          def BoundedLatticeHom.copy {α : Type u_3} {β : Type u_4} [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
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem BoundedLatticeHom.coe_copy {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) (f' : αβ) (h : f' = f) :
                                                                            ↑(BoundedLatticeHom.copy f f' h) = f'
                                                                            theorem BoundedLatticeHom.copy_eq {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] (f : BoundedLatticeHom α β) (f' : αβ) (h : f' = f) :

                                                                            id as a BoundedLatticeHom.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              @[simp]
                                                                              theorem BoundedLatticeHom.coe_id (α : Type u_3) [Lattice α] [BoundedOrder α] :
                                                                              @[simp]
                                                                              theorem BoundedLatticeHom.id_apply {α : Type u_3} [Lattice α] [BoundedOrder α] (a : α) :
                                                                              def BoundedLatticeHom.comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :

                                                                              Composition of BoundedLatticeHoms as a BoundedLatticeHom.

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.coe_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                ↑(BoundedLatticeHom.comp f g) = f g
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.comp_apply {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) (a : α) :
                                                                                ↑(BoundedLatticeHom.comp f g) a = f (g a)
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.coe_comp_lattice_hom' {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                { toSupHom := SupHom.comp { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }, map_inf' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) } = LatticeHom.comp { toSupHom := { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) }, map_inf' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toSupHom := { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }, map_inf' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                                theorem BoundedLatticeHom.coe_comp_lattice_hom {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                { toSupHom := { toFun := ↑(BoundedLatticeHom.comp f g), map_sup' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) }, map_inf' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) } = LatticeHom.comp { toSupHom := { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) }, map_inf' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toSupHom := { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }, map_inf' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.coe_comp_sup_hom' {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                { toFun := f g, map_sup' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) } = SupHom.comp { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                                theorem BoundedLatticeHom.coe_comp_sup_hom {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                { toFun := ↑(BoundedLatticeHom.comp f g), map_sup' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) } = SupHom.comp { toFun := f, map_sup' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_sup' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.coe_comp_inf_hom' {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                { toFun := f g, map_inf' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) } = InfHom.comp { toFun := f, map_inf' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_inf' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                                theorem BoundedLatticeHom.coe_comp_inf_hom {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] (f : BoundedLatticeHom β γ) (g : BoundedLatticeHom α β) :
                                                                                { toFun := ↑(BoundedLatticeHom.comp f g), map_inf' := (_ : ∀ (a b : α), ↑(BoundedLatticeHom.comp f g) (a b) = ↑(BoundedLatticeHom.comp f g) a ↑(BoundedLatticeHom.comp f g) b) } = InfHom.comp { toFun := f, map_inf' := (_ : ∀ (a b : β), f (a b) = f a f b) } { toFun := g, map_inf' := (_ : ∀ (a b : α), g (a b) = g a g b) }
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.cancel_right {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] {g₁ : BoundedLatticeHom β γ} {g₂ : BoundedLatticeHom β γ} {f : BoundedLatticeHom α β} (hf : Function.Surjective f) :
                                                                                @[simp]
                                                                                theorem BoundedLatticeHom.cancel_left {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] [BoundedOrder α] [BoundedOrder β] [BoundedOrder γ] {g : BoundedLatticeHom β γ} {f₁ : BoundedLatticeHom α β} {f₂ : BoundedLatticeHom α β} (hg : Function.Injective g) :

                                                                                Dual homs #

                                                                                @[simp]
                                                                                theorem SupHom.dual_symm_apply_toFun {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : InfHom αᵒᵈ βᵒᵈ) (a : αᵒᵈ) :
                                                                                ↑(SupHom.dual.symm f) a = f a
                                                                                @[simp]
                                                                                theorem SupHom.dual_apply_toFun {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] (f : SupHom α β) (a : α) :
                                                                                ↑(SupHom.dual f) a = f a
                                                                                def SupHom.dual {α : Type u_3} {β : Type u_4} [Sup α] [Sup β] :

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

                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  @[simp]
                                                                                  theorem SupHom.dual_id {α : Type u_3} [Sup α] :
                                                                                  SupHom.dual (SupHom.id α) = InfHom.id αᵒᵈ
                                                                                  @[simp]
                                                                                  theorem SupHom.dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] (g : SupHom β γ) (f : SupHom α β) :
                                                                                  SupHom.dual (SupHom.comp g f) = InfHom.comp (SupHom.dual g) (SupHom.dual f)
                                                                                  @[simp]
                                                                                  theorem SupHom.symm_dual_id {α : Type u_3} [Sup α] :
                                                                                  SupHom.dual.symm (InfHom.id αᵒᵈ) = SupHom.id α
                                                                                  @[simp]
                                                                                  theorem SupHom.symm_dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Sup β] [Sup γ] (g : InfHom βᵒᵈ γᵒᵈ) (f : InfHom αᵒᵈ βᵒᵈ) :
                                                                                  SupHom.dual.symm (InfHom.comp g f) = SupHom.comp (SupHom.dual.symm g) (SupHom.dual.symm f)
                                                                                  @[simp]
                                                                                  theorem InfHom.dual_apply_toFun {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : InfHom α β) (a : α) :
                                                                                  ↑(InfHom.dual f) a = f a
                                                                                  @[simp]
                                                                                  theorem InfHom.dual_symm_apply_toFun {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] (f : SupHom αᵒᵈ βᵒᵈ) (a : αᵒᵈ) :
                                                                                  ↑(InfHom.dual.symm f) a = f a
                                                                                  def InfHom.dual {α : Type u_3} {β : Type u_4} [Inf α] [Inf β] :

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

                                                                                  Equations
                                                                                  • One or more equations did not get rendered due to their size.
                                                                                  Instances For
                                                                                    @[simp]
                                                                                    theorem InfHom.dual_id {α : Type u_3} [Inf α] :
                                                                                    InfHom.dual (InfHom.id α) = SupHom.id αᵒᵈ
                                                                                    @[simp]
                                                                                    theorem InfHom.dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] (g : InfHom β γ) (f : InfHom α β) :
                                                                                    InfHom.dual (InfHom.comp g f) = SupHom.comp (InfHom.dual g) (InfHom.dual f)
                                                                                    @[simp]
                                                                                    theorem InfHom.symm_dual_id {α : Type u_3} [Inf α] :
                                                                                    InfHom.dual.symm (SupHom.id αᵒᵈ) = InfHom.id α
                                                                                    @[simp]
                                                                                    theorem InfHom.symm_dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Inf β] [Inf γ] (g : SupHom βᵒᵈ γᵒᵈ) (f : SupHom αᵒᵈ βᵒᵈ) :
                                                                                    InfHom.dual.symm (SupHom.comp g f) = InfHom.comp (InfHom.dual.symm g) (InfHom.dual.symm f)
                                                                                    def SupBotHom.dual {α : Type u_3} {β : Type u_4} [Sup α] [Bot α] [Sup β] [Bot β] :

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

                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      @[simp]
                                                                                      theorem SupBotHom.dual_id {α : Type u_3} [Sup α] [Bot α] :
                                                                                      SupBotHom.dual (SupBotHom.id α) = InfTopHom.id αᵒᵈ
                                                                                      @[simp]
                                                                                      theorem SupBotHom.dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] (g : SupBotHom β γ) (f : SupBotHom α β) :
                                                                                      SupBotHom.dual (SupBotHom.comp g f) = InfTopHom.comp (SupBotHom.dual g) (SupBotHom.dual f)
                                                                                      @[simp]
                                                                                      theorem SupBotHom.symm_dual_id {α : Type u_3} [Sup α] [Bot α] :
                                                                                      SupBotHom.dual.symm (InfTopHom.id αᵒᵈ) = SupBotHom.id α
                                                                                      @[simp]
                                                                                      theorem SupBotHom.symm_dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Sup α] [Bot α] [Sup β] [Bot β] [Sup γ] [Bot γ] (g : InfTopHom βᵒᵈ γᵒᵈ) (f : InfTopHom αᵒᵈ βᵒᵈ) :
                                                                                      SupBotHom.dual.symm (InfTopHom.comp g f) = SupBotHom.comp (SupBotHom.dual.symm g) (SupBotHom.dual.symm f)
                                                                                      @[simp]
                                                                                      theorem InfTopHom.dual_symm_apply_toInfHom {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] (f : SupBotHom αᵒᵈ βᵒᵈ) :
                                                                                      (InfTopHom.dual.symm f).toInfHom = InfHom.dual.symm f.toSupHom
                                                                                      @[simp]
                                                                                      theorem InfTopHom.dual_apply_toSupHom {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] (f : InfTopHom α β) :
                                                                                      (InfTopHom.dual f).toSupHom = InfHom.dual f.toInfHom
                                                                                      def InfTopHom.dual {α : Type u_3} {β : Type u_4} [Inf α] [Top α] [Inf β] [Top β] :

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

                                                                                      Equations
                                                                                      • One or more equations did not get rendered due to their size.
                                                                                      Instances For
                                                                                        @[simp]
                                                                                        theorem InfTopHom.dual_id {α : Type u_3} [Inf α] [Top α] :
                                                                                        InfTopHom.dual (InfTopHom.id α) = SupBotHom.id αᵒᵈ
                                                                                        @[simp]
                                                                                        theorem InfTopHom.dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] (g : InfTopHom β γ) (f : InfTopHom α β) :
                                                                                        InfTopHom.dual (InfTopHom.comp g f) = SupBotHom.comp (InfTopHom.dual g) (InfTopHom.dual f)
                                                                                        @[simp]
                                                                                        theorem InfTopHom.symm_dual_id {α : Type u_3} [Inf α] [Top α] :
                                                                                        InfTopHom.dual.symm (SupBotHom.id αᵒᵈ) = InfTopHom.id α
                                                                                        @[simp]
                                                                                        theorem InfTopHom.symm_dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Inf α] [Top α] [Inf β] [Top β] [Inf γ] [Top γ] (g : SupBotHom βᵒᵈ γᵒᵈ) (f : SupBotHom αᵒᵈ βᵒᵈ) :
                                                                                        InfTopHom.dual.symm (SupBotHom.comp g f) = InfTopHom.comp (InfTopHom.dual.symm g) (InfTopHom.dual.symm f)
                                                                                        @[simp]
                                                                                        theorem LatticeHom.dual_symm_apply_toSupHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom αᵒᵈ βᵒᵈ) :
                                                                                        (LatticeHom.dual.symm f).toSupHom = SupHom.dual.symm (LatticeHom.toInfHom f)
                                                                                        @[simp]
                                                                                        theorem LatticeHom.dual_apply_toSupHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                                        (LatticeHom.dual f).toSupHom = InfHom.dual (LatticeHom.toInfHom f)
                                                                                        def LatticeHom.dual {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] :

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

                                                                                        Equations
                                                                                        • One or more equations did not get rendered due to their size.
                                                                                        Instances For
                                                                                          @[simp]
                                                                                          theorem LatticeHom.dual_id {α : Type u_3} [Lattice α] :
                                                                                          LatticeHom.dual (LatticeHom.id α) = LatticeHom.id αᵒᵈ
                                                                                          @[simp]
                                                                                          theorem LatticeHom.dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (g : LatticeHom β γ) (f : LatticeHom α β) :
                                                                                          LatticeHom.dual (LatticeHom.comp g f) = LatticeHom.comp (LatticeHom.dual g) (LatticeHom.dual f)
                                                                                          @[simp]
                                                                                          theorem LatticeHom.symm_dual_id {α : Type u_3} [Lattice α] :
                                                                                          LatticeHom.dual.symm (LatticeHom.id αᵒᵈ) = LatticeHom.id α
                                                                                          @[simp]
                                                                                          theorem LatticeHom.symm_dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (g : LatticeHom βᵒᵈ γᵒᵈ) (f : LatticeHom αᵒᵈ βᵒᵈ) :
                                                                                          LatticeHom.dual.symm (LatticeHom.comp g f) = LatticeHom.comp (LatticeHom.dual.symm g) (LatticeHom.dual.symm f)
                                                                                          @[simp]
                                                                                          theorem BoundedLatticeHom.dual_symm_apply_toLatticeHom {α : Type u_3} {β : Type u_4} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] (f : BoundedLatticeHom αᵒᵈ βᵒᵈ) :
                                                                                          (BoundedLatticeHom.dual.symm f).toLatticeHom = LatticeHom.dual.symm f.toLatticeHom
                                                                                          @[simp]
                                                                                          theorem BoundedLatticeHom.dual_apply_toLatticeHom {α : Type u_3} {β : Type u_4} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] (f : BoundedLatticeHom α β) :
                                                                                          (BoundedLatticeHom.dual f).toLatticeHom = LatticeHom.dual f.toLatticeHom

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

                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          Instances For
                                                                                            @[simp]
                                                                                            theorem BoundedLatticeHom.dual_id {α : Type u_3} [Lattice α] [BoundedOrder α] :
                                                                                            BoundedLatticeHom.dual (BoundedLatticeHom.id α) = BoundedLatticeHom.id αᵒᵈ
                                                                                            @[simp]
                                                                                            theorem BoundedLatticeHom.dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] [Lattice γ] [BoundedOrder γ] (g : BoundedLatticeHom β γ) (f : BoundedLatticeHom α β) :
                                                                                            BoundedLatticeHom.dual (BoundedLatticeHom.comp g f) = BoundedLatticeHom.comp (BoundedLatticeHom.dual g) (BoundedLatticeHom.dual f)
                                                                                            @[simp]
                                                                                            theorem BoundedLatticeHom.symm_dual_id {α : Type u_3} [Lattice α] [BoundedOrder α] :
                                                                                            BoundedLatticeHom.dual.symm (BoundedLatticeHom.id αᵒᵈ) = BoundedLatticeHom.id α
                                                                                            @[simp]
                                                                                            theorem BoundedLatticeHom.symm_dual_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [BoundedOrder α] [Lattice β] [BoundedOrder β] [Lattice γ] [BoundedOrder γ] (g : BoundedLatticeHom βᵒᵈ γᵒᵈ) (f : BoundedLatticeHom αᵒᵈ βᵒᵈ) :
                                                                                            BoundedLatticeHom.dual.symm (BoundedLatticeHom.comp g f) = BoundedLatticeHom.comp (BoundedLatticeHom.dual.symm g) (BoundedLatticeHom.dual.symm f)

                                                                                            WithTop, WithBot #

                                                                                            @[simp]
                                                                                            theorem SupHom.withTop_toFun {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) :
                                                                                            ∀ (a : WithTop α), ↑(SupHom.withTop f) a = WithTop.map (f) a
                                                                                            def SupHom.withTop {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) :

                                                                                            Adjoins a to the domain and codomain of a SupHom.

                                                                                            Equations
                                                                                            Instances For
                                                                                              @[simp]
                                                                                              theorem SupHom.withTop_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [SemilatticeSup α] [SemilatticeSup β] [SemilatticeSup γ] (f : SupHom β γ) (g : SupHom α β) :
                                                                                              @[simp]
                                                                                              theorem SupHom.withBot_toSupHom_toFun {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) :
                                                                                              ∀ (a : Option α), (SupHom.withBot f).toSupHom a = Option.map (f) a
                                                                                              def SupHom.withBot {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) :

                                                                                              Adjoins a to the domain and codomain of a SupHom.

                                                                                              Equations
                                                                                              • One or more equations did not get rendered due to their size.
                                                                                              Instances For
                                                                                                @[simp]
                                                                                                theorem SupHom.withBot_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [SemilatticeSup α] [SemilatticeSup β] [SemilatticeSup γ] (f : SupHom β γ) (g : SupHom α β) :
                                                                                                @[simp]
                                                                                                theorem SupHom.withTop'_toFun {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] [OrderTop β] (f : SupHom α β) (a : WithTop α) :
                                                                                                def SupHom.withTop' {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] [OrderTop β] (f : SupHom α β) :
                                                                                                SupHom (WithTop α) β

                                                                                                Adjoins a to the codomain of a SupHom.

                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For
                                                                                                  @[simp]
                                                                                                  theorem SupHom.withBot'_toSupHom_toFun {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] [OrderBot β] (f : SupHom α β) (a : WithBot α) :
                                                                                                  (SupHom.withBot' f).toSupHom a = Option.elim a f
                                                                                                  def SupHom.withBot' {α : Type u_3} {β : Type u_4} [SemilatticeSup α] [SemilatticeSup β] [OrderBot β] (f : SupHom α β) :

                                                                                                  Adjoins a to the domain of a SupHom.

                                                                                                  Equations
                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                  Instances For
                                                                                                    @[simp]
                                                                                                    theorem InfHom.withTop_toInfHom_toFun {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) :
                                                                                                    ∀ (a : Option α), (InfHom.withTop f).toInfHom a = Option.map (f) a
                                                                                                    def InfHom.withTop {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) :

                                                                                                    Adjoins a to the domain and codomain of an InfHom.

                                                                                                    Equations
                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                    Instances For
                                                                                                      @[simp]
                                                                                                      theorem InfHom.withTop_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [SemilatticeInf α] [SemilatticeInf β] [SemilatticeInf γ] (f : InfHom β γ) (g : InfHom α β) :
                                                                                                      @[simp]
                                                                                                      theorem InfHom.withBot_toFun {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) :
                                                                                                      ∀ (a : Option α), ↑(InfHom.withBot f) a = Option.map (f) a
                                                                                                      def InfHom.withBot {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) :

                                                                                                      Adjoins a to the domain and codomain of an InfHom.

                                                                                                      Equations
                                                                                                      Instances For
                                                                                                        @[simp]
                                                                                                        theorem InfHom.withBot_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [SemilatticeInf α] [SemilatticeInf β] [SemilatticeInf γ] (f : InfHom β γ) (g : InfHom α β) :
                                                                                                        @[simp]
                                                                                                        theorem InfHom.withTop'_toInfHom_toFun {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] [OrderTop β] (f : InfHom α β) (a : WithTop α) :
                                                                                                        (InfHom.withTop' f).toInfHom a = Option.elim a f
                                                                                                        def InfHom.withTop' {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] [OrderTop β] (f : InfHom α β) :

                                                                                                        Adjoins a to the codomain of an InfHom.

                                                                                                        Equations
                                                                                                        • One or more equations did not get rendered due to their size.
                                                                                                        Instances For
                                                                                                          @[simp]
                                                                                                          theorem InfHom.withBot'_toFun {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] [OrderBot β] (f : InfHom α β) (a : WithBot α) :
                                                                                                          def InfHom.withBot' {α : Type u_3} {β : Type u_4} [SemilatticeInf α] [SemilatticeInf β] [OrderBot β] (f : InfHom α β) :
                                                                                                          InfHom (WithBot α) β

                                                                                                          Adjoins a to the codomain of an InfHom.

                                                                                                          Equations
                                                                                                          • One or more equations did not get rendered due to their size.
                                                                                                          Instances For
                                                                                                            @[simp]
                                                                                                            theorem LatticeHom.withTop_toSupHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                                                            (LatticeHom.withTop f).toSupHom = SupHom.withTop f.toSupHom
                                                                                                            def LatticeHom.withTop {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :

                                                                                                            Adjoins a to the domain and codomain of a LatticeHom.

                                                                                                            Equations
                                                                                                            • One or more equations did not get rendered due to their size.
                                                                                                            Instances For
                                                                                                              @[simp]
                                                                                                              theorem LatticeHom.coe_withTop {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                                                              theorem LatticeHom.withTop_apply {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithTop α) :
                                                                                                              ↑(LatticeHom.withTop f) a = WithTop.map (f) a
                                                                                                              @[simp]
                                                                                                              theorem LatticeHom.withTop_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                                                              @[simp]
                                                                                                              theorem LatticeHom.withBot_toSupHom_toFun {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithBot α) :
                                                                                                              (LatticeHom.withBot f).toSupHom a = ↑(SupHom.withBot f.toSupHom) a
                                                                                                              def LatticeHom.withBot {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :

                                                                                                              Adjoins a to the domain and codomain of a LatticeHom.

                                                                                                              Equations
                                                                                                              • One or more equations did not get rendered due to their size.
                                                                                                              Instances For
                                                                                                                @[simp]
                                                                                                                theorem LatticeHom.coe_withBot {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                                                                theorem LatticeHom.withBot_apply {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithBot α) :
                                                                                                                ↑(LatticeHom.withBot f) a = WithBot.map (f) a
                                                                                                                @[simp]
                                                                                                                theorem LatticeHom.withBot_comp {α : Type u_3} {β : Type u_4} {γ : Type u_5} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                                                                                def LatticeHom.withTopWithBot {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :

                                                                                                                Adjoins a and to the domain and codomain of a LatticeHom.

                                                                                                                Equations
                                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                                Instances For
                                                                                                                  @[simp]
                                                                                                                  theorem LatticeHom.coe_withTopWithBot {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                                                                                  theorem LatticeHom.withTopWithBot_apply {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithTop (WithBot α)) :
                                                                                                                  @[simp]
                                                                                                                  theorem LatticeHom.withTop'_toSupHom_toFun {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [OrderTop β] (f : LatticeHom α β) :
                                                                                                                  ∀ (a : WithTop α), (LatticeHom.withTop' f).toSupHom a = SupHom.toFun (SupHom.withTop' f.toSupHom) a
                                                                                                                  def LatticeHom.withTop' {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [OrderTop β] (f : LatticeHom α β) :

                                                                                                                  Adjoins a to the codomain of a LatticeHom.

                                                                                                                  Equations
                                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                                  Instances For
                                                                                                                    @[simp]
                                                                                                                    theorem LatticeHom.withBot'_toSupHom {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [OrderBot β] (f : LatticeHom α β) :
                                                                                                                    (LatticeHom.withBot' f).toSupHom = (SupHom.withBot' f.toSupHom).toSupHom
                                                                                                                    def LatticeHom.withBot' {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [OrderBot β] (f : LatticeHom α β) :

                                                                                                                    Adjoins a to the domain and codomain of a LatticeHom.

                                                                                                                    Equations
                                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                                    Instances For
                                                                                                                      def LatticeHom.withTopWithBot' {α : Type u_3} {β : Type u_4} [Lattice α] [Lattice β] [BoundedOrder β] (f : LatticeHom α β) :

                                                                                                                      Adjoins a and to the codomain of a LatticeHom.

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