Theorem: IsPreconnected.biUnion_of_reflTransGen
File: Mathlib/Topology/Connected.lean

tactic: let R := fun i j : ι => (s i ∩ s j).Nonempty ∧ i ∈ t
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
⊢ IsPreconnected (⋃ (n : ι) (_ : n ∈ t), s n)

tactic: have P : ∀ i, i ∈ t → ∀ j, j ∈ t → ReflTransGen R i j →
    ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ j ∈ p, s j) := fun i hi j hj h => by
  induction h
  case refl =>
    refine ⟨{i}, singleton_subset_iff.mpr hi, mem_singleton i, mem_singleton i, ?_⟩
    rw [biUnion_singleton]
    exact H i hi
  case tail j k _ hjk ih =>
    obtain ⟨p, hpt, hip, hjp, hp⟩ := ih hjk.2
    refine ⟨insert k p, insert_subset.mpr ⟨hj, hpt⟩, mem_insert_of_mem k hip, mem_insert k p, ?_⟩
    rw [biUnion_insert]
    refine (H k hj).union' (hjk.1.mono ?_) hp
    rw [inter_comm]
    exact inter_subset_inter_right _ (subset_biUnion_of_mem hjp)
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
⊢ IsPreconnected (⋃ (n : ι) (_ : n ∈ t), s n)

tactic: refine' isPreconnected_of_forall_pair _
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
P :
  ∀ (i : ι),
    i ∈ t →
      ∀ (j : ι), j ∈ t → ReflTransGen R i j → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ IsPreconnected (⋃ (n : ι) (_ : n ∈ t), s n)

tactic: intro x hx y hy
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
P :
  ∀ (i : ι),
    i ∈ t →
      ∀ (j : ι), j ∈ t → ReflTransGen R i j → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ ∀ (x : α),
    (x ∈ ⋃ (n : ι) (_ : n ∈ t), s n) →
      ∀ (y : α),
        (y ∈ ⋃ (n : ι) (_ : n ∈ t), s n) →
          ∃ t_1, (t_1 ⊆ ⋃ (n : ι) (_ : n ∈ t), s n) ∧ x ∈ t_1 ∧ y ∈ t_1 ∧ IsPreconnected t_1

tactic: obtain ⟨i : ι, hi : i ∈ t, hxi : x ∈ s i⟩ := mem_iUnion₂.1 hx
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
P :
  ∀ (i : ι),
    i ∈ t →
      ∀ (j : ι), j ∈ t → ReflTransGen R i j → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
x : α
hx : x ∈ ⋃ (n : ι) (_ : n ∈ t), s n
y : α
hy : y ∈ ⋃ (n : ι) (_ : n ∈ t), s n
⊢ ∃ t_1, (t_1 ⊆ ⋃ (n : ι) (_ : n ∈ t), s n) ∧ x ∈ t_1 ∧ y ∈ t_1 ∧ IsPreconnected t_1

tactic: obtain ⟨j : ι, hj : j ∈ t, hyj : y ∈ s j⟩ := mem_iUnion₂.1 hy
state_before: case intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
P :
  ∀ (i : ι),
    i ∈ t →
      ∀ (j : ι), j ∈ t → ReflTransGen R i j → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
x : α
hx : x ∈ ⋃ (n : ι) (_ : n ∈ t), s n
y : α
hy : y ∈ ⋃ (n : ι) (_ : n ∈ t), s n
i : ι
hi : i ∈ t
hxi : x ∈ s i
⊢ ∃ t_1, (t_1 ⊆ ⋃ (n : ι) (_ : n ∈ t), s n) ∧ x ∈ t_1 ∧ y ∈ t_1 ∧ IsPreconnected t_1

tactic: obtain ⟨p, hpt, hip, hjp, hp⟩ := P i hi j hj (K i hi j hj)
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
P :
  ∀ (i : ι),
    i ∈ t →
      ∀ (j : ι), j ∈ t → ReflTransGen R i j → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
x : α
hx : x ∈ ⋃ (n : ι) (_ : n ∈ t), s n
y : α
hy : y ∈ ⋃ (n : ι) (_ : n ∈ t), s n
i : ι
hi : i ∈ t
hxi : x ∈ s i
j : ι
hj : j ∈ t
hyj : y ∈ s j
⊢ ∃ t_1, (t_1 ⊆ ⋃ (n : ι) (_ : n ∈ t), s n) ∧ x ∈ t_1 ∧ y ∈ t_1 ∧ IsPreconnected t_1

tactic: exact ⟨⋃ j ∈ p, s j, biUnion_subset_biUnion_left hpt, mem_biUnion hip hxi,
  mem_biUnion hjp hyj, hp⟩
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
P :
  ∀ (i : ι),
    i ∈ t →
      ∀ (j : ι), j ∈ t → ReflTransGen R i j → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
x : α
hx : x ∈ ⋃ (n : ι) (_ : n ∈ t), s n
y : α
hy : y ∈ ⋃ (n : ι) (_ : n ∈ t), s n
i : ι
hi : i ∈ t
hxi : x ∈ s i
j : ι
hj : j ∈ t
hyj : y ∈ s j
p : Set ι
hpt : p ⊆ t
hip : i ∈ p
hjp : j ∈ p
hp : IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ ∃ t_1, (t_1 ⊆ ⋃ (n : ι) (_ : n ∈ t), s n) ∧ x ∈ t_1 ∧ y ∈ t_1 ∧ IsPreconnected t_1

