Documentation

Analysis.Section_8_5

Analysis I, Section 8.5: Ordered sets #

I have attempted to make the translation as faithful a paraphrasing as possible of the original text. When there is a choice between a more idiomatic Lean solution and a more faithful translation, I have generally chosen the latter. In particular, there will be places where the Lean code could be "golfed" to be more elegant and idiomatic, but I have consciously avoided doing so.

Main constructions and results of this section:

def Chapter8.PartialOrder.mk {X : Type} [LE X] (hrefl : ∀ (x : X), x x) (hantisymm : ∀ (x y : X), x yy xx = y) (htrans : ∀ (x y z : X), x yy zx z) :
Equations
  • Chapter8.PartialOrder.mk hrefl hantisymm htrans = { le := fun (x1 x2 : X) => x1 x2, le_refl := hrefl, le_trans := htrans, lt_iff_le_not_ge := , le_antisymm := hantisymm }
Instances For
    Equations
    Instances For
      noncomputable def Chapter8.LinearOrder.mk {X : Type} [PartialOrder X] (htotal : IsTotal X) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Chapter8.IsTotal.subtype {X : Type} [PartialOrder X] {A : Set X} (hA : IsTotal X) :
        IsTotal A
        theorem Chapter8.IsTotal.subset {X : Type} [PartialOrder X] {A B : Set X} (hA : IsTotal A) (hAB : B A) :
        IsTotal B
        @[reducible, inline]
        Equations
        Instances For
          theorem Chapter8.IsMax.iff {X : Type} [PartialOrder X] (x : X) :
          IsMax x ¬∃ (y : X), x < y

          Definition 8.5.5 (Maximal and minimal elements). Here we use Mathlib's IsMax and IsMin.

          theorem Chapter8.IsMin.iff {X : Type} [PartialOrder X] (x : X) :
          IsMin x ¬∃ (y : X), x > y
          theorem Chapter8.WellFoundedLT.iff (X : Type) [LinearOrder X] :
          WellFoundedLT X ∀ (A : Set X), A.Nonempty∃ (x : A), IsMin x

          Definition 8.5.8. We use [LinearOrder X] [WellFoundedLT X] to describe well-ordered sets.

          theorem Chapter8.WellFoundedLT.iff' {X : Type} [PartialOrder X] (h : IsTotal X) :
          WellFoundedLT X ∀ (A : Set X), A.Nonempty∃ (x : A), IsMin x
          theorem Chapter8.IsMax.ofFinite {X : Type} [LinearOrder X] [Finite X] [Nonempty X] :
          ∃ (x : X), IsMax x

          Exercise 8.5.8

          theorem Chapter8.IsMin.ofFinite {X : Type} [LinearOrder X] [Finite X] [Nonempty X] :
          ∃ (x : X), IsMin x
          theorem Chapter8.WellFoundedLT.subset {X : Type} [PartialOrder X] {A B : Set X} (hA : IsTotal A) [hwell : WellFoundedLT A] (hAB : B A) :
          theorem Chapter8.WellFoundedLT.strong_induction {X : Type} [LinearOrder X] [WellFoundedLT X] {P : XProp} (h : ∀ (n : X), (∀ m < n, P m)P n) (n : X) :
          P n

          Proposition 8.5.10 / Exercise 8.5.10

          @[reducible, inline]
          abbrev Chapter8.IsUpperBound {X : Type} [PartialOrder X] (A : Set X) (x : X) :

          Definition 8.5.12 (Upper bounds and strict upper bounds)

          Equations
          Instances For
            theorem Chapter8.IsUpperBound.iff {X : Type} [PartialOrder X] (A : Set X) (x : X) :

            Connection with Mathlib's upperBounds

            @[reducible, inline]
            abbrev Chapter8.IsStrictUpperBound {X : Type} [PartialOrder X] (A : Set X) (x : X) :
            Equations
            Instances For
              theorem Chapter8.IsStrictUpperBound.iff {X : Type} [PartialOrder X] (A : Set X) (x : X) :
              IsStrictUpperBound A x yA, y < x
              theorem Chapter8.IsMin.iff_lowerbound {X : Type} [PartialOrder X] {Y : Set X} (hY : IsTotal Y) (x₀ : X) :
              (∃ (hx₀ : x₀ Y), IsMin x₀, hx₀) x₀ Y xY, x₀ x

              A convenient way to simplify the notion of having x₀ as a minimal element.

              theorem Chapter8.IsMin.iff_lowerbound' {X : Type} [PartialOrder X] {Y : Set X} (hY : IsTotal Y) :
              (∃ (x₀ : Y), IsMin x₀) x₀Y, xY, x₀ x
              theorem Chapter8.WellFoundedLT.partialOrder {X : Type} [PartialOrder X] (x₀ : X) :
              ∃ (Y : Set X), IsTotal Y WellFoundedLT Y (∃ (hx₀ : x₀ Y), IsMin x₀, hx₀) ¬∃ (x : X), IsStrictUpperBound Y x

              Lemma 8.5.14

              theorem Chapter8.Zorns_lemma {X : Type} [PartialOrder X] [Nonempty X] (hchain : ∀ (Y : Set X), IsTotal Y Y.Nonempty∃ (x : X), IsUpperBound Y x) :
              ∃ (x : X), IsMax x

              Lemma 8.5.15 (Zorn's lemma) / Exercise 8.5.14

              Exercise 8.5.1

              Equations
              Instances For
                def Chapter8.Ex_8_5_5_b :
                Decidable (∀ (X Y : Type) (h : LinearOrder Y) (f : XY), ∃ (h₀ : LinearOrder X), LE.le = fun (x y : X) => f x < f y x = y)
                Equations
                Instances For
                  @[reducible, inline]

                  Exercise 8.5.6

                  Equations
                  Instances For
                    Equations
                    Instances For
                      def Chapter8.Lex' (α : Type) :

                      Exercise 8.5.12. Here we make a copy of Mathlib's Lex wrapper for lexicographical orderings. This wrapper is needed because products X × Y of ordered sets are given the default instance of the product partial order instead of the lexicographical one.

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