Theorem: IsCompact.finite_compact_cover
File: Mathlib/Topology/Separation.lean

tactic: induction' t using Finset.induction with x t hx ih generalizing U s
state_before: α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s : Set α
hs : IsCompact s
ι : Type u_1
t : Finset ι
U : ι → Set α
hU : ∀ (i : ι), i ∈ t → IsOpen (U i)
hsC : s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i

tactic: simp only [Finset.set_biUnion_insert] at hsC
state_before: case insert
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hU : ∀ (i : ι), i ∈ Insert.insert x t → IsOpen (U i)
hsC : s ⊆ ⋃ (i : ι) (_ : i ∈ Insert.insert x t), U i
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), K i

tactic: simp only [Finset.forall_mem_insert] at hU
state_before: case insert
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hU : ∀ (i : ι), i ∈ Insert.insert x t → IsOpen (U i)
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), K i

tactic: have hU' : ∀ i ∈ t, IsOpen (U i) := fun i hi => hU.2 i hi
state_before: case insert
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), K i

tactic: rcases hs.binary_compact_cover hU.1 (isOpen_biUnion hU') hsC with
  ⟨K₁, K₂, h1K₁, h1K₂, h2K₁, h2K₂, hK⟩
state_before: case insert
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), K i

tactic: rcases ih h1K₂ U hU' h2K₂ with ⟨K, h1K, h2K, h3K⟩
state_before: case insert.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), K i

tactic: refine' ⟨update K x K₁, _, _, _⟩
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), K i

tactic: refine' ⟨fun _ => ∅, fun _ => isCompact_empty, fun i => empty_subset _, _⟩
state_before: case empty
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t), U✝ i
s : Set α
hs : IsCompact s
U : ι → Set α
hU : ∀ (i : ι), i ∈ ∅ → IsOpen (U i)
hsC : s ⊆ ⋃ (i : ι) (_ : i ∈ ∅), U i
⊢ ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ ∅), K i

tactic: simpa only [subset_empty_iff, Finset.not_mem_empty, iUnion_false, iUnion_empty] using hsC
state_before: case empty
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t), U✝ i
s : Set α
hs : IsCompact s
U : ι → Set α
hU : ∀ (i : ι), i ∈ ∅ → IsOpen (U i)
hsC : s ⊆ ⋃ (i : ι) (_ : i ∈ ∅), U i
⊢ s = ⋃ (i : ι) (_ : i ∈ ∅), (fun x => ∅) i

tactic: intro i
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
⊢ ∀ (i : ι), IsCompact (update K x K₁ i)

tactic: rcases eq_or_ne i x with rfl | hi
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
i : ι
⊢ IsCompact (update K x K₁ i)

tactic: simp only [update_same, h1K₁]
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1.inl
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
t : Finset ι
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
i : ι
hx : ¬i ∈ t
hsC : s ⊆ U i ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U i) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
h2K₁ : K₁ ⊆ U i
⊢ IsCompact (update K i K₁ i)

tactic: simp only [update_noteq hi, h1K]
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_1.inr
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
i : ι
hi : i ≠ x
⊢ IsCompact (update K x K₁ i)

tactic: intro i
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
⊢ ∀ (i : ι), update K x K₁ i ⊆ U i

tactic: rcases eq_or_ne i x with rfl | hi
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
i : ι
⊢ update K x K₁ i ⊆ U i

tactic: simp only [update_same, h2K₁]
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2.inl
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
t : Finset ι
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
i : ι
hx : ¬i ∈ t
hsC : s ⊆ U i ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U i) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
h2K₁ : K₁ ⊆ U i
⊢ update K i K₁ i ⊆ U i

tactic: simp only [update_noteq hi, h2K]
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_2.inr
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
i : ι
hi : i ≠ x
⊢ update K x K₁ i ⊆ U i

tactic: simp only [set_biUnion_insert_update _ hx, hK, h3K]
state_before: case insert.intro.intro.intro.intro.intro.intro.intro.intro.intro.refine'_3
α : Type u
β : Type v
inst✝³ : TopologicalSpace α
γ : Type ?u.134916
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : T2Space α
s✝ : Set α
hs✝ : IsCompact s✝
ι : Type u_1
t✝ : Finset ι
U✝ : ι → Set α
hU✝ : ∀ (i : ι), i ∈ t✝ → IsOpen (U✝ i)
hsC✝ : s✝ ⊆ ⋃ (i : ι) (_ : i ∈ t✝), U✝ i
x : ι
t : Finset ι
hx : ¬x ∈ t
ih :
  ∀ {s : Set α},
    IsCompact s →
      ∀ (U : ι → Set α),
        (∀ (i : ι), i ∈ t → IsOpen (U i)) →
          (s ⊆ ⋃ (i : ι) (_ : i ∈ t), U i) →
            ∃ K, (∀ (i : ι), IsCompact (K i)) ∧ (∀ (i : ι), K i ⊆ U i) ∧ s = ⋃ (i : ι) (_ : i ∈ t), K i
s : Set α
hs : IsCompact s
U : ι → Set α
hsC : s ⊆ U x ∪ ⋃ (x : ι) (_ : x ∈ t), U x
hU : IsOpen (U x) ∧ ∀ (x : ι), x ∈ t → IsOpen (U x)
hU' : ∀ (i : ι), i ∈ t → IsOpen (U i)
K₁ K₂ : Set α
h1K₁ : IsCompact K₁
h1K₂ : IsCompact K₂
h2K₁ : K₁ ⊆ U x
h2K₂ : K₂ ⊆ ⋃ (i : ι) (_ : i ∈ fun i => i ∈ t.val), U i
hK : s = K₁ ∪ K₂
K : ι → Set α
h1K : ∀ (i : ι), IsCompact (K i)
h2K : ∀ (i : ι), K i ⊆ U i
h3K : K₂ = ⋃ (i : ι) (_ : i ∈ t), K i
⊢ s = ⋃ (i : ι) (_ : i ∈ Insert.insert x t), update K x K₁ i