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:
-
Review of
PartialOrder,LinearOrder, andWellFoundedLT, with some API. -
Strong induction.
-
Zorn's lemma.
namespace Chapter8
Definition 8.5.1 - Here we just review the Mathlib PartialOrder class.
example {X:Type} [PartialOrder X] (x:X) : x ≤ x := le_refl xexample {X:Type} [PartialOrder X] {x y:X} (h₁: x ≤ y) (h₂: y ≤ x) : x = y := antisymm h₁ h₂example {X:Type} [PartialOrder X] {x y z:X} (h₁: x ≤ y) (h₂: y ≤ z) : x ≤ z := le_trans h₁ h₂example {X:Type} [PartialOrder X] (x y:X) : x < y ↔ x ≤ y ∧ x ≠ y := lt_iff_le_and_nedef 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) : PartialOrder X :=
{
le := (·≤ ·)
le_refl := hrefl
le_antisymm := hantisymm
le_trans := htrans
}example {X:Type} : PartialOrder (Set X) := X:Type⊢ PartialOrder (Set X) All goals completed! 🐙example {X:Type} (A B: Set X) : A ≤ B ↔ A ⊆ B := X:TypeA:Set XB:Set X⊢ A ≤ B ↔ A ⊆ B All goals completed! 🐙
Definition 8.5.3. Here we just review the Mathlib LinearOrder class.
example {X:Type} [LinearOrder X] : PartialOrder X := X:Typeinst✝:LinearOrder X⊢ PartialOrder X All goals completed! 🐙def IsTotal (X:Type) [PartialOrder X] : Prop := ∀ x y:X, x ≤ y ∨ y ≤ xexample {X:Type} [LinearOrder X] : IsTotal X := le_totalopen Classical in
noncomputable def LinearOrder.mk {X:Type} [PartialOrder X]
(htotal: IsTotal X) : LinearOrder X :=
{
le_total := htotal
toDecidableLE := decRel LE.le
}noncomputable def LinearOrder.subtype {X:Type} [LinearOrder X] (A: Set X) : LinearOrder A :=
LinearOrder.mk (X:Typeinst✝:LinearOrder XA:Set X⊢ IsTotal ↑A
All goals completed! 🐙
)theorem IsTotal.subtype {X:Type} [PartialOrder X] {A: Set X} (hA: IsTotal X) : IsTotal A := X:Typeinst✝:PartialOrder XA:Set XhA:IsTotal X⊢ IsTotal ↑A
X:Typeinst✝:PartialOrder XA:Set XhA:IsTotal Xx:Xhx:x ∈ Ay:Xhy:y ∈ A⊢ ⟨x, hx⟩ ≤ ⟨y, hy⟩ ∨ ⟨y, hy⟩ ≤ ⟨x, hx⟩
X:Typeinst✝:PartialOrder XA:Set Xx:Xhx:x ∈ Ay:Xhy:y ∈ AhA:x ≤ y ∨ y ≤ x⊢ ⟨x, hx⟩ ≤ ⟨y, hy⟩ ∨ ⟨y, hy⟩ ≤ ⟨x, hx⟩; All goals completed! 🐙theorem IsTotal.subset {X:Type} [PartialOrder X] {A B: Set X} (hA: IsTotal A) (hAB: B ⊆ A) : IsTotal B := X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ A⊢ IsTotal ↑B
X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ Ax:Xhx:x ∈ By:Xhy:y ∈ B⊢ ⟨x, hx⟩ ≤ ⟨y, hy⟩ ∨ ⟨y, hy⟩ ≤ ⟨x, hx⟩
X:Typeinst✝:PartialOrder XA:Set XB:Set XhAB:B ⊆ Ax:Xhx:x ∈ By:Xhy:y ∈ BhA:⟨x, ⋯⟩ ≤ ⟨y, ⋯⟩ ∨ ⟨y, ⋯⟩ ≤ ⟨x, ⋯⟩⊢ ⟨x, hx⟩ ≤ ⟨y, hy⟩ ∨ ⟨y, hy⟩ ≤ ⟨x, hx⟩; All goals completed! 🐙abbrev X_8_5_4 : Set (Set ℕ) := { {1,2}, {2}, {2,3}, {2,3,4}, {5} }example : ¬ IsTotal X_8_5_4 := ⊢ ¬IsTotal ↑X_8_5_4 All goals completed! 🐙
Definition 8.5.5 (Maximal and minimal elements). Here we use Mathlib's IsMax and IsMin.
theorem IsMax.iff {X:Type} [PartialOrder X] (x:X) :
IsMax x ↔ ¬ ∃ y, x < y := X:Typeinst✝:PartialOrder Xx:X⊢ IsMax x ↔ ¬∃ y, x < y X:Typeinst✝:PartialOrder Xx:X⊢ (∀ (b : X), ¬x < b) ↔ ¬∃ y, x < y; All goals completed! 🐙theorem IsMin.iff {X:Type} [PartialOrder X] (x:X) :
IsMin x ↔ ¬ ∃ y, x > y := X:Typeinst✝:PartialOrder Xx:X⊢ IsMin x ↔ ¬∃ y, x > y X:Typeinst✝:PartialOrder Xx:X⊢ (∀ (b : X), ¬b < x) ↔ ¬∃ y, x > y; All goals completed! 🐙Examples 8.5.6
example : IsMin (⟨ {2}, ⊢ {2} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) := ⊢ IsMin ⟨{2}, ⋯⟩ All goals completed! 🐙example : IsMax (⟨ {1,2}, ⊢ {1, 2} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) := ⊢ IsMax ⟨{1, 2}, ⋯⟩ All goals completed! 🐙example : IsMax (⟨ {2,3,4}, ⊢ {2, 3, 4} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) := ⊢ IsMax ⟨{2, 3, 4}, ⋯⟩ All goals completed! 🐙example : IsMin (⟨ {5}, ⊢ {5} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) ∧ IsMax (⟨ {5}, ⊢ {5} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) := ⊢ IsMin ⟨{5}, ⋯⟩ ∧ IsMax ⟨{5}, ⋯⟩ All goals completed! 🐙example : ¬ IsMin (⟨ {2,3}, ⊢ {2, 3} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) ∧ ¬ IsMax (⟨ {2,3}, ⊢ {2, 3} ∈ X_8_5_4 All goals completed! 🐙 ⟩ : X_8_5_4) := ⊢ ¬IsMin ⟨{2, 3}, ⋯⟩ ∧ ¬IsMax ⟨{2, 3}, ⋯⟩ All goals completed! 🐙
example (n:ℕ) : ¬ IsMax n := n:ℕ⊢ ¬IsMax n All goals completed! 🐙example (n:ℤ): ¬ IsMin n ∧ ¬ IsMax n := n:ℤ⊢ ¬IsMin n ∧ ¬IsMax n All goals completed! 🐙
Definition 8.5.8. We use [LinearOrder X] [WellFoundedLT X] to describe well-ordered sets.
theorem WellFoundedLT.iff (X:Type) [LinearOrder X] :
WellFoundedLT X ↔ ∀ A:Set X, A.Nonempty → ∃ x:A, IsMin x := X:Typeinst✝:LinearOrder X⊢ WellFoundedLT X ↔ ∀ (A : Set X), A.Nonempty → ∃ x, IsMin x
X:Typeinst✝:LinearOrder X⊢ (IsWellFounded X fun x1 x2 => x1 < x2) ↔ ∀ (A : Set X), A.Nonempty → ∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ b
X:Typeinst✝:LinearOrder X⊢ (∀ (s : Set X), s.Nonempty → ∃ m ∈ s, ∀ x ∈ s, ¬x < m) ↔ ∀ (A : Set X), A.Nonempty → ∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ b
X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonempty⊢ (∃ m ∈ A, ∀ x ∈ A, ¬x < m) ↔ ∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ b; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonempty⊢ (∃ m ∈ A, ∀ x ∈ A, ¬x < m) → ∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ bX:Typeinst✝:LinearOrder XA:Set XhA:A.Nonempty⊢ (∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ b) → ∃ m ∈ A, ∀ x ∈ A, ¬x < m
X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonempty⊢ (∃ m ∈ A, ∀ x ∈ A, ¬x < m) → ∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ b X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:XhxA:x ∈ Ah:∀ x_1 ∈ A, ¬x_1 < x⊢ ∃ x, ∀ ⦃b : ↑A⦄, b ≤ x → x ≤ b; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:XhxA:x ∈ Ah:∀ x_1 ∈ A, ¬x_1 < x⊢ ∀ ⦃b : ↑A⦄, b ≤ ⟨x, hxA⟩ → ⟨x, hxA⟩ ≤ b; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:XhxA:x ∈ Ah:∀ x_1 ∈ A, ¬x_1 < xy:Xhy:y ∈ Athis:⟨y, hy⟩ ≤ ⟨x, hxA⟩⊢ ⟨x, hxA⟩ ≤ ⟨y, hy⟩; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:XhxA:x ∈ Ay:Xhy:y ∈ Athis:⟨y, hy⟩ ≤ ⟨x, hxA⟩h:¬y < x⊢ ⟨x, hxA⟩ ≤ ⟨y, hy⟩
X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:XhxA:x ∈ Ay:Xhy:y ∈ Athis:y ≤ xh:x ≤ y⊢ x ≤ y; All goals completed! 🐙
X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ah:∀ ⦃b : ↑A⦄, b ≤ ⟨x, hx⟩ → ⟨x, hx⟩ ≤ b⊢ ∃ m ∈ A, ∀ x ∈ A, ¬x < m; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ah:∀ ⦃b : ↑A⦄, b ≤ ⟨x, hx⟩ → ⟨x, hx⟩ ≤ b⊢ ∀ x_1 ∈ A, ¬x_1 < x; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ah:∀ ⦃b : ↑A⦄, b ≤ ⟨x, hx⟩ → ⟨x, hx⟩ ≤ by:Xhy:y ∈ A⊢ ¬y < x; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ay:Xhy:y ∈ Ah:⟨y, hy⟩ ≤ ⟨x, hx⟩ → ⟨x, hx⟩ ≤ ⟨y, hy⟩⊢ ¬y < x
X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ay:Xhy:y ∈ Ah:y ≤ x → x ≤ y⊢ ¬y < x; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ay:Xhy:y ∈ Ah:y < x⊢ y ≤ x ∧ y < x; X:Typeinst✝:LinearOrder XA:Set XhA:A.Nonemptyx:Xhx:x ∈ Ay:Xhy:y ∈ Ah:y < x⊢ y ≤ x; All goals completed! 🐙theorem WellFoundedLT.iff' {X:Type} [PartialOrder X] (h: IsTotal X) :
WellFoundedLT X ↔ ∀ A:Set X, A.Nonempty → ∃ x:A, IsMin x := @iff X (LinearOrder.mk h)Example 8.5.9
example : WellFoundedLT ℕ := ⊢ WellFoundedLT ℕ
⊢ ∀ (A : Set ℕ), A.Nonempty → ∃ x, IsMin x
A:Set ℕhA:A.Nonempty⊢ ∃ x, IsMin x; A:Set ℕhA:A.Nonempty⊢ IsMin ⟨Nat.min A, ⋯⟩
A:Set ℕhA:A.Nonempty⊢ ∀ a ∈ A, a ≤ Nat.min A → Nat.min A ≤ a; All goals completed! 🐙example : ¬ WellFoundedLT ℚ := ⊢ ¬WellFoundedLT ℚ All goals completed! 🐙example : ¬ WellFoundedLT ℝ := ⊢ ¬WellFoundedLT ℝ All goals completed! 🐙Exercise 8.5.8
theorem IsMax.ofFinite {X:Type} [LinearOrder X] [Finite X] [Nonempty X] : ∃ x:X, IsMax x := X:Typeinst✝²:LinearOrder Xinst✝¹:Finite Xinst✝:Nonempty X⊢ ∃ x, IsMax x All goals completed! 🐙theorem IsMin.ofFinite {X:Type} [LinearOrder X] [Finite X] [Nonempty X] : ∃ x:X, IsMin x := X:Typeinst✝²:LinearOrder Xinst✝¹:Finite Xinst✝:Nonempty X⊢ ∃ x, IsMin x All goals completed! 🐙Exercise 8.5.8
theorem WellFoundedLT.ofFinite {X:Type} [LinearOrder X] [Finite X] : WellFoundedLT X := X:Typeinst✝¹:LinearOrder Xinst✝:Finite X⊢ WellFoundedLT X All goals completed! 🐙example {X:Type} [LinearOrder X] [WellFoundedLT X] (A: Set X) : WellFoundedLT A := X:Typeinst✝¹:LinearOrder Xinst✝:WellFoundedLT XA:Set X⊢ WellFoundedLT ↑A All goals completed! 🐙theorem WellFoundedLT.subset {X:Type} [PartialOrder X] {A B: Set X} (hA: IsTotal A) [hwell: WellFoundedLT A] (hAB: B ⊆ A) : WellFoundedLT B := X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑Ahwell:WellFoundedLT ↑AhAB:B ⊆ A⊢ WellFoundedLT ↑B
X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑Ahwell:WellFoundedLT ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124⊢ WellFoundedLT ↑B
X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑Ahwell:WellFoundedLT ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯⊢ WellFoundedLT ↑B
X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hwell:∀ (A_1 : Set ↑A), A_1.Nonempty → ∃ x, IsMin xhBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯⊢ ∀ (A : Set ↑B), A.Nonempty → ∃ x, IsMin x; X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hwell:∀ (A_1 : Set ↑A), A_1.Nonempty → ∃ x, IsMin xhBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯C:Set ↑BhC:C.Nonempty⊢ ∃ x, IsMin x
have ⟨ ⟨ ⟨ x, hx ⟩, hx' ⟩, hmin ⟩ := hwell ((B.embeddingOfSubset _ hAB) '' C) (X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hwell:∀ (A_1 : Set ↑A), A_1.Nonempty → ∃ x, IsMin xhBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯C:Set ↑BhC:C.Nonempty⊢ (⇑(B.embeddingOfSubset A hAB) '' C).Nonempty All goals completed! 🐙)
X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hwell:∀ (A_1 : Set ↑A), A_1.Nonempty → ∃ x, IsMin xhBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯C:Set ↑BhC:C.Nonemptyx:Xhx:x ∈ Ahx'✝:⟨x, hx⟩ ∈ ⇑(B.embeddingOfSubset A hAB) '' Chmin:IsMin ⟨⟨x, hx⟩, hx'✝⟩hx':∃ a, ∃ (b : a ∈ B), ⟨a, b⟩ ∈ C ∧ (B.embeddingOfSubset A hAB) ⟨a, b⟩ = ⟨x, hx⟩⊢ ∃ x, IsMin x; X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hwell:∀ (A_1 : Set ↑A), A_1.Nonempty → ∃ x, IsMin xhBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯C:Set ↑BhC:C.Nonemptyx:Xhx:x ∈ Ahx':⟨x, hx⟩ ∈ ⇑(B.embeddingOfSubset A hAB) '' Chmin:IsMin ⟨⟨x, hx⟩, hx'⟩y:Xhy:y ∈ BhyC:⟨y, hy⟩ ∈ Cthis:(B.embeddingOfSubset A hAB) ⟨y, hy⟩ = ⟨x, hx⟩⊢ ∃ x, IsMin x; X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hwell:∀ (A_1 : Set ↑A), A_1.Nonempty → ∃ x, IsMin xhBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯C:Set ↑BhC:C.Nonemptyx:Xhx:x ∈ Ahx':⟨x, hx⟩ ∈ ⇑(B.embeddingOfSubset A hAB) '' Chmin:IsMin ⟨⟨x, hx⟩, hx'⟩y:Xhy:y ∈ BhyC:⟨y, hy⟩ ∈ Cthis:(B.embeddingOfSubset A hAB) ⟨y, hy⟩ = ⟨x, hx⟩⊢ IsMin ⟨⟨y, hy⟩, hyC⟩
X:Typeinst✝:PartialOrder XA:Set XB:Set XhA:IsTotal ↑AhAB:B ⊆ AhAlin:LinearOrder ↑_fvar.63122 := Chapter8.LinearOrder.mk _fvar.63124hBlin:LinearOrder ↑_fvar.63123 := Chapter8.LinearOrder.mk ⋯C:Set ↑Bx:Xhx:x ∈ Ahx':⟨x, hx⟩ ∈ ⇑(B.embeddingOfSubset A hAB) '' Cy:Xhy:y ∈ BhyC:⟨y, hy⟩ ∈ Chwell:∀ (A_1 : Set ↑A),
A_1.Nonempty → ∃ a, (∃ (x : a ∈ A), ⟨a, ⋯⟩ ∈ A_1) ∧ ∀ (a_1 : X) (b : a_1 ∈ A), ⟨a_1, b⟩ ∈ A_1 → a_1 ≤ a → a ≤ a_1hC:C.Nonemptyhmin:∀ a ∈ A, ∀ (x_1 : X) (x_2 : x_1 ∈ B), ⟨x_1, ⋯⟩ ∈ C → x_1 = a → a ≤ x → x ≤ athis:y = x⊢ ∀ (a : X) (b : a ∈ B), ⟨a, b⟩ ∈ C → a ≤ x → x ≤ a; All goals completed! 🐙Proposition 8.5.10 / Exercise 8.5.10
theorem WellFoundedLT.strong_induction {X:Type} [LinearOrder X] [WellFoundedLT X] {P:X → Prop}
(h: ∀ n, (∀ m < n, P m) → P n) : ∀ n, P n := X:Typeinst✝¹:LinearOrder Xinst✝:WellFoundedLT XP:X → Proph:∀ (n : X), (∀ m < n, P m) → P n⊢ ∀ (n : X), P n
All goals completed! 🐙Definition 8.5.12 (Upper bounds and strict upper bounds)
abbrev IsUpperBound {X:Type} [PartialOrder X] (A:Set X) (x:X) : Prop :=
∀ y ∈ A, y ≤ x
Connection with Mathlib's upperBounds
theorem IsUpperBound.iff {X:Type} [PartialOrder X] (A:Set X) (x:X) :
IsUpperBound A x ↔ x ∈ upperBounds A := X:Typeinst✝:PartialOrder XA:Set Xx:X⊢ IsUpperBound A x ↔ x ∈ upperBounds A All goals completed! 🐙abbrev IsStrictUpperBound {X:Type} [PartialOrder X] (A:Set X) (x:X) : Prop :=
IsUpperBound A x ∧ x ∉ Atheorem IsStrictUpperBound.iff {X:Type} [PartialOrder X] (A:Set X) (x:X) :
IsStrictUpperBound A x ↔ ∀ y ∈ A, y < x := X:Typeinst✝:PartialOrder XA:Set Xx:X⊢ IsStrictUpperBound A x ↔ ∀ y ∈ A, y < x All goals completed! 🐙theorem IsStrictUpperBound.iff' {X:Type} [PartialOrder X] (A:Set X) (x:X) :
IsStrictUpperBound A x ↔ x ∈ upperBounds A \ A := X:Typeinst✝:PartialOrder XA:Set Xx:X⊢ IsStrictUpperBound A x ↔ x ∈ upperBounds A \ A
All goals completed! 🐙example : IsUpperBound (.Icc 1 2: Set ℝ) 2 := ⊢ IsUpperBound (Set.Icc 1 2) 2 All goals completed! 🐙example : ¬ IsStrictUpperBound (.Icc 1 2: Set ℝ) 2 := ⊢ ¬IsStrictUpperBound (Set.Icc 1 2) 2 All goals completed! 🐙example : IsStrictUpperBound (.Icc 1 2: Set ℝ) 3 := ⊢ IsStrictUpperBound (Set.Icc 1 2) 3 All goals completed! 🐙
A convenient way to simplify the notion of having x₀ as a minimal element.
theorem IsMin.iff_lowerbound {X:Type} [PartialOrder X] {Y: Set X} (hY: IsTotal Y) (x₀ : X) : (∃ hx₀ : x₀ ∈ Y, IsMin (⟨ x₀, hx₀ ⟩:Y)) ↔ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x := X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:X⊢ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ↔ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:X⊢ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) → x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xX:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:X⊢ (x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x) → ∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:X⊢ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) → x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀:x₀ ∈ Yhmin:IsMin ⟨x₀, hx₀⟩⊢ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x; X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀:x₀ ∈ Yhmin:∀ a ∈ Y, a ≤ x₀ → x₀ ≤ a⊢ ∀ x ∈ Y, x₀ ≤ x
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀:x₀ ∈ Yhmin:∀ a ∈ Y, a ≤ x₀ → x₀ ≤ ax:Xhx:x ∈ Ythis:x ≤ x₀ → x₀ ≤ x⊢ x₀ ≤ x; X:Typeinst✝:PartialOrder XY:Set Xx₀:Xhx₀:x₀ ∈ Yhmin:∀ a ∈ Y, a ≤ x₀ → x₀ ≤ ax:Xhx:x ∈ Ythis:x ≤ x₀ → x₀ ≤ xhY:⟨x, hx⟩ ≤ ⟨x₀, hx₀⟩ ∨ ⟨x₀, hx₀⟩ ≤ ⟨x, hx⟩⊢ x₀ ≤ x; All goals completed! 🐙
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xh:x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ ∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩; X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xh:x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ IsMin ⟨x₀, ⋯⟩; X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xh:x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ ∀ a ∈ Y, a ≤ x₀ → x₀ ≤ a; All goals completed! 🐙theorem IsMin.iff_lowerbound' {X:Type} [PartialOrder X] {Y: Set X} (hY: IsTotal Y) : (∃ x₀ : Y, IsMin x₀) ↔ ∃ x₀, x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x := X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Y⊢ (∃ x₀, IsMin x₀) ↔ ∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ x
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Y⊢ (∃ x₀, IsMin x₀) → ∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ xX:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Y⊢ (∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ x) → ∃ x₀, IsMin x₀
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Y⊢ (∃ x₀, IsMin x₀) → ∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ x X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀:x₀ ∈ Yhmin:IsMin ⟨x₀, hx₀⟩⊢ ∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ x
have : ∃ (hx₀ : x₀ ∈ Y), IsMin (⟨ _, hx₀ ⟩:Y) := X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Y⊢ (∃ x₀, IsMin x₀) ↔ ∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ x All goals completed! 🐙
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀:x₀ ∈ Yhmin:IsMin ⟨x₀, hx₀⟩this:x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ ∃ x₀ ∈ Y, ∀ x ∈ Y, x₀ ≤ x; All goals completed! 🐙
X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ ∃ x₀, IsMin x₀; X:Typeinst✝:PartialOrder XY:Set XhY:IsTotal ↑Yx₀:Xhx₀✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xhx₀:x₀ ∈ Yx✝:IsMin ⟨x₀, hx₀⟩⊢ ∃ x₀, IsMin x₀; All goals completed! 🐙Exercise 8.5.11
example {X:Type} [PartialOrder X] {Y Y':Set X} (hY: IsTotal Y) (hY': IsTotal Y') (hY_well: WellFoundedLT Y) (hY'_well: WellFoundedLT Y') (hYY': IsTotal (Y ∪ Y': Set X)) : WellFoundedLT (Y ∪ Y': Set X) := X:Typeinst✝:PartialOrder XY:Set XY':Set XhY:IsTotal ↑YhY':IsTotal ↑Y'hY_well:WellFoundedLT ↑YhY'_well:WellFoundedLT ↑Y'hYY':IsTotal ↑(Y ∪ Y')⊢ WellFoundedLT ↑(Y ∪ Y') All goals completed! 🐙Lemma 8.5.14
theorem WellFoundedLT.partialOrder {X:Type} [PartialOrder X] (x₀ : X) : ∃ Y : Set X, IsTotal Y ∧ WellFoundedLT Y ∧ (∃ hx₀ : x₀ ∈ Y, IsMin (⟨ x₀, hx₀ ⟩: Y)) ∧ ¬ ∃ x, IsStrictUpperBound Y x := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
-- This proof is based on the original text with some technical simplifications.
-- The class of well-ordered subsets `Y` of `X` that contain `x₀` as a minimal element is not named in the text,
-- but it is convenient to give it a name (`Ω₀`) for the formalization. Here we use `IsMin.iff_lowerbound` to
-- simplify the notion of minimality.
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}this:∃ Y ∈ Ω₀, ¬∃ x, IsStrictUpperBound Y x⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y xX:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}⊢ ∃ Y ∈ Ω₀, ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}this:∃ Y ∈ Ω₀, ¬∃ x, IsStrictUpperBound Y x⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}this:∃ Y ∈ Ω₀, ¬∃ x, IsStrictUpperBound Y xY:Set XhY:IsTotal ↑YhY':WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhstrict:¬∃ x, IsStrictUpperBound Y x⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}this:∃ Y ∈ Ω₀, ¬∃ x, IsStrictUpperBound Y xY:Set XhY:IsTotal ↑YhY':WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhstrict:¬∃ x, IsStrictUpperBound Y x⊢ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}this:∃ Y ∈ Ω₀, ¬∃ x, IsStrictUpperBound Y xY:Set XhY:IsTotal ↑YhY':WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhstrict:¬∃ x, IsStrictUpperBound Y x⊢ WellFoundedLT ↑Y ∧ (x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x) ∧ ¬∃ x, IsStrictUpperBound Y x; All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y x⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))⊢ False
have hpt: {x₀} ∈ Ω₀ := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
have htotal : IsTotal ({x₀}: Set X) := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))htotal:Chapter8.IsTotal ↑{_fvar.548712} := ?_mvar.552025_lin:LinearOrder ↑{_fvar.548712} := Chapter8.LinearOrder.mk _fvar.552026⊢ {x₀} ∈ Ω₀
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))htotal:Chapter8.IsTotal ↑{_fvar.548712} := ?_mvar.552025_lin:LinearOrder ↑{_fvar.548712} := Chapter8.LinearOrder.mk _fvar.552026⊢ WellFoundedLT ↑{x₀}; All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩⊢ False
-- The operation of sending a set `Y` in `Ω₀` to the smaller set `{y ∈ Y.val | y < x}`, which is also
-- in `Ω₀` if `x ∈ Y.val \ {x₀}`, is not named explicitly in the text, but we give it a name `F` for
-- the formalization.
have hF {Y:Set X} (hY: Y ∈ Ω₀) {x:X} (hxy : x ∈ Y \ {x₀}) : {y ∈ Y | y < x} ∈ Ω₀ := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhxy:x ∈ Y \ {x₀}hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ (∀ a ∈ Y, a < x → ∀ a_3 ∈ Y, a_3 < x → a ≤ a_3 ∨ a_3 ≤ a) ∧
WellFoundedLT { x_1 // x_1 ∈ Y ∧ x_1 < x } ∧ (x₀ ∈ Y ∧ x₀ < x) ∧ ∀ x_1 ∈ Y, x_1 < x → x₀ ≤ x_1; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhxy:x ∈ Y \ {x₀}hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ (∀ a ∈ Y, a < x → ∀ a_3 ∈ Y, a_3 < x → a ≤ a_3 ∨ a_3 ≤ a) ∧
WellFoundedLT { x_1 // x_1 ∈ Y ∧ x_1 < x } ∧ (x₀ ∈ Y ∧ x₀ < x) ∧ ∀ x_1 ∈ Y, x_1 < x → x₀ ≤ x_1; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ WellFoundedLT { x_1 // x_1 ∈ Y ∧ x_1 < x } ∧ x₀ < x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ WellFoundedLT { x_1 // x_1 ∈ Y ∧ x_1 < x }X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ x₀ < x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ WellFoundedLT { x_1 // x_1 ∈ Y ∧ x_1 < x } X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ IsTotal ↑YX:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ {y | y ∈ Y ∧ y < x} ⊆ Y
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ x⊢ IsTotal ↑Y X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xval✝¹:Xproperty✝¹:val✝¹ ∈ Yval✝:Xproperty✝:val✝ ∈ Y⊢ ⟨val✝¹, property✝¹⟩ ≤ ⟨val✝, property✝⟩ ∨ ⟨val✝, property✝⟩ ≤ ⟨val✝¹, property✝¹⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xval✝¹:Xproperty✝¹:val✝¹ ∈ Yval✝:Xproperty✝:val✝ ∈ Y⊢ val✝¹ ≤ val✝ ∨ val✝ ≤ val✝¹; All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xa✝:X⊢ a✝ ∈ {y | y ∈ Y ∧ y < x} → a✝ ∈ Y; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xa✝:X⊢ a✝ ∈ Y → a✝ < x → a✝ ∈ Y; All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hxy:x ∈ Y ∧ ¬x = x₀hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xthis:?_mvar.651430 := @_fvar.645109 ?_mvar.651431 ⋯⊢ x₀ < x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩Y:Set Xx:Xhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hY:(∀ a ∈ Y, ∀ a_1 ∈ Y, a ≤ a_1 ∨ a_1 ≤ a) ∧ WellFoundedLT ↑Yh✝:x₀ ∈ Yhmin:∀ x ∈ Y, x₀ ≤ xthis:?_mvar.651430 := @_fvar.645109 ?_mvar.651431 ⋯hxy:¬x₀ < x⊢ x ∈ Y → x = x₀; All goals completed! 🐙
classical
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231⊢ False
replace hF {Y : Ω₀} {x : X} (hxy : x ∈ (Y:Set X) \ {x₀}) : F Y x = { y ∈ (Y:Set X) | y < x } := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
-- The set `Ω` captures the notion of a `good set`.
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}⊢ False
have hΩ : pt ∈ Ω := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
-- Exercise 8.5.13
have ex_8_5_13 {Y Y':Ω} (x:X) (h: x ∈ (Y':Set X) \ Y) : IsStrictUpperBound Y x := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
have : IsTotal Ω := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x h⊢ ∀ (x y : ↑Ω), x ≤ y ∨ y ≤ x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:∃ x y, ¬x ≤ y ∧ ¬y ≤ x⊢ False; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωh1:¬⟨⟨Y, hY1⟩, hY2⟩ ≤ ⟨⟨Y', hY'1⟩, hY'2⟩h2:¬⟨⟨Y', hY'1⟩, hY'2⟩ ≤ ⟨⟨Y, hY1⟩, hY2⟩⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xh1:∃ a ∈ Y, a ∉ Y'h2:∃ a ∈ Y', a ∉ Y⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xh2:∃ a ∈ Y', a ∉ Yx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'⊢ False; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'x₂:Xhx₂:x₂ ∈ Y'hx₂':x₂ ∉ Y⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'x₂:Xhx₂:x₂ ∈ Y'hx₂':x₂ ∉ Yh1:IsStrictUpperBound Y x₂⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'x₂:Xhx₂:x₂ ∈ Y'hx₂':x₂ ∉ Yh1:IsStrictUpperBound Y x₂h2:IsStrictUpperBound Y' x₁⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'x₂:Xhx₂:x₂ ∈ Y'hx₂':x₂ ∉ Yh1:∀ y ∈ Y, y < x₂h2:∀ y ∈ Y', y < x₁⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'x₂:Xhx₂:x₂ ∈ Y'hx₂':x₂ ∉ Yh2:∀ y ∈ Y', y < x₁h1:x₁ < x₂⊢ False; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}Y:Set XhY1:Y ∈ Ω₀hY2:⟨Y, hY1⟩ ∈ ΩY':Set XhY'1:Y' ∈ Ω₀hY'2:⟨Y', hY'1⟩ ∈ Ωhs:∀ (a : Set X) (b : a ∈ Ω₀), IsStrictUpperBound a (s ⟨a, b⟩)hF:∀ (a : Set X) (b : a ∈ Ω₀) {x : X}, x ∈ a → ¬x = x₀ → ↑(F ⟨a, b⟩ x) = {y | y ∈ a ∧ y < x}hΩ:pt ∈ Ωex_8_5_13:∀ (a : Set X) (b : a ∈ Ω₀),
⟨a, b⟩ ∈ Ω → ∀ (a_1 : Set X) (b : a_1 ∈ Ω₀), ⟨a_1, b⟩ ∈ Ω → ∀ x ∈ a_1, x ∉ a → IsStrictUpperBound a xx₁:Xhx₁:x₁ ∈ Yhx₁':x₁ ∉ Y'x₂:Xhx₂:x₂ ∈ Y'hx₂':x₂ ∉ Yh1:x₁ < x₂h2:x₂ < x₁⊢ False; All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Y⊢ False
have hmem : x₀ ∈ Y_infty := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Y⊢ ∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ x₀ ∈ i; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Y⊢ (∃ (x : ↑pt ∈ Ω₀), ⟨↑pt, ⋯⟩ ∈ Ω) ∧ x₀ ∈ ↑pt; All goals completed! 🐙
have hmin {x:X} (hx: x ∈ Y_infty) : x₀ ≤ x := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
have htotal : IsTotal Y_infty := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_infty⊢ ⟨x, hx⟩ ≤ ⟨x', hx'⟩ ∨ ⟨x', hx'⟩ ≤ ⟨x, hx⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx✝:x ∈ Y_inftyx':Xhx'✝:x' ∈ Y_inftyhx:∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ x ∈ ihx':∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ x' ∈ i⊢ ⟨x, hx✝⟩ ≤ ⟨x', hx'✝⟩ ∨ ⟨x', hx'✝⟩ ≤ ⟨x, hx✝⟩
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx'✝:x' ∈ Y_inftyhx':∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ x' ∈ iY:Set XhxY:x ∈ YhYΩ₀:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ Ω⊢ ⟨x, hx⟩ ≤ ⟨x', hx'✝⟩ ∨ ⟨x', hx'✝⟩ ≤ ⟨x, hx⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:Y' ∈ Ω₀hY'Ω:⟨Y', ⋯⟩ ∈ Ω⊢ ⟨x, hx⟩ ≤ ⟨x', hx'⟩ ∨ ⟨x', hx'⟩ ≤ ⟨x, hx⟩
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:Y' ∈ Ω₀hY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:⟨⟨Y, ⋯⟩, hYΩ⟩ ≤ ⟨⟨Y', ⋯⟩, hY'Ω⟩ ∨ ⟨⟨Y', ⋯⟩, hY'Ω⟩ ≤ ⟨⟨Y, ⋯⟩, hYΩ⟩⊢ ⟨x, hx⟩ ≤ ⟨x', hx'⟩ ∨ ⟨x', hx'⟩ ≤ ⟨x, hx⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:IsTotal ↑Y' ∧ WellFoundedLT ↑Y' ∧ x₀ ∈ Y' ∧ ∀ x ∈ Y', x₀ ≤ xhY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:Y ⊆ Y' ∨ Y' ⊆ Y⊢ x ≤ x' ∨ x' ≤ x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:IsTotal ↑Y' ∧ WellFoundedLT ↑Y' ∧ x₀ ∈ Y' ∧ ∀ x ∈ Y', x₀ ≤ xhY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:Y ⊆ Y'⊢ x ≤ x' ∨ x' ≤ xX:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:IsTotal ↑Y' ∧ WellFoundedLT ↑Y' ∧ x₀ ∈ Y' ∧ ∀ x ∈ Y', x₀ ≤ xhY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:Y' ⊆ Y⊢ x ≤ x' ∨ x' ≤ x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:IsTotal ↑Y' ∧ WellFoundedLT ↑Y' ∧ x₀ ∈ Y' ∧ ∀ x ∈ Y', x₀ ≤ xhY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:Y ⊆ Y'⊢ x ≤ x' ∨ x' ≤ x X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀:IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀✝:IsTotal ↑Y' ∧ WellFoundedLT ↑Y' ∧ x₀ ∈ Y' ∧ ∀ x ∈ Y', x₀ ≤ xhY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:Y ⊆ Y'hY'Ω₀:?_mvar.1047951 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ x ≤ x' ∨ x' ≤ x; All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hY_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxx:Xhx:x ∈ Y_inftyx':Xhx':x' ∈ Y_inftyY:Set XhxY:x ∈ YhYΩ₀✝:IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xhYΩ:⟨Y, ⋯⟩ ∈ ΩY':Set XhxY':x' ∈ Y'hY'Ω₀:IsTotal ↑Y' ∧ WellFoundedLT ↑Y' ∧ x₀ ∈ Y' ∧ ∀ x ∈ Y', x₀ ≤ xhY'Ω:⟨Y', ⋯⟩ ∈ Ωthis:Y' ⊆ YhYΩ₀:?_mvar.1050468 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)⊢ x ≤ x' ∨ x' ≤ x; All goals completed! 🐙
have hwell : WellFoundedLT Y_infty := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633⊢ ∀ (A : Set ↑Y_infty), A.Nonempty → ∃ x, IsMin x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ A⊢ ∃ x, IsMin x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha✝:a ∈ Y_inftyhaA:⟨a, ha✝⟩ ∈ Aha:∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ a ∈ i⊢ ∃ x, IsMin x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ Ω⊢ ∃ x, IsMin x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ ∃ x, IsMin x
choose b hb hbY hbmin using hYΩ₀.2.1 {x:Y | ∃ x':A, (x:X) = x'} (X:Typeinst✝:PartialOrder Xx₀:XΩ₀:Set (Set _fvar.548710) := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:{_fvar.548712} ∈ _fvar.549299 :=
have htotal :=
of_eq_true
(Eq.trans
(forall_congr fun x =>
Eq.trans
(forall_congr fun y =>
Eq.trans (congr (congrArg Or le_of_subsingleton._simp_1) le_of_subsingleton._simp_1) (or_self True))
(implies_true ↑{_fvar.548712}))
(implies_true ↑{_fvar.548712}));
let _lin := Chapter8.LinearOrder.mk htotal;
@Eq.mpr ({_fvar.548712} ∈ _fvar.549299) (WellFoundedLT ↑{_fvar.548712})
(id
(Eq.trans
(congr (congrArg And (eq_true htotal))
(Eq.trans
(congrArg (And (WellFoundedLT ↑{_fvar.548712}))
(Eq.trans
(congr (congrArg And (Eq.trans Set.mem_singleton_iff._simp_1 (eq_self _fvar.548712)))
(Eq.trans
(Eq.trans
(forall_congr fun x => implies_congr Set.mem_singleton_iff._simp_1 (Eq.refl (_fvar.548712 ≤ x)))
forall_eq._simp_1)
(le_refl._simp_1 _fvar.548712)))
(and_self True)))
(and_true (WellFoundedLT ↑{_fvar.548712}))))
(true_and (WellFoundedLT ↑{_fvar.548712}))))
Chapter8.WellFoundedLT.ofFinitept:↑_fvar.549299 := ⟨{_fvar.548712}, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)F:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} :=
fun {Y} {x} hxy =>
of_eq_true
(Eq.trans
(congrArg (fun x_1 => ↑x_1 = {y | y ∈ ↑Y ∧ y < x})
(Eq.trans
(congrArg (fun x_1 => x_1 Y x)
(funext fun Y =>
funext fun x =>
dite_congr
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
(fun h =>
Eq.refl
⟨{y | y ∈ ↑Y ∧ y < x},
@_fvar.557581 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y) x
(Eq.mpr_prop
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
h)⟩)
fun h => Eq.refl _fvar.557231))
(dite_cond_eq_true
(Eq.trans
(congr
(congrArg And
(eq_true
(id
(Eq.mp
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
hxy)).1))
(Eq.trans
(congrArg Not
(eq_false
(id
(Eq.mp
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
hxy)).2))
not_false_eq_true))
(and_self True)))))
(eq_self {y | y ∈ ↑Y ∧ y < x}))Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := sorryex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => sorrythis:Chapter8.IsTotal ↑_fvar.684489 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 :=
@Eq.mpr (_fvar.548712 ∈ _fvar.908527)
(∃ i,
(∃ (x : i ∈ _fvar.549299),
⟨i,
(Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299)
((Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299) x)⟩ ∈
_fvar.684489) ∧
_fvar.548712 ∈ i)
(id
(Eq.trans
(Eq.trans
(congrArg (fun x => _fvar.548712 ∈ x)
(Eq.trans (Set.iUnion_coe_set _fvar.684489 fun i => ↑↑i)
(Eq.trans
(Eq.trans
(congrArg Set.iUnion
(funext fun i => Set.iUnion_congr_Prop (Iff.of_eq (Eq.refl (i ∈ _fvar.684489))) fun x => Eq.refl ↑i))
(Set.iUnion_coe_set _fvar.549299 fun i => ⋃ (_ : i ∈ _fvar.684489), ↑i))
(congrArg Set.iUnion
(funext fun i =>
Set.iUnion_congr_Prop (Iff.of_eq (Eq.refl (i ∈ _fvar.549299))) fun x =>
Set.iUnion_congr_Prop
(Iff.of_eq
(Eq.refl
(⟨i, (Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299) x⟩ ∈
_fvar.684489)))
fun x => Eq.refl i)))))
Set.mem_iUnion._simp_1)
(congrArg Exists
(funext fun i =>
Eq.trans Set.mem_iUnion._simp_1
(Eq.trans
(propext
(exists_prop_congr (fun h => Iff.of_eq (Eq.trans Set.mem_iUnion._simp_1 exists_prop._simp_1))
(Iff.of_eq (Eq.refl (i ∈ _fvar.549299)))))
exists_and_right._simp_1)))))
(Exists.intro (↑_fvar.557231)
(Chapter8.WellFoundedLT.partialOrder._proof_7 _fvar.548712 _fvar.551104 _fvar.551527 _fvar.551760 _fvar.557581
_fvar.664494 _fvar.684711 _fvar.685361 _fvar.685636))hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => sorryhtotal:Chapter8.IsTotal ↑_fvar.908527 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ {x | ∃ x', ↑x = ↑↑x'}.Nonempty X:Typeinst✝:PartialOrder Xx₀:XΩ₀:Set (Set _fvar.548710) := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:{_fvar.548712} ∈ _fvar.549299 :=
have htotal :=
of_eq_true
(Eq.trans
(forall_congr fun x =>
Eq.trans
(forall_congr fun y =>
Eq.trans (congr (congrArg Or le_of_subsingleton._simp_1) le_of_subsingleton._simp_1) (or_self True))
(implies_true ↑{_fvar.548712}))
(implies_true ↑{_fvar.548712}));
let _lin := Chapter8.LinearOrder.mk htotal;
@Eq.mpr ({_fvar.548712} ∈ _fvar.549299) (WellFoundedLT ↑{_fvar.548712})
(id
(Eq.trans
(congr (congrArg And (eq_true htotal))
(Eq.trans
(congrArg (And (WellFoundedLT ↑{_fvar.548712}))
(Eq.trans
(congr (congrArg And (Eq.trans Set.mem_singleton_iff._simp_1 (eq_self _fvar.548712)))
(Eq.trans
(Eq.trans
(forall_congr fun x => implies_congr Set.mem_singleton_iff._simp_1 (Eq.refl (_fvar.548712 ≤ x)))
forall_eq._simp_1)
(le_refl._simp_1 _fvar.548712)))
(and_self True)))
(and_true (WellFoundedLT ↑{_fvar.548712}))))
(true_and (WellFoundedLT ↑{_fvar.548712}))))
Chapter8.WellFoundedLT.ofFinitept:↑_fvar.549299 := ⟨{_fvar.548712}, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)F:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} :=
fun {Y} {x} hxy =>
of_eq_true
(Eq.trans
(congrArg (fun x_1 => ↑x_1 = {y | y ∈ ↑Y ∧ y < x})
(Eq.trans
(congrArg (fun x_1 => x_1 Y x)
(funext fun Y =>
funext fun x =>
dite_congr
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
(fun h =>
Eq.refl
⟨{y | y ∈ ↑Y ∧ y < x},
@_fvar.557581 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y) x
(Eq.mpr_prop
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
h)⟩)
fun h => Eq.refl _fvar.557231))
(dite_cond_eq_true
(Eq.trans
(congr
(congrArg And
(eq_true
(id
(Eq.mp
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
hxy)).1))
(Eq.trans
(congrArg Not
(eq_false
(id
(Eq.mp
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
hxy)).2))
not_false_eq_true))
(and_self True)))))
(eq_self {y | y ∈ ↑Y ∧ y < x}))Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := sorryex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => sorrythis:Chapter8.IsTotal ↑_fvar.684489 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 :=
@Eq.mpr (_fvar.548712 ∈ _fvar.908527)
(∃ i,
(∃ (x : i ∈ _fvar.549299),
⟨i,
(Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299)
((Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299) x)⟩ ∈
_fvar.684489) ∧
_fvar.548712 ∈ i)
(id
(Eq.trans
(Eq.trans
(congrArg (fun x => _fvar.548712 ∈ x)
(Eq.trans (Set.iUnion_coe_set _fvar.684489 fun i => ↑↑i)
(Eq.trans
(Eq.trans
(congrArg Set.iUnion
(funext fun i => Set.iUnion_congr_Prop (Iff.of_eq (Eq.refl (i ∈ _fvar.684489))) fun x => Eq.refl ↑i))
(Set.iUnion_coe_set _fvar.549299 fun i => ⋃ (_ : i ∈ _fvar.684489), ↑i))
(congrArg Set.iUnion
(funext fun i =>
Set.iUnion_congr_Prop (Iff.of_eq (Eq.refl (i ∈ _fvar.549299))) fun x =>
Set.iUnion_congr_Prop
(Iff.of_eq
(Eq.refl
(⟨i, (Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299) x⟩ ∈
_fvar.684489)))
fun x => Eq.refl i)))))
Set.mem_iUnion._simp_1)
(congrArg Exists
(funext fun i =>
Eq.trans Set.mem_iUnion._simp_1
(Eq.trans
(propext
(exists_prop_congr (fun h => Iff.of_eq (Eq.trans Set.mem_iUnion._simp_1 exists_prop._simp_1))
(Iff.of_eq (Eq.refl (i ∈ _fvar.549299)))))
exists_and_right._simp_1)))))
(Exists.intro (↑_fvar.557231)
(Chapter8.WellFoundedLT.partialOrder._proof_7 _fvar.548712 _fvar.551104 _fvar.551527 _fvar.551760 _fvar.557581
_fvar.664494 _fvar.684711 _fvar.685361 _fvar.685636))hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => sorryhtotal:Chapter8.IsTotal ↑_fvar.908527 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ x⊢ ⟨a, haY⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}; All goals completed! 🐙)
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY✝:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY✝⟩hbY:∃ (h : b ∈ Y_infty), ⟨b, ⋯⟩ ∈ A⊢ ∃ x, IsMin x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY⟩hbY_infty:b ∈ Y_inftyhbA:⟨b, ⋯⟩ ∈ A⊢ ∃ x, IsMin x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY⟩hbY_infty:b ∈ Y_inftyhbA:⟨b, ⋯⟩ ∈ A⊢ ∃ x₀ ∈ A, ∀ x ∈ A, x₀ ≤ x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY⟩hbY_infty:b ∈ Y_inftyhbA:⟨b, ⋯⟩ ∈ A⊢ ∀ x ∈ A, ⟨b, hbY_infty⟩ ≤ x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY⟩hbY_infty:b ∈ Y_inftyhbA:⟨b, ⋯⟩ ∈ Ax:Xhx:x ∈ Y_inftyhxA:⟨x, hx⟩ ∈ A⊢ ⟨b, hbY_infty⟩ ≤ ⟨x, hx⟩
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY⟩hbY_infty:b ∈ Y_inftyhbA:⟨b, ⋯⟩ ∈ Ax:Xhx✝:x ∈ Y_inftyhxA:⟨x, hx✝⟩ ∈ Ahx:∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ x ∈ i⊢ b ≤ x; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633A:Set ↑Y_inftya:Xha:a ∈ Y_inftyhaA:⟨a, ha⟩ ∈ AY:Set XhaY:a ∈ YhYΩ₀✝:Y ∈ Ω₀hYΩ:⟨Y, ⋯⟩ ∈ ΩhYΩ₀:IsTotal ↑Y ∧
(∀ (A : Set ↑Y), A.Nonempty → ∃ a, ∃ (b : a ∈ Y) (b_1 : ⟨a, b⟩ ∈ A), IsMin ⟨⟨a, b⟩, b_1⟩) ∧ x₀ ∈ Y ∧ ∀ x ∈ Y, x₀ ≤ xb:Xhb:b ∈ YhbY:⟨b, hb⟩ ∈ {x | ∃ x', ↑x = ↑↑x'}hbmin:IsMin ⟨⟨b, hb⟩, hbY⟩hbY_infty:b ∈ Y_inftyhbA:⟨b, ⋯⟩ ∈ Ax:Xhx:x ∈ Y_inftyhxA:⟨x, hx⟩ ∈ AY':Set XhxY':x ∈ Y'hY'Ω₀:Y' ∈ Ω₀hY'Ω:⟨Y', ⋯⟩ ∈ Ω⊢ b ≤ x
All goals completed! 🐙
have hY_inftyΩ₀ : Y_infty ∈ Ω₀ := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hs:∀ (Y : ↑_fvar.549299), Chapter8.IsStrictUpperBound (↑Y) (@_fvar.551233 Y) := fun Y => Exists.choose_spec (@_fvar.551104 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y))hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩⊢ False
have hYs_total : IsTotal (Y_infty ∪ {sY_infty} : Set X) := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
have hYs_well : WellFoundedLT (Y_infty ∪ {sY_infty} : Set X) := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
have hYs_mem : x₀ ∈ Y_infty ∪ {sY_infty} := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x All goals completed! 🐙
have hYs_min : ∀ x ∈ Y_infty ∪ {sY_infty}, x₀ ≤ x := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x All goals completed! 🐙
have hYs_Ω₀ : (Y_infty ∪ {sY_infty}) ∈ Ω₀ := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:IsStrictUpperBound (↑⟨Y_infty, hY_inftyΩ₀⟩) (s ⟨Y_infty, hY_inftyΩ₀⟩)⊢ False
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩⊢ False
have hYs_Ω : ⟨ _, hYs_Ω₀ ⟩ ∈ Ω := X:Typeinst✝:PartialOrder Xx₀:X⊢ ∃ Y, IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ (∃ (hx₀ : x₀ ∈ Y), IsMin ⟨x₀, hx₀⟩) ∧ ¬∃ x, IsStrictUpperBound Y x
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩⊢ ∀ (x : X), x ∈ insert sY_infty Y_infty ∧ ¬x = x₀ → x = s (F ⟨insert sY_infty Y_infty, ⋯⟩ x)
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ sY_infty = s (F ⟨insert sY_infty Y_infty, ⋯⟩ sY_infty)X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩x:Xhxx₀:¬x = x₀hx:x ∈ Y_infty⊢ x = s (F ⟨insert sY_infty Y_infty, ⋯⟩ x)
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ sY_infty = s (F ⟨insert sY_infty Y_infty, ⋯⟩ sY_infty) X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ s ⟨Y_infty, hY_inftyΩ₀⟩ = s (F ⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ (s ⟨Y_infty, hY_inftyΩ₀⟩)); X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ ⟨Y_infty, hY_inftyΩ₀⟩ = F ⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ (s ⟨Y_infty, hY_inftyΩ₀⟩)
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ F ⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ (s ⟨Y_infty, hY_inftyΩ₀⟩) = ⟨Y_infty, hY_inftyΩ₀⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ ↑(F ⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ (s ⟨Y_infty, hY_inftyΩ₀⟩)) = ↑⟨Y_infty, hY_inftyΩ₀⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ ↑⟨Y_infty, hY_inftyΩ₀⟩ = {y | y ∈ ↑⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ ∧ y < s ⟨Y_infty, hY_inftyΩ₀⟩}X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ s ⟨Y_infty, hY_inftyΩ₀⟩ ∈ ↑⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ \ {x₀}
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ ↑⟨Y_infty, hY_inftyΩ₀⟩ = {y | y ∈ ↑⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ ∧ y < s ⟨Y_infty, hY_inftyΩ₀⟩} X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:X⊢ x✝ ∈ ↑⟨Y_infty, hY_inftyΩ₀⟩ ↔
x✝ ∈ {y | y ∈ ↑⟨insert (s ⟨Y_infty, hY_inftyΩ₀⟩) Y_infty, ⋯⟩ ∧ y < s ⟨Y_infty, hY_inftyΩ₀⟩}; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:X⊢ x✝ ∈ Y_infty ↔ (x✝ = s ⟨Y_infty, hY_inftyΩ₀⟩ ∨ x✝ ∈ Y_infty) ∧ x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩; X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:X⊢ x✝ ∈ Y_infty → (x✝ = s ⟨Y_infty, hY_inftyΩ₀⟩ ∨ x✝ ∈ Y_infty) ∧ x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:X⊢ (x✝ = s ⟨Y_infty, hY_inftyΩ₀⟩ ∨ x✝ ∈ Y_infty) ∧ x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩ → x✝ ∈ Y_infty
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:X⊢ x✝ ∈ Y_infty → (x✝ = s ⟨Y_infty, hY_inftyΩ₀⟩ ∨ x✝ ∈ Y_infty) ∧ x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩ All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:Xright✝:x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩h✝:x✝ = s ⟨Y_infty, hY_inftyΩ₀⟩⊢ x✝ ∈ Y_inftyX:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:Xright✝:x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩h✝:x✝ ∈ Y_infty⊢ x✝ ∈ Y_infty
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀x✝:Xright✝:x✝ < s ⟨Y_infty, hY_inftyΩ₀⟩h✝:x✝ = s ⟨Y_infty, hY_inftyΩ₀⟩⊢ x✝ ∈ Y_infty All goals completed! 🐙
All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ ¬s ⟨Y_infty, hY_inftyΩ₀⟩ = x₀; specialize hs (y := x₀) (X:Typeinst✝:PartialOrder Xx₀:XΩ₀:Set (Set _fvar.548710) := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:{_fvar.548712} ∈ _fvar.549299 :=
have htotal :=
of_eq_true
(Eq.trans
(forall_congr fun x =>
Eq.trans
(forall_congr fun y =>
Eq.trans (congr (congrArg Or le_of_subsingleton._simp_1) le_of_subsingleton._simp_1) (or_self True))
(implies_true ↑{_fvar.548712}))
(implies_true ↑{_fvar.548712}));
let _lin := Chapter8.LinearOrder.mk htotal;
@Eq.mpr ({_fvar.548712} ∈ _fvar.549299) (WellFoundedLT ↑{_fvar.548712})
(id
(Eq.trans
(congr (congrArg And (eq_true htotal))
(Eq.trans
(congrArg (And (WellFoundedLT ↑{_fvar.548712}))
(Eq.trans
(congr (congrArg And (Eq.trans Set.mem_singleton_iff._simp_1 (eq_self _fvar.548712)))
(Eq.trans
(Eq.trans
(forall_congr fun x => implies_congr Set.mem_singleton_iff._simp_1 (Eq.refl (_fvar.548712 ≤ x)))
forall_eq._simp_1)
(le_refl._simp_1 _fvar.548712)))
(and_self True)))
(and_true (WellFoundedLT ↑{_fvar.548712}))))
(true_and (WellFoundedLT ↑{_fvar.548712}))))
Chapter8.WellFoundedLT.ofFinitept:↑_fvar.549299 := ⟨{_fvar.548712}, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)F:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} :=
fun {Y} {x} hxy =>
of_eq_true
(Eq.trans
(congrArg (fun x_1 => ↑x_1 = {y | y ∈ ↑Y ∧ y < x})
(Eq.trans
(congrArg (fun x_1 => x_1 Y x)
(funext fun Y =>
funext fun x =>
dite_congr
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
(fun h =>
Eq.refl
⟨{y | y ∈ ↑Y ∧ y < x},
@_fvar.557581 (↑Y) (@Subtype.property (Set _fvar.548710) (fun x => x ∈ _fvar.549299) Y) x
(Eq.mpr_prop
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
h)⟩)
fun h => Eq.refl _fvar.557231))
(dite_cond_eq_true
(Eq.trans
(congr
(congrArg And
(eq_true
(id
(Eq.mp
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
hxy)).1))
(Eq.trans
(congrArg Not
(eq_false
(id
(Eq.mp
(Eq.trans (Set.mem_diff._simp_1 x)
(congrArg (fun x_1 => x ∈ ↑Y ∧ ¬x_1) Set.mem_singleton_iff._simp_1))
hxy)).2))
not_false_eq_true))
(and_self True)))))
(eq_self {y | y ∈ ↑Y ∧ y < x}))Ω:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := sorryex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => sorrythis:Chapter8.IsTotal ↑_fvar.684489 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 :=
@Eq.mpr (_fvar.548712 ∈ _fvar.908527)
(∃ i,
(∃ (x : i ∈ _fvar.549299),
⟨i,
(Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299)
((Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299) x)⟩ ∈
_fvar.684489) ∧
_fvar.548712 ∈ i)
(id
(Eq.trans
(Eq.trans
(congrArg (fun x => _fvar.548712 ∈ x)
(Eq.trans (Set.iUnion_coe_set _fvar.684489 fun i => ↑↑i)
(Eq.trans
(Eq.trans
(congrArg Set.iUnion
(funext fun i => Set.iUnion_congr_Prop (Iff.of_eq (Eq.refl (i ∈ _fvar.684489))) fun x => Eq.refl ↑i))
(Set.iUnion_coe_set _fvar.549299 fun i => ⋃ (_ : i ∈ _fvar.684489), ↑i))
(congrArg Set.iUnion
(funext fun i =>
Set.iUnion_congr_Prop (Iff.of_eq (Eq.refl (i ∈ _fvar.549299))) fun x =>
Set.iUnion_congr_Prop
(Iff.of_eq
(Eq.refl
(⟨i, (Iff.of_eq (Eq.refl (i ∈ _fvar.549299))).mpr (i ∈ _fvar.549299) (i ∈ _fvar.549299) x⟩ ∈
_fvar.684489)))
fun x => Eq.refl i)))))
Set.mem_iUnion._simp_1)
(congrArg Exists
(funext fun i =>
Eq.trans Set.mem_iUnion._simp_1
(Eq.trans
(propext
(exists_prop_congr (fun h => Iff.of_eq (Eq.trans Set.mem_iUnion._simp_1 exists_prop._simp_1))
(Iff.of_eq (Eq.refl (i ∈ _fvar.549299)))))
exists_and_right._simp_1)))))
(Exists.intro (↑_fvar.557231)
(Chapter8.WellFoundedLT.partialOrder._proof_7 _fvar.548712 _fvar.551104 _fvar.551527 _fvar.551760 _fvar.557581
_fvar.664494 _fvar.684711 _fvar.685361 _fvar.685636))hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => sorryhtotal:Chapter8.IsTotal ↑_fvar.908527 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hwell:WellFoundedLT ↑_fvar.908527 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := sorrysY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := sorryhYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := sorryhYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := sorryhYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := sorryhYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 :=
@Eq.mpr (_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299)
(∀ (x : _fvar.548710), x ∈ _fvar.908527 ∨ x = _fvar.1270609 → _fvar.548712 ≤ x)
(id
(Eq.trans
(congr (congrArg And (eq_true _fvar.1271133))
(Eq.trans
(congr (congrArg And (eq_true _fvar.1271426))
(Eq.trans
(congr (congrArg And (eq_true _fvar.1271572))
(forall_congr fun x =>
implies_congr
(Eq.trans (Set.mem_union._simp_1 x _fvar.908527 {_fvar.1270609})
(congrArg (Or (x ∈ _fvar.908527)) Set.mem_singleton_iff._simp_1))
(Eq.refl (_fvar.548712 ≤ x))))
(true_and (∀ (x : _fvar.548710), x ∈ _fvar.908527 ∨ x = _fvar.1270609 → _fvar.548712 ≤ x))))
(true_and (∀ (x : _fvar.548710), x ∈ _fvar.908527 ∨ x = _fvar.1270609 → _fvar.548712 ≤ x))))
(true_and (∀ (x : _fvar.548710), x ∈ _fvar.908527 ∨ x = _fvar.1270609 → _fvar.548712 ≤ x))))
_fvar.1271741hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩hxx₀:¬sY_infty = x₀⊢ x₀ ∈ Y_infty All goals completed! 🐙); All goals completed! 🐙
X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩x:Xhxx₀:¬x = x₀hx:x ∈ Y_inftyhx':?_mvar.1306060 := _fvar.1287233⊢ x = s (F ⟨insert sY_infty Y_infty, ⋯⟩ x); X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs:∀ y ∈ Y_infty, y < s ⟨Y_infty, hY_inftyΩ₀⟩x:Xhxx₀:¬x = x₀hx:x ∈ Y_inftyhx':∃ i, (∃ (x : i ∈ Ω₀), ⟨i, ⋯⟩ ∈ Ω) ∧ x ∈ i⊢ x = s (F ⟨insert sY_infty Y_infty, ⋯⟩ x); X:Typeinst✝:PartialOrder Xx₀:XΩ₀:?_mvar.548715 := {Y | Chapter8.IsTotal ↑Y ∧ WellFoundedLT ↑Y ∧ _fvar.548712 ∈ Y ∧ ∀ x ∈ Y, _fvar.548712 ≤ x}hs✝:∀ Y ∈ Ω₀, ∃ x, IsStrictUpperBound Y xs:↑_fvar.549299 → _fvar.548710 := fun Y => @Exists.choose _fvar.548710 (Chapter8.IsStrictUpperBound ↑Y) (@_fvar.551104 ↑Y ⋯)hpt:?_mvar.551696 ∈ _fvar.549299 := ?_mvar.551759pt:↑_fvar.549299 := ⟨?_mvar.557220, _fvar.551760⟩hF✝:∀ {Y : Set _fvar.548710},
Y ∈ _fvar.549299 → ∀ {x : _fvar.548710}, x ∈ Y \ {_fvar.548712} → {y | y ∈ Y ∧ y < x} ∈ _fvar.549299 :=
fun {Y} hY {x} hxy => @?_mvar.557580 Y hY x hxyF:↑_fvar.549299 → _fvar.548710 → ↑_fvar.549299 := fun Y x => if hxy : x ∈ ↑Y \ {_fvar.548712} then ⟨{y | y ∈ ↑Y ∧ y < x}, @_fvar.557581 ↑Y ⋯ x hxy⟩ else _fvar.557231hF:∀ {Y : ↑_fvar.549299} {x : _fvar.548710}, x ∈ ↑Y \ {_fvar.548712} → ↑(@_fvar.654847 Y x) = {y | y ∈ ↑Y ∧ y < x} := fun {Y} {x} hxy => @?_mvar.664493 Y x hxyΩ:Set ↑_fvar.549299 := {Y | ∀ x ∈ ↑Y \ {_fvar.548712}, x = @_fvar.551233 (@_fvar.654847 Y x)}hΩ:_fvar.557231 ∈ _fvar.684489 := ?_mvar.684710ex_8_5_13:∀ {Y Y' : ↑_fvar.684489}, ∀ x ∈ ↑↑Y' \ ↑↑Y, Chapter8.IsStrictUpperBound (↑↑Y) x := fun {Y Y'} x h => @?_mvar.685360 Y Y' x hthis:Chapter8.IsTotal ↑_fvar.684489 := ?_mvar.685635Y_infty:Set _fvar.548710 := ⋃ Y, ↑↑Yhmem:_fvar.548712 ∈ _fvar.908527 := ?_mvar.908793hmin:∀ {x : _fvar.548710}, x ∈ _fvar.908527 → _fvar.548712 ≤ x := fun {x} hx => @?_mvar.952396 x hxhtotal:Chapter8.IsTotal ↑_fvar.908527 := ?_mvar.952633hwell:WellFoundedLT ↑_fvar.908527 := ?_mvar.1053094hY_inftyΩ₀:_fvar.908527 ∈ _fvar.549299 := ?_mvar.1270591sY_infty:_fvar.548710 := @_fvar.551233 ⟨_fvar.908527, _fvar.1270592⟩hYs_total:Chapter8.IsTotal ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271132hYs_well:WellFoundedLT ↑(_fvar.908527 ∪ {_fvar.1270609}) := ?_mvar.1271425hYs_mem:_fvar.548712 ∈ _fvar.908527 ∪ {_fvar.1270609} := ?_mvar.1271571hYs_min:∀ x ∈ _fvar.908527 ∪ {_fvar.1270609}, _fvar.548712 ≤ x := ?_mvar.1271740hYs_Ω₀:_fvar.908527 ∪ {_fvar.1270609} ∈ _fvar.549299 := ?_mvar.1271888hs: