Theorem: Part.fix_eq
File: Mathlib/Control/LawfulFix.lean

tactic: rw [fix_eq_ωSup f, hc]
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ Part.fix ⇑f = f (Part.fix ⇑f)
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (approxChain f) = ωSup ((approxChain f).map f)

tactic: apply le_antisymm
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (approxChain f) = ωSup ((approxChain f).map f)
state_after: case a
α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (approxChain f) ≤ ωSup ((approxChain f).map f)

case a
α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup ((approxChain f).map f) ≤ ωSup (approxChain f)

tactic: apply ωSup_le_ωSup_of_le _
state_before: case a
α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup (approxChain f) ≤ ωSup ((approxChain f).map f)
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ approxChain f ≤ (approxChain f).map f

tactic: intro i
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ approxChain f ≤ (approxChain f).map f
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ∃ j, (approxChain f) i ≤ ((approxChain f).map f) j

tactic: exists i
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ∃ j, (approxChain f) i ≤ ((approxChain f).map f) j
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ (approxChain f) i ≤ ((approxChain f).map f) i

tactic: intro x
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ (approxChain f) i ≤ ((approxChain f).map f) i
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
x : α✝
⊢ (approxChain f) i x ≤ ((approxChain f).map f) i x

tactic: apply le_f_of_mem_approx _ ⟨i, rfl⟩
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
x : α✝
⊢ (approxChain f) i x ≤ ((approxChain f).map f) i x
state_after: no goals

tactic: apply ωSup_le_ωSup_of_le _
state_before: case a
α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ ωSup ((approxChain f).map f) ≤ ωSup (approxChain f)
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ (approxChain f).map f ≤ approxChain f

tactic: intro i
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
⊢ (approxChain f).map f ≤ approxChain f
state_after: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ∃ j, ((approxChain f).map f) i ≤ (approxChain f) j

tactic: exists i.succ
state_before: α✝ : Type u_1
β : α✝ → Type u_2
α : Type u_3
f : ((a : α✝) → Part (β a)) →o (a : α✝) → Part (β a)
hc : Continuous f
i : ℕ
⊢ ∃ j, ((approxChain f).map f) i ≤ (approxChain f) j
state_after: no goals