Theorem: Urysohns.CU.approx_mem_Icc_right_left
File: Mathlib/Topology/UrysohnsLemma.lean

tactic: induction' n with n ihn generalizing c
state_before: X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
c : CU P
n : ℕ
x : X
⊢ approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
state_after: case zero
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
c : CU P
⊢ approx 0 c x ∈ Icc (approx 0 c.right x) (approx 0 c.left x)

case succ
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ approx (n + 1) c x ∈ Icc (approx (n + 1) c.right x) (approx (n + 1) c.left x)

tactic: exact ⟨le_rfl, indicator_le_indicator_of_subset (compl_subset_compl.2 c.left_U_subset)
  (fun _ => zero_le_one) _⟩
state_before: case zero
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
c : CU P
⊢ approx 0 c x ∈ Icc (approx 0 c.right x) (approx 0 c.left x)
state_after: no goals

tactic: simp only [approx, mem_Icc]
state_before: case succ
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ approx (n + 1) c x ∈ Icc (approx (n + 1) c.right x) (approx (n + 1) c.left x)
state_after: case succ
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ midpoint ℝ (approx n c.right.left x) (approx n c.right.right x) ≤
      midpoint ℝ (approx n c.left x) (approx n c.right x) ∧
    midpoint ℝ (approx n c.left x) (approx n c.right x) ≤ midpoint ℝ (approx n c.left.left x) (approx n c.left.right x)

tactic: refine ⟨midpoint_le_midpoint ?_ (ihn _).1, midpoint_le_midpoint (ihn _).2 ?_⟩ <;>
  apply approx_le_approx_of_U_sub_C
state_before: case succ
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ midpoint ℝ (approx n c.right.left x) (approx n c.right.right x) ≤
      midpoint ℝ (approx n c.left x) (approx n c.right x) ∧
    midpoint ℝ (approx n c.left x) (approx n c.right x) ≤ midpoint ℝ (approx n c.left.left x) (approx n c.left.right x)
state_after: case succ.refine_1.h
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ c.left.U ⊆ c.right.left.C

case succ.refine_2.h
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ c.left.right.U ⊆ c.right.C

tactic: exacts [subset_closure, subset_closure]
state_before: case succ.refine_1.h
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ c.left.U ⊆ c.right.left.C

case succ.refine_2.h
X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
x : X
n : ℕ
ihn : ∀ (c : CU P), approx n c x ∈ Icc (approx n c.right x) (approx n c.left x)
c : CU P
⊢ c.left.right.U ⊆ c.right.C
state_after: no goals