Documentation

Mathlib.Order.CompleteBooleanAlgebra

Frames, completely distributive lattices and complete Boolean algebras #

In this file we define and provide API for (co)frames, completely distributive lattices and complete Boolean algebras.

We distinguish two different distributivity properties:

  1. inf_iSup_eq : (a ⊓ ⨆ i, f i) = ⨆ i, a ⊓ f i (finite distributes over infinite ). This is required by Frame, CompleteDistribLattice, and CompleteBooleanAlgebra (Coframe, etc., require the dual property).
  2. iInf_iSup_eq : (⨅ i, ⨆ j, f i j) = ⨆ s, ⨅ i, f i (s i) (infinite distributes over infinite ). This stronger property is called "completely distributive", and is required by CompletelyDistribLattice and CompleteAtomicBooleanAlgebra.

Typeclasses #

A set of opens gives rise to a topological space precisely if it forms a frame. Such a frame is also completely distributive, but not all frames are. Filter is a coframe but not a completely distributive lattice.

References #

Structure containing the minimal axioms required to check that an order is a frame. Do NOT use, except for implementing Order.Frame via Order.Frame.ofMinimalAxioms.

This structure omits the himp, compl fields, which can be recovered using Order.Frame.ofMinimalAxioms.

  • inf_sSup_le_iSup_inf (a : α) (s : Set α) : asSup s bs, ab
