Documentation

Mathlib.Order.Hom.BoundedLattice

Bounded lattice homomorphisms #

This file defines bounded lattice homomorphisms.

We use the DFunLike design, so each type of morphisms has a companion typeclass which is meant to be satisfied by itself and all stricter types.

Types of morphisms #

Typeclasses #

TODO #

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

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

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

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

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

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

      The type of bounded lattice homomorphisms from α to β.

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

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

        You should extend this class when you extend SupBotHom.

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

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

          You should extend this class when you extend SupBotHom.

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

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

            You should extend this class when you extend BoundedLatticeHom.

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

              Special case of map_compl for boolean algebras.

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

              Special case of map_sdiff for boolean algebras.

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

              Special case of map_symmDiff for boolean algebras.

              instance instCoeTCSupBotHomOfSupBotHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Max α] [Max β] [Bot α] [Bot β] [SupBotHomClass F α β] :
              CoeTC F (SupBotHom α β)
              Equations
              instance instCoeTCInfTopHomOfInfTopHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Min α] [Min β] [Top α] [Top β] [InfTopHomClass F α β] :
              CoeTC F (InfTopHom α β)
              Equations
              instance instCoeTCBoundedLatticeHomOfBoundedLatticeHomClass {F : Type u_1} {α : Type u_2} {β : Type u_3} [FunLike F α β] [Lattice α] [Lattice β] [BoundedOrder α] [BoundedOrder β] [BoundedLatticeHomClass F α β] :
              Equations
              • One or more equations did not get rendered due to their size.

              Finitary supremum homomorphisms #

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

              Reinterpret a SupBotHom as a BotHom.

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

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

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

                  id as a SupBotHom.

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

                    Composition of SupBotHoms as a SupBotHom.

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

                      Subtype.val as a SupBotHom.

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

                        Finitary infimum homomorphisms #

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

                        Reinterpret an InfTopHom as a TopHom.

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

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

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

                            id as an InfTopHom.

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

                              Composition of InfTopHoms as an InfTopHom.

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

                                Subtype.val as an InfTopHom.

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

                                  Bounded lattice homomorphisms #

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

                                  Reinterpret a BoundedLatticeHom as a SupBotHom.

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

                                    Reinterpret a BoundedLatticeHom as an InfTopHom.

                                    Equations
                                    Instances For

                                      Reinterpret a BoundedLatticeHom as a BoundedOrderHom.

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

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

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

                                          id as a BoundedLatticeHom.

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

                                            Composition of BoundedLatticeHoms as a BoundedLatticeHom.

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

                                              Subtype.val as a BoundedLatticeHom.

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

                                                Dual homs #

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

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

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  @[simp]
                                                  theorem SupBotHom.dual_id {α : Type u_2} [Max α] [Bot α] :
                                                  @[simp]
                                                  theorem SupBotHom.dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (g : SupBotHom β γ) (f : SupBotHom α β) :
                                                  dual (g.comp f) = (dual g).comp (dual f)
                                                  @[simp]
                                                  @[simp]
                                                  theorem SupBotHom.symm_dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Max α] [Bot α] [Max β] [Bot β] [Max γ] [Bot γ] (g : InfTopHom βᵒᵈ γᵒᵈ) (f : InfTopHom αᵒᵈ βᵒᵈ) :
                                                  dual.symm (g.comp f) = (dual.symm g).comp (dual.symm f)
                                                  def InfTopHom.dual {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] :

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

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    @[simp]
                                                    @[simp]
                                                    theorem InfTopHom.dual_apply_toSupHom {α : Type u_2} {β : Type u_3} [Min α] [Top α] [Min β] [Top β] (f : InfTopHom α β) :
                                                    @[simp]
                                                    @[simp]
                                                    theorem InfTopHom.dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (g : InfTopHom β γ) (f : InfTopHom α β) :
                                                    @[simp]
                                                    theorem InfTopHom.symm_dual_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Min α] [Top α] [Min β] [Top β] [Min γ] [Top γ] (g : SupBotHom βᵒᵈ γᵒᵈ) (f : SupBotHom αᵒᵈ βᵒᵈ) :

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

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