tactic: induction h
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j : ι
hj : j ∈ t
h : ReflTransGen R i j
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

tactic: case refl =>
  refine ⟨{i}, singleton_subset_iff.mpr hi, mem_singleton i, mem_singleton i, ?_⟩
  rw [biUnion_singleton]
  exact H i hi
state_before: case refl
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j : ι
hj : i ∈ t
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ i ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

case tail
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j b✝ c✝ : ι
a✝¹ : ReflTransGen R i b✝
a✝ : R b✝ c✝
a_ih✝ : b✝ ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ b✝ ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : c✝ ∈ t
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ c✝ ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

tactic: case tail j k _ hjk ih =>
  obtain ⟨p, hpt, hip, hjp, hp⟩ := ih hjk.2
  refine ⟨insert k p, insert_subset.mpr ⟨hj, hpt⟩, mem_insert_of_mem k hip, mem_insert k p, ?_⟩
  rw [biUnion_insert]
  refine (H k hj).union' (hjk.1.mono ?_) hp
  rw [inter_comm]
  exact inter_subset_inter_right _ (subset_biUnion_of_mem hjp)
state_before: case tail
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j b✝ c✝ : ι
a✝¹ : ReflTransGen R i b✝
a✝ : R b✝ c✝
a_ih✝ : b✝ ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ b✝ ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : c✝ ∈ t
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ c✝ ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

tactic: refine ⟨{i}, singleton_subset_iff.mpr hi, mem_singleton i, mem_singleton i, ?_⟩
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j : ι
hj : i ∈ t
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ i ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

tactic: rw [biUnion_singleton]
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j : ι
hj : i ∈ t
⊢ IsPreconnected (⋃ (j : ι) (_ : j ∈ {i}), s j)

tactic: exact H i hi
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j : ι
hj : i ∈ t
⊢ IsPreconnected (s i)

tactic: obtain ⟨p, hpt, hip, hjp, hp⟩ := ih hjk.2
state_before: α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j✝ j k : ι
a✝ : ReflTransGen R i j
hjk : R j k
ih : j ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : k ∈ t
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ k ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

tactic: refine ⟨insert k p, insert_subset.mpr ⟨hj, hpt⟩, mem_insert_of_mem k hip, mem_insert k p, ?_⟩
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j✝ j k : ι
a✝ : ReflTransGen R i j
hjk : R j k
ih : j ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : k ∈ t
p : Set ι
hpt : p ⊆ t
hip : i ∈ p
hjp : j ∈ p
hp : IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ ∃ p, p ⊆ t ∧ i ∈ p ∧ k ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)

tactic: rw [biUnion_insert]
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j✝ j k : ι
a✝ : ReflTransGen R i j
hjk : R j k
ih : j ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : k ∈ t
p : Set ι
hpt : p ⊆ t
hip : i ∈ p
hjp : j ∈ p
hp : IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ IsPreconnected (⋃ (j : ι) (_ : j ∈ insert k p), s j)

tactic: refine (H k hj).union' (hjk.1.mono ?_) hp
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j✝ j k : ι
a✝ : ReflTransGen R i j
hjk : R j k
ih : j ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : k ∈ t
p : Set ι
hpt : p ⊆ t
hip : i ∈ p
hjp : j ∈ p
hp : IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ IsPreconnected (s k ∪ ⋃ (x : ι) (_ : x ∈ p), s x)

tactic: rw [inter_comm]
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j✝ j k : ι
a✝ : ReflTransGen R i j
hjk : R j k
ih : j ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : k ∈ t
p : Set ι
hpt : p ⊆ t
hip : i ∈ p
hjp : j ∈ p
hp : IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ s j ∩ s k ⊆ s k ∩ ⋃ (x : ι) (_ : x ∈ p), s x

tactic: exact inter_subset_inter_right _ (subset_biUnion_of_mem hjp)
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
ι✝ : Type ?u.5558
π : ι✝ → Type ?u.5563
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
ι : Type u_1
t : Set ι
s : ι → Set α
H : ∀ (i : ι), i ∈ t → IsPreconnected (s i)
K : ∀ (i : ι), i ∈ t → ∀ (j : ι), j ∈ t → ReflTransGen (fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t) i j
R : ι → ι → Prop := fun i j => Set.Nonempty (s i ∩ s j) ∧ i ∈ t
i : ι
hi : i ∈ t
j✝ j k : ι
a✝ : ReflTransGen R i j
hjk : R j k
ih : j ∈ t → ∃ p, p ⊆ t ∧ i ∈ p ∧ j ∈ p ∧ IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
hj : k ∈ t
p : Set ι
hpt : p ⊆ t
hip : i ∈ p
hjp : j ∈ p
hp : IsPreconnected (⋃ (j : ι) (_ : j ∈ p), s j)
⊢ s k ∩ s j ⊆ s k ∩ ⋃ (x : ι) (_ : x ∈ p), s x