@[implicit_reducible]
def
Chapter8.PartialOrder.mk
{X : Type}
[LE X]
(hrefl : ∀ (x : X), x ≤ x)
(hantisymm : ∀ (x y : X), x ≤ y → y ≤ x → x = y)
(htrans : ∀ (x y z : X), x ≤ y → y ≤ z → x ≤ 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
- Chapter8.IsTotal X = ∀ (x y : X), x ≤ y ∨ y ≤ x
Instances For
@[implicit_reducible]
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)
:
LinearOrder ↑A
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
Definition 8.5.8. We use [LinearOrder X] [WellFoundedLT X] to describe well-ordered sets.
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
Exercise 8.5.8
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 : X → Prop}
(h : ∀ (n : X), (∀ m < n, P m) → P n)
(n : X)
:
P n
Proposition 8.5.10 / Exercise 8.5.10
@[reducible, inline]
Definition 8.5.12 (Upper bounds and strict upper bounds)
Equations
- Chapter8.IsUpperBound A x = ∀ y ∈ A, y ≤ x
Instances For
Connection with Mathlib's upperBounds
@[reducible, inline]
Equations
- Chapter8.IsStrictUpperBound A x = (Chapter8.IsUpperBound A x ∧ x ∉ A)
Instances For
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
Equations
Instances For
def
Chapter8.Ex_8_5_5_b :
Decidable
(∀ (X Y : Type) (h : LinearOrder Y) (f : X → Y), ∃ (h₀ : LinearOrder X), LE.le = fun (x y : X) => f x < f y ∨ x = y)
Equations
- Chapter8.Ex_8_5_5_b = sorry
Instances For
@[reducible, inline]
Exercise 8.5.6
Equations
Instances For
Equations
Instances For
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
- Chapter8.Lex' α = α
Instances For
@[implicit_reducible]
instance
Chapter8.Lex'.partialOrder
{X Y : Type}
[PartialOrder X]
[PartialOrder Y]
:
PartialOrder (Lex' (X × Y))
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
instance
Chapter8.Lex'.linearOrder
{X Y : Type}
[LinearOrder X]
[LinearOrder Y]
:
LinearOrder (Lex' (X × Y))
Equations
- Chapter8.Lex'.linearOrder = sorry
instance
Chapter8.Lex'.WellFoundedLT
{X Y : Type}
[LinearOrder X]
[_root_.WellFoundedLT X]
[LinearOrder Y]
[_root_.WellFoundedLT Y]
:
_root_.WellFoundedLT (Lex' (X × Y))