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:

@[implicit_reducible]
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
      @[implicit_reducible]
      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
        @[implicit_reducible]
        noncomputable def Chapter8.LinearOrder.subtype {X : Type} [LinearOrder X] (A : Set X) :
        Equations
        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
                          @[implicit_reducible]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[implicit_reducible]
                          Equations