Documentation

Mathlib.Order.Hom.WithTopBot

Adjoining and to order maps and lattice homomorphisms #

This file defines ways to adjoin or or both to order maps (homomorphisms, embeddings and isomorphisms) and lattice homomorphisms, and properties about the results.

Some definitions cause a possibly unbounded lattice homomorphism to become bounded, so they change the type of the homomorphism.

Taking the dual then adding is the same as adding then taking the dual. This is the order iso form of WithTop.ofDual, as proven by coe_toDualBotEquiv.

Equations
Instances For

    Taking the dual then adding is the same as adding then taking the dual. This is the order iso form of WithBot.ofDual, as proven by coe_toDualTopEquiv.

    Equations
    Instances For
      @[deprecated WithBot.coe_toDualTopEquiv (since := "2026-03-27")]

      Alias of WithBot.coe_toDualTopEquiv.

      Embedding into WithTop α.

      Equations
      Instances For

        Embedding into WithBot α.

        Equations
        Instances For
          @[simp]
          theorem Function.Embedding.coeWithTop_apply {α : Type u_1} (a✝ : α) :
          coeWithTop a✝ = a✝
          @[simp]
          theorem Function.Embedding.coeWithBot_apply {α : Type u_1} (a✝ : α) :
          coeWithBot a✝ = a✝
          def WithTop.coeOrderHom {α : Type u_4} [Preorder α] :

          The coercion α → WithTop α bundled as monotone map.

          Equations
          Instances For
            def WithBot.coeOrderHom {α : Type u_4} [Preorder α] :

            The coercion α → WithBot α bundled as monotone map.

            Equations
            Instances For
              @[simp]
              @[simp]
              def WithTop.subtypeOrderIso {α : Type u_1} [PartialOrder α] [OrderTop α] [DecidablePred fun (x : α) => x = ] :
              WithTop { a : α // a } ≃o α

              Any OrderTop is equivalent to WithTop of the subtype excluding .

              See also Equiv.optionSubtypeNe.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def WithBot.subtypeOrderIso {α : Type u_1} [PartialOrder α] [OrderBot α] [DecidablePred fun (x : α) => x = ] :
                WithBot { a : α // a } ≃o α

                Any OrderBot is equivalent to WithBot of the subtype excluding .

                See also Equiv.optionSubtypeNe.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem WithTop.subtypeOrderIso_apply_coe {α : Type u_1} [PartialOrder α] [OrderTop α] [DecidablePred fun (x : α) => x = ] (a : { a : α // a }) :
                  subtypeOrderIso a = a
                  @[simp]
                  theorem WithBot.subtypeOrderIso_apply_coe {α : Type u_1} [PartialOrder α] [OrderBot α] [DecidablePred fun (x : α) => x = ] (a : { a : α // a }) :
                  subtypeOrderIso a = a
                  theorem WithTop.subtypeOrderIso_symm_apply {α : Type u_1} [PartialOrder α] [OrderTop α] [DecidablePred fun (x : α) => x = ] {a : α} (h : a ) :
                  theorem WithBot.subtypeOrderIso_symm_apply {α : Type u_1} [PartialOrder α] [OrderBot α] [DecidablePred fun (x : α) => x = ] {a : α} (h : a ) :
                  def OrderHom.withBotMap {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α →o β) :

                  Lift an order homomorphism f : α →o β to an order homomorphism WithBot α →o WithBot β.

                  Equations
                  Instances For
                    def OrderHom.withTopMap {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α →o β) :

                    Lift an order homomorphism f : α →o β to an order homomorphism WithTop α →o WithTop β.

                    Equations
                    Instances For
                      @[simp]
                      theorem OrderHom.withBotMap_coe {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α →o β) :
                      @[simp]
                      theorem OrderHom.withTopMap_coe {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α →o β) :
                      def OrderEmbedding.withBotMap {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α ↪o β) :

                      A version of WithBot.map for order embeddings.

                      Equations
                      Instances For
                        def OrderEmbedding.withTopMap {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α ↪o β) :

                        A version of WithTop.map for order embeddings.

                        Equations
                        Instances For
                          @[simp]
                          theorem OrderEmbedding.withTopMap_apply {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α ↪o β) :
                          @[simp]
                          theorem OrderEmbedding.withBotMap_apply {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α ↪o β) :
                          def OrderIso.withTopCongr {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :

                          A version of Equiv.optionCongr for WithTop.

                          Equations
                          Instances For
                            def OrderIso.withBotCongr {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :

                            A version of Equiv.optionCongr for WithBot.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem OrderIso.withBotCongr_symm_apply {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :
                              (RelIso.symm e.withBotCongr) = (match e with | { toEquiv := iso, map_rel_iff' := h } => { toEquiv := iso, map_rel_iff' := }).withBotCongr.invFun
                              @[simp]
                              theorem OrderIso.withTopCongr_apply {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :
                              @[simp]
                              theorem OrderIso.withBotCongr_apply {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :
                              @[simp]
                              @[simp]
                              theorem OrderIso.withTopCongr_symm {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :
                              @[simp]
                              theorem OrderIso.withTopCongr_trans {α : Type u_1} {β : Type u_2} {γ : Type u_3} [PartialOrder α] [PartialOrder β] [PartialOrder γ] (e₁ : α ≃o β) (e₂ : β ≃o γ) :
                              @[simp]
                              theorem OrderIso.withBotCongr_symm {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (e : α ≃o β) :
                              @[simp]
                              theorem OrderIso.withBotCongr_trans {α : Type u_1} {β : Type u_2} {γ : Type u_3} [PartialOrder α] [PartialOrder β] [PartialOrder γ] (e₁ : α ≃o β) (e₂ : β ≃o γ) :
                              def SupHom.withTop {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) :

                              Adjoins a to the domain and codomain of a SupHom.

                              Equations
                              Instances For
                                def InfHom.withBot {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) :

                                Adjoins a to the domain and codomain of an InfHom.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem InfHom.withBot_toFun {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) (a✝ : WithBot α) :
                                  f.withBot a✝ = WithBot.map (⇑f) a✝
                                  @[simp]
                                  theorem SupHom.withTop_toFun {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) (a✝ : WithTop α) :
                                  f.withTop a✝ = WithTop.map (⇑f) a✝
                                  @[simp]
                                  @[simp]
                                  @[simp]
                                  theorem SupHom.withTop_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup β] [SemilatticeSup γ] (f : SupHom β γ) (g : SupHom α β) :
                                  @[simp]
                                  theorem InfHom.withBot_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeInf α] [SemilatticeInf β] [SemilatticeInf γ] (f : InfHom β γ) (g : InfHom α β) :
                                  def SupHom.withBot {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) :

                                  Adjoins a to the domain and codomain of a SupHom.

                                  Equations
                                  Instances For
                                    def InfHom.withTop {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) :

                                    Adjoins a to the domain and codomain of an InfHom.

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem SupHom.withBot_toFun {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) (a✝ : WithBot α) :
                                      f.withBot a✝ = WithBot.map (⇑f) a✝
                                      @[simp]
                                      theorem InfHom.withTop_toFun {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] (f : InfHom α β) (a✝ : WithTop α) :
                                      f.withTop a✝ = WithTop.map (⇑f) a✝
                                      @[simp]
                                      theorem SupHom.withBot_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup β] [SemilatticeSup γ] (f : SupHom β γ) (g : SupHom α β) :
                                      @[simp]
                                      theorem InfHom.withTop_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeInf α] [SemilatticeInf β] [SemilatticeInf γ] (f : InfHom β γ) (g : InfHom α β) :
                                      def SupHom.withTop' {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] [OrderTop β] (f : SupHom α β) :
                                      SupHom (WithTop α) β

                                      Adjoins a to the domain of a SupHom.

                                      Equations
                                      Instances For
                                        def InfHom.withBot' {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] [OrderBot β] (f : InfHom α β) :
                                        InfHom (WithBot α) β

                                        Adjoins a to the domain of an InfHom.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem SupHom.withTop'_toFun {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] [OrderTop β] (f : SupHom α β) (a : WithTop α) :
                                          @[simp]
                                          theorem InfHom.withBot'_toFun {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] [OrderBot β] (f : InfHom α β) (a : WithBot α) :
                                          def SupHom.withBot' {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] [OrderBot β] (f : SupHom α β) :

                                          Adjoins a to the domain of a SupHom.

                                          Equations
                                          Instances For
                                            def InfHom.withTop' {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] [OrderTop β] (f : InfHom α β) :

                                            Adjoins a to the domain of an InfHom.

                                            Equations
                                            Instances For
                                              @[simp]
                                              theorem SupHom.withBot'_toFun {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] [OrderBot β] (f : SupHom α β) (a : WithBot α) :
                                              @[simp]
                                              theorem InfHom.withTop'_toFun {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [SemilatticeInf β] [OrderTop β] (f : InfHom α β) (a : WithTop α) :
                                              def LatticeHom.withTop {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :

                                              Adjoins a to the domain and codomain of a LatticeHom.

                                              Equations
                                              Instances For
                                                def LatticeHom.withBot {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :

                                                Adjoins a to the domain and codomain of a LatticeHom.

                                                Equations
                                                Instances For
                                                  @[simp]
                                                  theorem LatticeHom.coe_withTop {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                  @[simp]
                                                  theorem LatticeHom.coe_withBot {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                  @[simp]
                                                  theorem LatticeHom.withTop_apply {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithTop α) :
                                                  f.withTop a = WithTop.map (⇑f) a
                                                  @[simp]
                                                  theorem LatticeHom.withBot_apply {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithBot α) :
                                                  f.withBot a = WithBot.map (⇑f) a
                                                  @[simp]
                                                  theorem LatticeHom.withTop_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                  @[simp]
                                                  theorem LatticeHom.withBot_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                  def LatticeHom.withTopWithBot {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :

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

                                                  Equations
                                                  Instances For
                                                    def LatticeHom.withBotWithTop {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :

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

                                                    Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem LatticeHom.coe_withTopWithBot {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                      @[simp]
                                                      theorem LatticeHom.coe_withBotWithTop {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) :
                                                      @[simp]
                                                      theorem LatticeHom.withTopWithBot_apply {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithTop (WithBot α)) :
                                                      @[simp]
                                                      theorem LatticeHom.withBotWithTop_apply {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithBot (WithTop α)) :
                                                      @[simp]
                                                      theorem LatticeHom.withTopWithBot_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                      @[simp]
                                                      theorem LatticeHom.withBotWithTop_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Lattice α] [Lattice β] [Lattice γ] (f : LatticeHom β γ) (g : LatticeHom α β) :
                                                      def LatticeHom.withTop' {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [OrderTop β] (f : LatticeHom α β) :

                                                      Adjoins a to the domain of a LatticeHom.

                                                      Equations
                                                      Instances For
                                                        def LatticeHom.withBot' {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [OrderBot β] (f : LatticeHom α β) :

                                                        Adjoins a to the domain of a LatticeHom.

                                                        Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem LatticeHom.withTop'_toFun {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [OrderTop β] (f : LatticeHom α β) (a : WithTop α) :
                                                          @[simp]
                                                          theorem LatticeHom.withBot'_toFun {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [OrderBot β] (f : LatticeHom α β) (a : WithBot α) :
                                                          def LatticeHom.withTopWithBot' {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [BoundedOrder β] (f : LatticeHom α β) :

                                                          Adjoins a and to the domain of a LatticeHom.

                                                          Equations
                                                          Instances For
                                                            def LatticeHom.withBotWithTop' {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [BoundedOrder β] (f : LatticeHom α β) :

                                                            Adjoins a and to the domain of a LatticeHom.

                                                            Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem LatticeHom.withTopWithBot'_toFun {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [BoundedOrder β] (f : LatticeHom α β) (a : WithTop (WithBot α)) :
                                                              @[simp]
                                                              theorem LatticeHom.withBotWithTop'_toFun {α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] [BoundedOrder β] (f : LatticeHom α β) (a : WithBot (WithTop α)) :