Documentation

BourbakiLean2.Order.MaxMin

maximal and minimal elements

def Minimal {α : Type u_1} [PartialOrder α] (a : α) :
Equations
Instances For
    def Maximal {α : Type u_1} [PartialOrder α] (a : α) :
    Equations
    Instances For
      theorem minimal_iff_no_lt {α : Type u_1} [PartialOrder α] {a : α} :
      Minimal a ∀ (b : α), ¬b < a
      theorem maximal_iff_no_lt {α : Type u_1} [PartialOrder α] {a : α} :
      Maximal a ∀ (b : α), ¬a < b
      theorem exists_lt_of_not_maximal {α : Type u_1} [PartialOrder α] {a : α} (h : ¬Maximal a) :
      ∃ (b : α), a < b
      theorem exists_le_of_not_maximal {α : Type u_1} [PartialOrder α] {a : α} (h : ¬Maximal a) :
      ∃ (b : α), a b
      theorem maximal_toOp_iff_minimal {α : Type u_1} [PartialOrder α] {a : α} :
      theorem minimal_toOp_iff_maximal {α : Type u_1} [PartialOrder α] {a : α} :
      theorem preimage_maximal_strictMono {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (mono : StrictMonotone f) (h : Maximal (f a)) :
      theorem preimage_minimal_strictMono {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (mono : StrictMonotone f) (h : Minimal (f a)) :
      theorem preimage_maximal_strictAnti {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (mono : StrictAntitone f) (h : Maximal (f a)) :
      theorem preimage_minimal_strictAnti {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (mono : StrictAntitone f) (h : Minimal (f a)) :
      theorem Maximal.subtype {α : Type u_1} [PartialOrder α] {p : αProp} {a : { a : α // p a }} (h : Maximal a.val) :
      theorem Minimal.subtype {α : Type u_1} [PartialOrder α] {p : αProp} {a : { a : α // p a }} (h : Minimal a.val) :

      Greatest and least elements

      def Greatest {α : Type u_1} [Preorder α] (a : α) :
      Equations
      Instances For
        def Least {α : Type u_1} [Preorder α] (a : α) :
        Equations
        Instances For
          theorem greatest_iff_op_least {α : Type u_1} [Preorder α] {a : α} :
          theorem least_if_op_greatest {α : Type u_1} [Preorder α] {a : α} :
          theorem Greatest.subtype {α : Type u_1} [Preorder α] {p : αProp} {a' : { a : α // p a }} (h : Greatest a'.val) :
          theorem Least.subtype {α : Type u_1} [Preorder α] {p : αProp} {a' : { a : α // p a }} (h : Least a'.val) :
          theorem Greatest.all_eq {α : Type u_1} [PartialOrder α] {a a' : α} (h : Greatest a) (h' : Greatest a') :
          a = a'
          theorem Least.all_eq {α : Type u_1} [PartialOrder α] {a a' : α} (h : Least a) (h' : Least a') :
          a = a'
          instance instSubsingletonSubtypeGreatest {α : Type u_1} [PartialOrder α] :
          Subsingleton { a : α // Greatest a }
          Equations
          • =
          instance instSubsingletonSubtypeLeast {α : Type u_1} [PartialOrder α] :
          Subsingleton { a : α // Least a }
          Equations
          • =
          theorem Greatest.maximal {α : Type u_1} [PartialOrder α] {a : α} (h : Greatest a) :
          theorem Least.minimal {α : Type u_1} [PartialOrder α] {a : α} (h : Least a) :
          theorem Greatest.maximal_eq {α : Type u_1} [PartialOrder α] {a a' : α} (h : Greatest a) (h' : Maximal a') :
          a = a'
          theorem Least.minimal_eq {α : Type u_1} [PartialOrder α] {a a' : α} (h : Least a) (h' : Minimal a') :
          a = a'
          def Greatest.unique_maximal {α : Type u_1} [PartialOrder α] {a : α} (h : Greatest a) :
          Unique { a : α // Maximal a }
          Equations
          • h.unique_maximal = { default := a, , uniq := }
          Instances For
            def Least.unique_minimal {α : Type u_1} [PartialOrder α] {a : α} (h : Least a) :
            Unique { a : α // Minimal a }
            Equations
            • h.unique_minimal = { default := a, , uniq := }
            Instances For
              theorem Monotone.greatest_surj {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (h : Monotone f) (h1 : Function.Surjective f) (h2 : Greatest a) :
              Greatest (f a)
              theorem Monotone.least_surj {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (h : Monotone f) (h1 : Function.Surjective f) (h2 : Least a) :
              Least (f a)
              theorem Antitone.greatest_surj {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (h : Antitone f) (h1 : Function.Surjective f) (h2 : Least a) :
              Greatest (f a)
              theorem Antitone.least_surj {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {a : α} {f : αβ} (h : Antitone f) (h1 : Function.Surjective f) (h2 : Greatest a) :
              Least (f a)

              on partial maps

              theorem PartialMap.maximal_iff {α : Type u_1} {β : αType u_2} [∀ (a : α), Nonempty (β a)] {x : PartialMap α β} :
              Maximal x x.carrier = Set.univ
              theorem PartialMap.least_iff {α : Type u_1} {β : αType u_2} {x : PartialMap α β} :
              Least x x.carrier =
              def AdjoinGreatest (α : Type u_3) :
              Type u_3
              Equations
              Instances For
                def AdjoinGreatest.to {α : Type u_1} :
                αAdjoinGreatest α
                Equations
                • AdjoinGreatest.to = Sum.inl
                Instances For
                  Equations
                  Instances For
                    instance instLEAdjoinGreatest {α : Type u_1} [LE α] :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[simp]
                    theorem AdjoinGreatest.le_greatest {α : Type u_1} [LE α] {x : AdjoinGreatest α} :
                    x AdjoinGreatest.greatest
                    @[simp]
                    theorem AdjoinGreatest.to_le_to_iff {α : Type u_1} [LE α] {a b : α} :
                    Equations
                    Equations
                    @[simp]
                    theorem AdjoinGreatest.greatest_is_greatest {α : Type u_1} [Preorder α] :
                    Greatest AdjoinGreatest.greatest
                    def AdjoinLeast (α : Type u_3) :
                    Type u_3
                    Equations
                    Instances For
                      instance instLEAdjoinLeast {α : Type u_1} [LE α] :
                      Equations
                      • instLEAdjoinLeast = id inferInstance
                      Equations
                      • instPreorderAdjoinLeast = id inferInstance
                      Equations
                      • instPartialOrderAdjoinLeast = id inferInstance
                      def AdjoinLeast.to {α : Type u_1} :
                      αAdjoinLeast α
                      Equations
                      • AdjoinLeast.to = Sum.inl
                      Instances For
                        Equations
                        Instances For
                          @[simp]
                          theorem AdjoinLeast.least_le {α : Type u_1} [LE α] {x : AdjoinLeast α} :
                          AdjoinLeast.least x
                          @[simp]
                          theorem AdjoinLeast.to_le_to_iff {α : Type u_1} [LE α] {a b : α} :
                          @[simp]
                          theorem AdjoinLeast.least_is_least {α : Type u_1} [Preorder α] :
                          Least AdjoinLeast.least
                          @[simp]
                          theorem greatest_singleton {α : Type u_1} [Preorder α] {a : α} :
                          Greatest a,
                          @[simp]
                          theorem least_singleton {α : Type u_1} [Preorder α] {a : α} :
                          Least a,
                          class HasLeast (α : Type u_3) [Preorder α] :
                          Type u_3
                          • least : α
                          • least_le : ∀ (x : α), x
                          Instances
                            class HasGreatest (α : Type u_3) [Preorder α] :
                            Type u_3
                            • greatest : α
                            • le_greatest : ∀ (x : α), x
                            Instances

                              The top (, \top) element

                              Equations
                              Instances For

                                The bot (, \bot) element

                                Equations
                                Instances For
                                  @[instance 100]
                                  instance greatest_nonempty (α : Type u_3) [Preorder α] [HasGreatest α] :
                                  Equations
                                  • =
                                  @[instance 100]
                                  instance least_nonempty (α : Type u_3) [Preorder α] [HasLeast α] :
                                  Equations
                                  • =
                                  @[simp]
                                  theorem least_le {α : Type u_1} [Preorder α] [HasLeast α] (x : α) :
                                  @[simp]
                                  theorem le_greatest {α : Type u_1} [Preorder α] [HasGreatest α] (x : α) :
                                  theorem least_least {α : Type u_1} [Preorder α] [HasLeast α] :
                                  @[simp]
                                  theorem le_least_iff {α : Type u_1} [PartialOrder α] [HasLeast α] {x : α} :
                                  @[simp]
                                  theorem greatest_le_iff {α : Type u_1} [PartialOrder α] [HasGreatest α] {x : α} :
                                  @[simp]
                                  theorem ne_least_iff {α : Type u_1} [PartialOrder α] [HasLeast α] {x : α} :
                                  @[simp]
                                  theorem ne_greatest_iff {α : Type u_1} [PartialOrder α] [HasGreatest α] {x : α} :
                                  @[simp]
                                  theorem IsOrderIso.greatest {α : Type u_1} {β : Type u_3} [PartialOrder α] [PartialOrder β] [HasGreatest α] [HasGreatest β] {f : αβ} (h : IsOrderIso f) :
                                  @[simp]
                                  theorem IsOrderIso.least {α : Type u_1} {β : Type u_3} [PartialOrder α] [PartialOrder β] [HasLeast α] [HasLeast β] {f : αβ} (h : IsOrderIso f) :
                                  Equations
                                  • instHasLeastAdjoinLeast = { least := AdjoinLeast.least, least_le := }
                                  Equations
                                  • instHasGreatestAdjoinGreatest = { greatest := AdjoinGreatest.greatest, le_greatest := }
                                  instance instHasGreatestOpOfHasLeast {α : Type u_1} [Preorder α] [HasLeast α] :
                                  Equations
                                  • instHasGreatestOpOfHasLeast = { greatest := , le_greatest := }
                                  instance instHasLeastOpOfHasGreatest {α : Type u_1} [Preorder α] [HasGreatest α] :
                                  Equations
                                  • instHasLeastOpOfHasGreatest = { least := , least_le := }