- le_antisymm : ∀ (a b : α), a ≤ b → b ≤ a → a = b
- le_total : ∀ (x y : α), Comparable x y
Instances
Equations
Instances For
@[simp]
theorem
WellOrder.least_mem
{α : Type u}
[WellOrder α]
{s : Set α}
(h : s.Nonempty)
:
WellOrder.least h ∈ s
@[simp]
theorem
WellOrder.least_least
{α : Type u}
[WellOrder α]
{s : Set α}
(h : s.Nonempty)
{x : ↥s}
:
WellOrder.least h ≤ x.val
- le_antisymm : ∀ (a b : α), (a, b) ∈ r → (b, a) ∈ r → a = b
Instances
Equations
- instWellOrderRelAsLEOfIsWellOrder = WellOrder.mk ⋯
Equations
- instWellOrderSubtype = WellOrder.mk ⋯
Equations
- instWellOrderAdjoinGreatest = WellOrder.mk ⋯
def
totalOrder_of_exists_least
{α : Type u}
[PartialOrder α]
(h : ∀ {s : Set α}, s.Nonempty → ∃ (a : α), ∃ (h : a ∈ s), Least ⟨a, h⟩)
:
Equations
Instances For
def
IsOrderIso.wellOrder
{α : Type u}
{β : Type u_1}
[WellOrder α]
[Preorder β]
{f : α → β}
(h : IsOrderIso f)
:
Equations
- h.wellOrder = WellOrder.mk ⋯
Instances For
Equations
Instances For
Equations
- WellOrder.InitialSegment α = { s : Set α // s.IsDownwardsClosed }
Instances For
Equations
- WellOrder.InitialSegment.mk a = ⟨Set.Iio a, ⋯⟩
Instances For
Equations
- WellOrder.InitialSegment.univ = ⟨Set.univ, ⋯⟩
Instances For
Equations
- WellOrder.InitialSegment.succ_mk a = ⟨Set.Iio a ∪ {a}, ⋯⟩
Instances For
theorem
WellOrder.InitialSegment.mk_inj
{α : Type u}
[WellOrder α]
:
Function.Injective WellOrder.InitialSegment.mk
@[simp]
theorem
WellOrder.InitialSegment.univ_neq_mk
{α : Type u}
[WellOrder α]
{a : α}
:
WellOrder.InitialSegment.univ ≠ WellOrder.InitialSegment.mk a
Equations
- WellOrder.instPartialOrderInitialSegment = PartialOrder.mk ⋯
@[simp]
@[simp]
theorem
WellOrder.InitialSegment.le_univ
{α : Type u}
[WellOrder α]
{a : WellOrder.InitialSegment α}
:
a ≤ WellOrder.InitialSegment.univ
theorem
WellOrder.InitialSegment.univ_greatest
{α : Type u}
[WellOrder α]
:
Greatest WellOrder.InitialSegment.univ
theorem
WellOrder.InitialSegment.mk_or_univ
{α : Type u}
[WellOrder α]
(i : WellOrder.InitialSegment α)
:
(∃ (a : α), i = WellOrder.InitialSegment.mk a) ∨ i = WellOrder.InitialSegment.univ
@[simp]
Equations
- WellOrder.instTotalOrderInitialSegment = TotalOrder.mk ⋯
Equations
- WellOrder.InitialSegment.adjoinGreatest_iso (Sum.inr val) = WellOrder.InitialSegment.univ
- WellOrder.InitialSegment.adjoinGreatest_iso (Sum.inl a) = WellOrder.InitialSegment.mk a
Instances For
theorem
WellOrder.InitialSegment.adjoinGreatest_iso_is_iso
{α : Type u}
[WellOrder α]
:
IsOrderIso WellOrder.InitialSegment.adjoinGreatest_iso
theorem
WellOrder.InitialSegment.univ_val_isOrderIso
{α : Type u}
[WellOrder α]
:
IsOrderIso Subtype.val
theorem
WellOrder.InitialSegment.mk_unit_isOrderIso
{α : Type u}
[WellOrder α]
:
IsOrderIso fun (x : α) => ⟨x, True.intro⟩
Equations
- WellOrder.instInitialSegment = ⋯.wellOrder
instance
WellOrder.instIsDownwardsClosedValSet
{α : Type u}
[WellOrder α]
{a : WellOrder.InitialSegment α}
:
a.val.IsDownwardsClosed
Equations
- ⋯ = ⋯
theorem
WellOrder.InitialSegment.induction
{α : Type u}
[WellOrder α]
{p : WellOrder.InitialSegment α → Prop}
{x : WellOrder.InitialSegment α}
(h_union : ∀ (ι : Type u) (f : ι → WellOrder.InitialSegment α), (∀ (i : ι), p (f i)) → p ⟨⋃ i : ι, (f i).val, ⋯⟩)
(h_succ : ∀ (a : α), p (WellOrder.InitialSegment.mk a) → p (WellOrder.InitialSegment.succ_mk a))
:
p x
noncomputable def
WellOrder.wf_recursion
{α : Type u}
[WellOrder α]
{p : α → Type u_1}
(h : (x : α) → ((y : α) → y < x → p y) → p x)
(x : α)
:
p x
Equations
Instances For
theorem
WellOrder.wf_recursion_eq
{α : Type u}
[WellOrder α]
{p : α → Type u_1}
(h : (x : α) → ((y : α) → y < x → p y) → p x)
(x : α)
:
WellOrder.wf_recursion h x = h x fun (y : α) (x : y < x) => WellOrder.wf_recursion h y
def
WellOrder.InitialSegment.lift_double
{α : Type u}
[WellOrder α]
{x : WellOrder.InitialSegment α}
(y : WellOrder.InitialSegment ↥x.val)
:
Equations
- WellOrder.InitialSegment.lift_double y = ⟨Subtype.val '' y.val, ⋯⟩
Instances For
@[simp]
theorem
WellOrder.InitialSegment.lift_double_val
{α : Type u}
[WellOrder α]
{x : WellOrder.InitialSegment α}
(y : WellOrder.InitialSegment ↥x.val)
:
(WellOrder.InitialSegment.lift_double y).val = Subtype.val '' y.val
@[simp]
theorem
WellOrder.InitialSegment.lift_double_mono
{α : Type u}
[WellOrder α]
{x : WellOrder.InitialSegment α}
:
Monotone WellOrder.InitialSegment.lift_double
theorem
WellOrder.InitialSegment.lift_double_iso
{α : Type u}
[WellOrder α]
{x : WellOrder.InitialSegment α}
(y : WellOrder.InitialSegment ↥x.val)
:
∃ (f : ↥y.val → ↥(WellOrder.InitialSegment.lift_double y).val), IsOrderIso f
@[simp]
theorem
WellOrder.InitialSegment.lift_double_le
{α : Type u}
[WellOrder α]
{x : WellOrder.InitialSegment α}
(y : WellOrder.InitialSegment ↥x.val)
:
instance
ZermeloTheorem.isWellOrderColimit
{α : Type u}
{ι : Type u_1}
{x : ι → Set α}
[RightDirected ↥(x '' Set.univ)]
(h : Set.IsCovering x)
{f : (i : ι) → Relation ↥(x i) ↥(x i)}
[inst : ∀ (i : ι), IsWellOrder (f i)]
(h' :
∀ (i j : ι) (sub : x i ⊆ x j) (a b : α) (ha : a ∈ x i) (hb : b ∈ x i),
(⟨a, ha⟩, ⟨b, hb⟩) ∈ f i ↔ (⟨a, ⋯⟩, ⟨b, ⋯⟩) ∈ f j)
(h'' : ∀ (i j : ι) (sub : x i ⊆ x j) (a b : α) (ha : a ∈ x i) (hb : b ∈ x j), (⟨b, hb⟩, ⟨a, ⋯⟩) ∈ f j → b ∈ x i)
(h''' : ∀ (i j : ι), x i ⊆ x j ∨ x j ⊆ x i)
:
IsWellOrder (h.glue_rel f)
Equations
- ⋯ = ⋯
Instances For
def
ZermeloTheorem.make_partialWellOrder
{α : Type u}
{s : Set (Set α)}
(p : ↥s → α)
(hf : ∀ (a : ↥s), ¬p a ∈ a.val)
:
Equations
- ZermeloTheorem.make_partialWellOrder p hf = sorry
Instances For
Equations
- zermelo = WellOrder.carry_bij Function.bijection_univ