Instances For

    Structure containing the minimal axioms required to check that an order is a coframe. Do NOT use, except for implementing Order.Coframe via Order.Coframe.ofMinimalAxioms.

    This structure omits the sdiff, hnot fields, which can be recovered using Order.Coframe.ofMinimalAxioms.

    • iInf_sup_le_sup_sInf (a : α) (s : Set α) : bs, ab asInf s
    Instances For
      class Order.Frame (α : Type u_1) extends CompleteLattice α, HeytingAlgebra α :
      Type u_1

      A frame, aka complete Heyting algebra, is a complete lattice whose distributes over .

      Instances
        class Order.Coframe (α : Type u_1) extends CompleteLattice α, CoheytingAlgebra α :
        Type u_1

        A coframe, aka complete Brouwer algebra or complete co-Heyting algebra, is a complete lattice whose distributes over .

        Instances
          theorem inf_sSup_eq {α : Type u} [Order.Frame α] {s : Set α} {a : α} :
          asSup s = bs, ab

          distributes over .

          theorem sup_sInf_eq {α : Type u} [Order.Coframe α] {s : Set α} {a : α} :
          asInf s = bs, ab

          distributes over .

          Structure containing the minimal axioms required to check that an order is a complete distributive lattice. Do NOT use, except for implementing CompleteDistribLattice via CompleteDistribLattice.ofMinimalAxioms.

          This structure omits the himp, compl, sdiff, hnot fields, which can be recovered using CompleteDistribLattice.ofMinimalAxioms.

          Instances For

            A complete distributive lattice is a complete lattice whose and respectively distribute over and .

            Instances

              Structure containing the minimal axioms required to check that an order is a completely distributive. Do NOT use, except for implementing CompletelyDistribLattice via CompletelyDistribLattice.ofMinimalAxioms.

              This structure omits the himp, compl, sdiff, hnot fields, which can be recovered using CompletelyDistribLattice.ofMinimalAxioms.

              • iInf_iSup_eq {ι : Type u} {κ : ιType u} (f : (a : ι) → κ aα) : ⨅ (a : ι), ⨆ (b : κ a), f a b = ⨆ (g : (a : ι) → κ a), ⨅ (a : ι), f a (g a)
              Instances For

                A completely distributive lattice is a complete lattice whose and distribute over each other.

                Instances
                  theorem le_iInf_iSup {α : Type u} {ι : Sort w} {κ : ιSort w'} [CompleteLattice α] {f : (a : ι) → κ aα} :
                  ⨆ (g : (a : ι) → κ a), ⨅ (a : ι), f a (g a) ⨅ (a : ι), ⨆ (b : κ a), f a b
                  theorem iSup_iInf_le {α : Type u} {ι : Sort w} {κ : ιSort w'} [CompleteLattice α] {f : (a : ι) → κ aα} :
                  ⨆ (a : ι), ⨅ (b : κ a), f a b ⨅ (g : (a : ι) → κ a), ⨆ (a : ι), f a (g a)

                  The Order.Frame.MinimalAxioms element corresponding to a frame.

                  The Order.Coframe.MinimalAxioms element corresponding to a frame.

                  @[reducible, inline]

                  Construct a frame instance using the minimal amount of work needed.

                  This sets a ⇨ b := sSup {c | c ⊓ a ≤ b} and aᶜ := a ⇨ ⊥.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[reducible, inline]

                    Construct a coframe instance using the minimal amount of work needed.

                    This sets a \ b := sInf {c | a ≤ b ⊔ c} and ¬a := ⊤ \ a.

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

                      The CompleteDistribLattice.MinimalAxioms element corresponding to a complete distrib lattice.

                      @[reducible, inline]

                      Construct a complete distrib lattice instance using the minimal amount of work needed.

                      This sets a ⇨ b := sSup {c | c ⊓ a ≤ b}, aᶜ := a ⇨ ⊥, a \ b := sInf {c | a ≤ b ⊔ c} and ¬a := ⊤ \ a.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[reducible, inline]

                        Construct a completely distributive lattice instance using the minimal amount of work needed.

                        This sets a ⇨ b := sSup {c | c ⊓ a ≤ b}, aᶜ := a ⇨ ⊥, a \ b := sInf {c | a ≤ b ⊔ c} and ¬a := ⊤ \ a.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem iInf_iSup_eq {α : Type u} {ι : Sort w} {κ : ιSort w'} [CompletelyDistribLattice α] {f : (a : ι) → κ aα} :
                          ⨅ (a : ι), ⨆ (b : κ a), f a b = ⨆ (g : (a : ι) → κ a), ⨅ (a : ι), f a (g a)
                          theorem iSup_iInf_eq {α : Type u} {ι : Sort w} {κ : ιSort w'} [CompletelyDistribLattice α] {f : (a : ι) → κ aα} :
                          ⨆ (a : ι), ⨅ (b : κ a), f a b = ⨅ (g : (a : ι) → κ a), ⨆ (a : ι), f a (g a)
                          theorem biSup_iInter_of_pairwise_disjoint {α : Type u} [CompletelyDistribLattice α] {ι : Type u_1} {κ : Type u_2} [ : Nonempty κ] {f : ια} (h : Pairwise (Function.onFun Disjoint f)) (s : κSet ι) :
                          i⋂ (j : κ), s j, f i = ⨅ (j : κ), is j, f i
                          @[instance_reducible, instance 100]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[instance_reducible, instance 100]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[instance_reducible]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem sSup_inf_eq {α : Type u} [Order.Frame α] {s : Set α} {b : α} :
                          sSup sb = as, ab
                          theorem sInf_sup_eq {α : Type u} [Order.Coframe α] {s : Set α} {b : α} :
                          sInf sb = as, ab
                          theorem iSup_inf_eq {α : Type u} {ι : Sort w} [Order.Frame α] (f : ια) (a : α) :
                          (⨆ (i : ι), f i)a = ⨆ (i : ι), f ia
                          theorem iInf_sup_eq {α : Type u} {ι : Sort w} [Order.Coframe α] (f : ια) (a : α) :
                          (⨅ (i : ι), f i)a = ⨅ (i : ι), f ia
                          theorem inf_iSup_eq {α : Type u} {ι : Sort w} [Order.Frame α] (a : α) (f : ια) :
                          a⨆ (i : ι), f i = ⨆ (i : ι), af i
                          theorem sup_iInf_eq {α : Type u} {ι : Sort w} [Order.Coframe α] (a : α) (f : ια) :
                          a⨅ (i : ι), f i = ⨅ (i : ι), af i
                          theorem iSup₂_inf_eq {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Frame α] {f : (i : ι) → κ iα} (a : α) :
                          (⨆ (i : ι), ⨆ (j : κ i), f i j)a = ⨆ (i : ι), ⨆ (j : κ i), f i ja
                          theorem iInf₂_sup_eq {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Coframe α] {f : (i : ι) → κ iα} (a : α) :
                          (⨅ (i : ι), ⨅ (j : κ i), f i j)a = ⨅ (i : ι), ⨅ (j : κ i), f i ja
                          theorem inf_iSup₂_eq {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Frame α] {f : (i : ι) → κ iα} (a : α) :
                          a⨆ (i : ι), ⨆ (j : κ i), f i j = ⨆ (i : ι), ⨆ (j : κ i), af i j
                          theorem sup_iInf₂_eq {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Coframe α] {f : (i : ι) → κ iα} (a : α) :
                          a⨅ (i : ι), ⨅ (j : κ i), f i j = ⨅ (i : ι), ⨅ (j : κ i), af i j
                          theorem himp_iInf_eq {α : Type u} {ι : Sort w} [Order.Frame α] {a : α} {f : ια} :
                          a ⨅ (x : ι), f x = ⨅ (x : ι), a f x
                          theorem iSup_sdiff_eq {α : Type u} {ι : Sort w} [Order.Coframe α] {a : α} {f : ια} :
                          (⨆ (x : ι), f x) \ a = ⨆ (x : ι), f x \ a
                          theorem iSup_himp_eq {α : Type u} {ι : Sort w} [Order.Frame α] {a : α} {f : ια} :
                          (⨆ (x : ι), f x) a = ⨅ (x : ι), f x a
                          theorem sdiff_iInf_eq {α : Type u} {ι : Sort w} [Order.Coframe α] {a : α} {f : ια} :
                          a \ ⨅ (x : ι), f x = ⨆ (x : ι), a \ f x
                          @[deprecated sdiff_iInf_eq (since := "2026-07-30")]
                          theorem sdiff_iSup_eq {α : Type u} {ι : Sort w} [Order.Coframe α] {a : α} {f : ια} :
                          a \ ⨅ (x : ι), f x = ⨆ (x : ι), a \ f x

                          Alias of sdiff_iInf_eq.

                          theorem iSup_inf_iSup {α : Type u} [Order.Frame α] {ι : Type u_1} {ι' : Type u_2} {f : ια} {g : ι'α} :
                          (⨆ (i : ι), f i)⨆ (j : ι'), g j = ⨆ (i : ι × ι'), f i.1g i.2
                          theorem iInf_sup_iInf {α : Type u} [Order.Coframe α] {ι : Type u_1} {ι' : Type u_2} {f : ια} {g : ι'α} :
                          (⨅ (i : ι), f i)⨅ (j : ι'), g j = ⨅ (i : ι × ι'), f i.1g i.2
                          theorem biSup_inf_biSup {α : Type u} [Order.Frame α] {ι : Type u_1} {ι' : Type u_2} {f : ια} {g : ι'α} {s : Set ι} {t : Set ι'} :
                          (⨆ is, f i)jt, g j = ps ×ˢ t, f p.1g p.2
                          theorem biInf_sup_biInf {α : Type u} [Order.Coframe α] {ι : Type u_1} {ι' : Type u_2} {f : ια} {g : ι'α} {s : Set ι} {t : Set ι'} :
                          (⨅ is, f i)jt, g j = ps ×ˢ t, f p.1g p.2
                          theorem sSup_inf_sSup {α : Type u} [Order.Frame α] {s t : Set α} :
                          sSup ssSup t = ps ×ˢ t, p.1p.2
                          theorem sInf_sup_sInf {α : Type u} [Order.Coframe α] {s t : Set α} :
                          sInf ssInf t = ps ×ˢ t, p.1p.2
                          theorem biSup_inter_of_pairwise_disjoint {α : Type u} [Order.Frame α] {ι : Type u_1} {f : ια} (h : Pairwise (Function.onFun Disjoint f)) (s t : Set ι) :
                          is t, f i = (⨆ is, f i)it, f i
                          theorem biInf_inter_of_pairwise_codisjoint {α : Type u} [Order.Coframe α] {ι : Type u_1} {f : ια} (h : Pairwise (Function.onFun Codisjoint f)) (s t : Set ι) :
                          is t, f i = (⨅ is, f i)it, f i
                          theorem iSup_disjoint_iff {α : Type u} {ι : Sort w} [Order.Frame α] {a : α} {f : ια} :
                          Disjoint (⨆ (i : ι), f i) a ∀ (i : ι), Disjoint (f i) a
                          theorem iInf_codisjoint_iff {α : Type u} {ι : Sort w} [Order.Coframe α] {a : α} {f : ια} :
                          Codisjoint (⨅ (i : ι), f i) a ∀ (i : ι), Codisjoint (f i) a
                          theorem disjoint_iSup_iff {α : Type u} {ι : Sort w} [Order.Frame α] {a : α} {f : ια} :
                          Disjoint a (⨆ (i : ι), f i) ∀ (i : ι), Disjoint a (f i)
                          theorem codisjoint_iInf_iff {α : Type u} {ι : Sort w} [Order.Coframe α] {a : α} {f : ια} :
                          Codisjoint a (⨅ (i : ι), f i) ∀ (i : ι), Codisjoint a (f i)
                          theorem iSup₂_disjoint_iff {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Frame α] {a : α} {f : (i : ι) → κ iα} :
                          Disjoint (⨆ (i : ι), ⨆ (j : κ i), f i j) a ∀ (i : ι) (j : κ i), Disjoint (f i j) a
                          theorem iInf₂_codisjoint_iff {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Coframe α] {a : α} {f : (i : ι) → κ iα} :
                          Codisjoint (⨅ (i : ι), ⨅ (j : κ i), f i j) a ∀ (i : ι) (j : κ i), Codisjoint (f i j) a
                          theorem disjoint_iSup₂_iff {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Frame α] {a : α} {f : (i : ι) → κ iα} :
                          Disjoint a (⨆ (i : ι), ⨆ (j : κ i), f i j) ∀ (i : ι) (j : κ i), Disjoint a (f i j)
                          theorem codisjoint_iInf₂_iff {α : Type u} {ι : Sort w} {κ : ιSort w'} [Order.Coframe α] {a : α} {f : (i : ι) → κ iα} :
                          Codisjoint a (⨅ (i : ι), ⨅ (j : κ i), f i j) ∀ (i : ι) (j : κ i), Codisjoint a (f i j)
                          theorem sSup_disjoint_iff {α : Type u} [Order.Frame α] {a : α} {s : Set α} :
                          Disjoint (sSup s) a bs, Disjoint b a
                          theorem sInf_codisjoint_iff {α : Type u} [Order.Coframe α] {a : α} {s : Set α} :
                          Codisjoint (sInf s) a bs, Codisjoint b a
                          theorem disjoint_sSup_iff {α : Type u} [Order.Frame α] {a : α} {s : Set α} :
                          Disjoint a (sSup s) bs, Disjoint a b
                          theorem codisjoint_sInf_iff {α : Type u} [Order.Coframe α] {a : α} {s : Set α} :
                          Codisjoint a (sInf s) bs, Codisjoint a b
                          theorem iSup_inf_of_monotone {α : Type u} [Order.Frame α] {ι : Type u_1} [Preorder ι] [IsDirectedOrder ι] {f g : ια} (hf : Monotone f) (hg : Monotone g) :
                          ⨆ (i : ι), f ig i = (⨆ (i : ι), f i)⨆ (i : ι), g i
                          theorem iInf_sup_of_monotone {α : Type u} [Order.Coframe α] {ι : Type u_1} [Preorder ι] [IsCodirectedOrder ι] {f g : ια} (hf : Monotone f) (hg : Monotone g) :
                          ⨅ (i : ι), f ig i = (⨅ (i : ι), f i)⨅ (i : ι), g i
                          theorem iSup_inf_of_antitone {α : Type u} [Order.Frame α] {ι : Type u_1} [Preorder ι] [IsCodirectedOrder ι] {f g : ια} (hf : Antitone f) (hg : Antitone g) :
                          ⨆ (i : ι), f ig i = (⨆ (i : ι), f i)⨆ (i : ι), g i
                          theorem iInf_sup_of_antitone {α : Type u} [Order.Coframe α] {ι : Type u_1} [Preorder ι] [IsDirectedOrder ι] {f g : ια} (hf : Antitone f) (hg : Antitone g) :
                          ⨅ (i : ι), f ig i = (⨅ (i : ι), f i)⨅ (i : ι), g i
                          theorem himp_eq_sSup {α : Type u} [Order.Frame α] {a b : α} :
                          a b = sSup {w : α | wa b}
                          theorem compl_eq_sSup_disjoint {α : Type u} [Order.Frame α] {a : α} :
                          a = sSup {w : α | Disjoint w a}
                          theorem himp_le_iff {α : Type u} [Order.Frame α] {a b c : α} :
                          a b c ∀ (d : α), da bd c
                          @[instance_reducible, instance 100]
                          Equations
                          @[instance_reducible, instance 100]
                          Equations
                          @[instance_reducible]
                          instance Prod.instFrame {α : Type u} {β : Type v} [Order.Frame α] [Order.Frame β] :
                          Order.Frame (α × β)
                          Equations
                          @[instance_reducible]
                          instance Pi.instFrame {ι : Type u_1} {π : ιType u_2} [(i : ι) → Order.Frame (π i)] :
                          Order.Frame ((i : ι) → π i)
                          Equations
                          @[instance_reducible]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem sdiff_eq_sInf {α : Type u} [Order.Coframe α] {a b : α} :
                          a \ b = sInf {w : α | a bw}
                          theorem hnot_eq_sInf_codisjoint {α : Type u} [Order.Coframe α] {a : α} :
                          a = sInf {w : α | Codisjoint a w}
                          theorem le_sdiff_iff {α : Type u} [Order.Coframe α] {a b c : α} :
                          a b \ c ∀ (d : α), b cda d
                          @[instance_reducible]
                          instance Prod.instCoframe {α : Type u} {β : Type v} [Order.Coframe α] [Order.Coframe β] :
                          Equations
                          @[instance_reducible]
                          instance Pi.instCoframe {ι : Type u_1} {π : ιType u_2} [(i : ι) → Order.Coframe (π i)] :
                          Order.Coframe ((i : ι) → π i)
                          Equations
                          @[instance_reducible]
                          Equations
                          @[instance_reducible]
                          Equations
                          @[instance_reducible]
                          instance Pi.instCompleteDistribLattice {ι : Type u_1} {π : ιType u_2} [(i : ι) → CompleteDistribLattice (π i)] :
                          CompleteDistribLattice ((i : ι) → π i)
                          Equations
                          @[instance_reducible]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[instance_reducible]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[instance_reducible]
                          instance Pi.instCompletelyDistribLattice {ι : Type u_1} {π : ιType u_2} [(i : ι) → CompletelyDistribLattice (π i)] :
                          CompletelyDistribLattice ((i : ι) → π i)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          class CompleteBooleanAlgebra (α : Type u_1) extends CompleteLattice α, BooleanAlgebra α :
                          Type u_1

                          A complete Boolean algebra is a Boolean algebra that is also a complete distributive lattice.

                          It is only completely distributive if it is also atomic.

                          Instances
                            @[instance_reducible, instance 100]
                            Equations
                            • One or more equations did not get rendered due to their size.
                            @[instance_reducible]
                            Equations
                            • One or more equations did not get rendered due to their size.
                            @[instance_reducible]
                            instance Pi.instCompleteBooleanAlgebra {ι : Type u_1} {π : ιType u_2} [(i : ι) → CompleteBooleanAlgebra (π i)] :
                            CompleteBooleanAlgebra ((i : ι) → π i)
                            Equations
                            • One or more equations did not get rendered due to their size.
                            @[instance_reducible]
                            Equations
                            • One or more equations did not get rendered due to their size.
                            theorem compl_iInf {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f : ια} :
                            (iInf f) = ⨆ (i : ι), (f i)
                            theorem compl_iSup {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f : ια} :
                            (iSup f) = ⨅ (i : ι), (f i)
                            theorem compl_sInf {α : Type u} [CompleteBooleanAlgebra α] {s : Set α} :
                            (sInf s) = is, i
                            theorem compl_sSup {α : Type u} [CompleteBooleanAlgebra α] {s : Set α} :
                            (sSup s) = is, i
                            theorem compl_sInf' {α : Type u} [CompleteBooleanAlgebra α] {s : Set α} :
                            theorem compl_sSup' {α : Type u} [CompleteBooleanAlgebra α] {s : Set α} :
                            theorem iSup_symmDiff_iSup_le {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f g : ια} :
                            symmDiff (⨆ (i : ι), f i) (⨆ (i : ι), g i) ⨆ (i : ι), symmDiff (f i) (g i)

                            The symmetric difference of two iSups is at most the iSup of the symmetric differences.

                            theorem iSup_symmDiff_le {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f : ια} [Nonempty ι] {a : α} :
                            symmDiff (⨆ (i : ι), f i) a ⨆ (i : ι), symmDiff (f i) a
                            theorem symmDiff_iSup_le {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f : ια} [Nonempty ι] {a : α} :
                            symmDiff a (⨆ (i : ι), f i) ⨆ (i : ι), symmDiff a (f i)
                            theorem sSup_symmDiff_le {α : Type u} [CompleteBooleanAlgebra α] {s : Set α} (hs : s.Nonempty) {a : α} :
                            symmDiff (sSup s) a sSup ((fun (x : α) => symmDiff x a) '' s)
                            theorem symmDiff_sSup_le {α : Type u} [CompleteBooleanAlgebra α] {s : Set α} (hs : s.Nonempty) {a : α} :
                            symmDiff a (sSup s) sSup ((fun (x : α) => symmDiff a x) '' s)
                            theorem sSup_symmDiff_sSup_le {α : Type u} [CompleteBooleanAlgebra α] {s t : Set α} (hs : s.Nonempty) (ht : t.Nonempty) :
                            symmDiff (sSup s) (sSup t) sSup (Set.image2 (fun (x1 x2 : α) => symmDiff x1 x2) s t)
                            theorem biSup_symmDiff_biSup_le {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {p : ιProp} {f g : (i : ι) → p iα} :
                            symmDiff (⨆ (i : ι), ⨆ (h : p i), f i h) (⨆ (i : ι), ⨆ (h : p i), g i h) ⨆ (i : ι), ⨆ (h : p i), symmDiff (f i h) (g i h)

                            A biSup version of iSup_symmDiff_iSup_le.

                            A complete atomic Boolean algebra is a complete Boolean algebra that is also completely distributive.

                            We take iSup_iInf_eq as the definition here, and prove later on that this implies atomicity.

                            Instances
                              @[instance_reducible, instance 100]
                              Equations
                              • One or more equations did not get rendered due to their size.
                              @[instance_reducible]
                              Equations
                              • One or more equations did not get rendered due to their size.
                              @[instance_reducible]
                              instance Pi.instCompleteAtomicBooleanAlgebra {ι : Type u_1} {π : ιType u_2} [(i : ι) → CompleteAtomicBooleanAlgebra (π i)] :
                              CompleteAtomicBooleanAlgebra ((i : ι) → π i)
                              Equations
                              @[instance_reducible]
                              Equations
                              • One or more equations did not get rendered due to their size.
                              theorem Function.frameMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (minAx : Order.Frame.MinimalAxioms β) (f : αβ) (le : ∀ {x y : α}, f x f y x y) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) :

                              Pullback an Order.Frame.MinimalAxioms along an injection.

                              theorem Function.coframeMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (maxAx : Order.Coframe.MinimalAxioms β) (f : αβ) (le : ∀ {x y : α}, f y f x y x) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) :

                              Pullback an Order.Coframe.MinimalAxioms along a function.

                              @[deprecated Function.frameMinimalAxioms (since := "2026-07-30")]
                              theorem Function.Injective.frameMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (minAx : Order.Frame.MinimalAxioms β) (f : αβ) (le : ∀ {x y : α}, f x f y x y) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) :

                              Alias of Function.frameMinimalAxioms.


                              Pullback an Order.Frame.MinimalAxioms along an injection.

                              @[deprecated Function.coframeMinimalAxioms (since := "2026-07-30")]
                              theorem Function.Injective.coframeMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (maxAx : Order.Coframe.MinimalAxioms β) (f : αβ) (le : ∀ {x y : α}, f y f x y x) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) :

                              Alias of Function.coframeMinimalAxioms.


                              Pullback an Order.Coframe.MinimalAxioms along a function.

                              @[reducible, inline]
                              abbrev Function.Injective.frame {α : Type u} {β : Type v} [Max α] [Min α] [LE α] [LT α] [SupSet α] [InfSet α] [Top α] [Bot α] [Compl α] [HImp α] [Order.Frame β] (f : αβ) (hf : Injective f) (le : ∀ {x y : α}, f x f y x y) (lt : ∀ {x y : α}, f x < f y x < y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) (map_top : f = ) (map_bot : f = ) (map_compl : ∀ (a : α), f a = (f a)) (map_himp : ∀ (a b : α), f (a b) = f a f b) :

                              Pullback an Order.Frame along an injection.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[reducible, inline]
                                abbrev Function.Injective.coframe {α : Type u} {β : Type v} [Max α] [Min α] [LE α] [LT α] [SupSet α] [InfSet α] [Top α] [Bot α] [HNot α] [SDiff α] [Order.Coframe β] (f : αβ) (hf : Injective f) (le : ∀ {x y : α}, f x f y x y) (lt : ∀ {x y : α}, f x < f y x < y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) (map_top : f = ) (map_bot : f = ) (map_hnot : ∀ (a : α), f (a) = f a) (map_sdiff : ∀ (a b : α), f (a \ b) = f a \ f b) :

                                Pullback an Order.Coframe along an injection.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem Function.completeDistribLatticeMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (minAx : CompleteDistribLattice.MinimalAxioms β) (f : αβ) (le : ∀ {x y : α}, f x f y x y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) :

                                  Pullback a CompleteDistribLattice.MinimalAxioms along an injection.

                                  @[deprecated Function.completeDistribLatticeMinimalAxioms (since := "2026-07-30")]
                                  theorem Function.Injective.completeDistribLatticeMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (minAx : CompleteDistribLattice.MinimalAxioms β) (f : αβ) (le : ∀ {x y : α}, f x f y x y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) :

                                  Alias of Function.completeDistribLatticeMinimalAxioms.


                                  Pullback a CompleteDistribLattice.MinimalAxioms along an injection.

                                  @[reducible, inline]
                                  abbrev Function.Injective.completeDistribLattice {α : Type u} {β : Type v} [Max α] [Min α] [LE α] [LT α] [SupSet α] [InfSet α] [Top α] [Bot α] [Compl α] [HImp α] [HNot α] [SDiff α] [CompleteDistribLattice β] (f : αβ) (hf : Injective f) (le : ∀ {x y : α}, f x f y x y) (lt : ∀ {x y : α}, f x < f y x < y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) (map_top : f = ) (map_bot : f = ) (map_compl : ∀ (a : α), f a = (f a)) (map_himp : ∀ (a b : α), f (a b) = f a f b) (map_hnot : ∀ (a : α), f (a) = f a) (map_sdiff : ∀ (a b : α), f (a \ b) = f a \ f b) :

                                  Pullback a CompleteDistribLattice along an injection.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    theorem Function.Injective.completelyDistribLatticeMinimalAxioms {α : Type u} {β : Type v} [CompleteLattice α] [CompleteLattice β] (minAx : CompletelyDistribLattice.MinimalAxioms β) (f : αβ) (hf : Injective f) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) :

                                    Pullback a CompletelyDistribLattice.MinimalAxioms along an injection.

                                    @[reducible, inline]
                                    abbrev Function.Injective.completelyDistribLattice {α : Type u} {β : Type v} [Max α] [Min α] [LE α] [LT α] [SupSet α] [InfSet α] [Top α] [Bot α] [Compl α] [HImp α] [HNot α] [SDiff α] [CompletelyDistribLattice β] (f : αβ) (hf : Injective f) (le : ∀ {x y : α}, f x f y x y) (lt : ∀ {x y : α}, f x < f y x < y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) (map_top : f = ) (map_bot : f = ) (map_compl : ∀ (a : α), f a = (f a)) (map_himp : ∀ (a b : α), f (a b) = f a f b) (map_hnot : ∀ (a : α), f (a) = f a) (map_sdiff : ∀ (a b : α), f (a \ b) = f a \ f b) :

                                    Pullback a CompletelyDistribLattice along an injection.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[reducible, inline]
                                      abbrev Function.Injective.completeBooleanAlgebra {α : Type u} {β : Type v} [Max α] [Min α] [LE α] [LT α] [SupSet α] [InfSet α] [Top α] [Bot α] [Compl α] [HImp α] [SDiff α] [CompleteBooleanAlgebra β] (f : αβ) (hf : Injective f) (le : ∀ {x y : α}, f x f y x y) (lt : ∀ {x y : α}, f x < f y x < y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) (map_top : f = ) (map_bot : f = ) (map_compl : ∀ (a : α), f a = (f a)) (map_himp : ∀ (a b : α), f (a b) = f a f b) (map_sdiff : ∀ (a b : α), f (a \ b) = f a \ f b) :

                                      Pullback a CompleteBooleanAlgebra along an injection.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[reducible, inline]
                                        abbrev Function.Injective.completeAtomicBooleanAlgebra {α : Type u} {β : Type v} [Max α] [Min α] [LE α] [LT α] [SupSet α] [InfSet α] [Top α] [Bot α] [Compl α] [HImp α] [HNot α] [SDiff α] [CompleteAtomicBooleanAlgebra β] (f : αβ) (hf : Injective f) (le : ∀ {x y : α}, f x f y x y) (lt : ∀ {x y : α}, f x < f y x < y) (map_sup : ∀ (a b : α), f (ab) = f af b) (map_inf : ∀ (a b : α), f (ab) = f af b) (map_sSup : ∀ (s : Set α), f (sSup s) = as, f a) (map_sInf : ∀ (s : Set α), f (sInf s) = as, f a) (map_top : f = ) (map_bot : f = ) (map_compl : ∀ (a : α), f a = (f a)) (map_himp : ∀ (a b : α), f (a b) = f a f b) (map_hnot : ∀ (a : α), f (a) = f a) (map_sdiff : ∀ (a b : α), f (a \ b) = f a \ f b) :

                                        Pullback a CompleteAtomicBooleanAlgebra along an injection.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[reducible, inline]
                                          abbrev Equiv.frame {α : Type u} {β : Type v} (e : α β) [Order.Frame β] :

                                          Transfer Frame across an Equiv.

                                          Equations
                                          Instances For
                                            @[reducible, inline]
                                            abbrev Equiv.coframe {α : Type u} {β : Type v} (e : α β) [Order.Coframe β] :

                                            Transfer Coframe across an Equiv.

                                            Equations
                                            Instances For
                                              @[reducible, inline]

                                              Transfer CompleteDistribLattice across an Equiv.

                                              Equations
                                              Instances For
                                                @[reducible, inline]

                                                Transfer CompletelyDistribLattice across an Equiv.

                                                Equations
                                                Instances For
                                                  @[reducible, inline]

                                                  Transfer CompleteBooleanAlgebra across an Equiv.

                                                  Equations
                                                  Instances For
                                                    @[reducible, inline]

                                                    Transfer CompleteAtomicBooleanAlgebra across an Equiv.

                                                    Equations
                                                    Instances For
                                                      @[instance_reducible]
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      @[simp]
                                                      theorem PUnit.sSup_eq (s : Set PUnit) :
                                                      @[simp]
                                                      theorem PUnit.sInf_eq (s : Set PUnit) :