Theorem: mem_generatePiSystem_iUnion_elim
File: Mathlib/MeasureTheory/PiSystem.lean

tactic: induction' h_t with s h_s s t' h_gen_s h_gen_t' h_nonempty h_s h_t'
state_before: α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
h_t : t ∈ generatePiSystem (⋃ (b : β), g b)
⊢ ∃ T f, (t = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b

tactic: rcases h_s with ⟨t', ⟨⟨b, rfl⟩, h_s_in_t'⟩⟩
state_before: case base
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t s : Set α
h_s : s ∈ ⋃ (b : β), g b
⊢ ∃ T f, (s = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b

tactic: refine' ⟨{b}, fun _ => s, _⟩
state_before: case base.intro.intro.intro
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t s : Set α
b : β
h_s_in_t' : s ∈ (fun b => g b) b
⊢ ∃ T f, (s = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b

tactic: simpa using h_s_in_t'
state_before: case base.intro.intro.intro
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t s : Set α
b : β
h_s_in_t' : s ∈ (fun b => g b) b
⊢ (s = ⋂ (b_1 : β) (_ : b_1 ∈ {b}), (fun x => s) b_1) ∧ ∀ (b_1 : β), b_1 ∈ {b} → (fun x => s) b_1 ∈ g b_1

tactic: rcases h_t' with ⟨T_t', ⟨f_t', ⟨rfl, h_t'⟩⟩⟩
state_before: case inter
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t s t' : Set α
h_gen_s : generatePiSystem (⋃ (b : β), g b) s
h_gen_t' : generatePiSystem (⋃ (b : β), g b) t'
h_nonempty : Set.Nonempty (s ∩ t')
h_s : ∃ T f, (s = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b
h_t' : ∃ T f, (t' = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b
⊢ ∃ T f, (s ∩ t' = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b

tactic: rcases h_s with ⟨T_s, ⟨f_s, ⟨rfl, h_s⟩⟩⟩
state_before: case inter.intro.intro.intro
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t s : Set α
h_gen_s : generatePiSystem (⋃ (b : β), g b) s
h_s : ∃ T f, (s = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
h_nonempty : Set.Nonempty (s ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
⊢ ∃ T f, ((s ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b) = ⋂ (b : β) (_ : b ∈ T), f b) ∧ ∀ (b : β), b ∈ T → f b ∈ g b

tactic: use T_s ∪ T_t', fun b : β =>
  if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b
  else if b ∈ T_t' then f_t' b else (∅ : Set α)
state_before: case inter.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
⊢ ∃ T f,
    (((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b) = ⋂ (b : β) (_ : b ∈ T), f b) ∧
      ∀ (b : β), b ∈ T → f b ∈ g b

tactic: constructor
state_before: case inter.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
⊢ (((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b) =
      ⋂ (b : β) (_ : b ∈ T_s ∪ T_t'),
        (fun b => if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) b) ∧
    ∀ (b : β),
      b ∈ T_s ∪ T_t' →
        (fun b => if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) b ∈
          g b

tactic: intro b h_b
state_before: case inter.intro.intro.intro.intro.intro.intro.right
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
⊢ ∀ (b : β),
    b ∈ T_s ∪ T_t' →
      (fun b => if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) b ∈ g b

tactic: simp only []
state_before: case inter.intro.intro.intro.intro.intro.intro.right
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
⊢ (fun b => if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) b ∈ g b

tactic: split_ifs with hbs hbt hbt
state_before: case inter.intro.intro.intro.intro.intro.intro.right
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
⊢ (if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) ∈ g b

tactic: ext a
state_before: case inter.intro.intro.intro.intro.intro.intro.left
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
⊢ ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b) =
    ⋂ (b : β) (_ : b ∈ T_s ∪ T_t'),
      (fun b => if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) b

tactic: simp_rw [Set.mem_inter_iff, Set.mem_iInter, Finset.mem_union, or_imp]
state_before: case inter.intro.intro.intro.intro.intro.intro.left.h
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
⊢ (a ∈ (⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b) ↔
    a ∈
      ⋂ (b : β) (_ : b ∈ T_s ∪ T_t'),
        (fun b => if b ∈ T_s then if b ∈ T_t' then f_s b ∩ f_t' b else f_s b else if b ∈ T_t' then f_t' b else ∅) b

tactic: rw [← forall_and]
state_before: case inter.intro.intro.intro.intro.intro.intro.left.h
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
⊢ ((∀ (i : β), i ∈ T_s → a ∈ f_s i) ∧ ∀ (i : β), i ∈ T_t' → a ∈ f_t' i) ↔
    ∀ (i : β),
      (i ∈ T_s → a ∈ if i ∈ T_s then if i ∈ T_t' then f_s i ∩ f_t' i else f_s i else if i ∈ T_t' then f_t' i else ∅) ∧
        (i ∈ T_t' → a ∈ if i ∈ T_s then if i ∈ T_t' then f_s i ∩ f_t' i else f_s i else if i ∈ T_t' then f_t' i else ∅)

tactic: constructor <;> intro h1 b <;> by_cases hbs : b ∈ T_s <;> by_cases hbt : b ∈ T_t' <;>
    specialize h1 b <;>
  simp only [hbs, hbt, if_true, if_false, true_imp_iff, and_self_iff, false_imp_iff,
    and_true_iff, true_and_iff] at h1⊢
state_before: case inter.intro.intro.intro.intro.intro.intro.left.h
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
⊢ (∀ (x : β), (x ∈ T_s → a ∈ f_s x) ∧ (x ∈ T_t' → a ∈ f_t' x)) ↔
    ∀ (i : β),
      (i ∈ T_s → a ∈ if i ∈ T_s then if i ∈ T_t' then f_s i ∩ f_t' i else f_s i else if i ∈ T_t' then f_t' i else ∅) ∧
        (i ∈ T_t' → a ∈ if i ∈ T_s then if i ∈ T_t' then f_s i ∩ f_t' i else f_s i else if i ∈ T_t' then f_t' i else ∅)

tactic: all_goals exact h1
state_before: case pos
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : b ∈ T_s
hbt : b ∈ T_t'
h1 : a ∈ f_s b ∧ a ∈ f_t' b
⊢ a ∈ f_s b ∩ f_t' b

case neg
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : b ∈ T_s
hbt : ¬b ∈ T_t'
h1 : a ∈ f_s b
⊢ a ∈ f_s b

case pos
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : ¬b ∈ T_s
hbt : b ∈ T_t'
h1 : a ∈ f_t' b
⊢ a ∈ f_t' b

case pos
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : b ∈ T_s
hbt : b ∈ T_t'
h1 : a ∈ f_s b ∩ f_t' b
⊢ a ∈ f_s b ∧ a ∈ f_t' b

case neg
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : b ∈ T_s
hbt : ¬b ∈ T_t'
h1 : a ∈ f_s b
⊢ a ∈ f_s b

case pos
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : ¬b ∈ T_s
hbt : b ∈ T_t'
h1 : a ∈ f_t' b
⊢ a ∈ f_t' b

tactic: exact h1
state_before: case pos
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
a : α
b : β
hbs : ¬b ∈ T_s
hbt : b ∈ T_t'
h1 : a ∈ f_t' b
⊢ a ∈ f_t' b

tactic: refine' h_pi b (f_s b) (h_s b hbs) (f_t' b) (h_t' b hbt) (Set.Nonempty.mono _ h_nonempty)
state_before: case inter.intro.intro.intro.intro.intro.intro.right.inl.inl
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
hbs : b ∈ T_s
hbt : b ∈ T_t'
⊢ f_s b ∩ f_t' b ∈ g b

tactic: exact Set.inter_subset_inter (Set.biInter_subset_of_mem hbs) (Set.biInter_subset_of_mem hbt)
state_before: case inter.intro.intro.intro.intro.intro.intro.right.inl.inl
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
hbs : b ∈ T_s
hbt : b ∈ T_t'
⊢ ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b) ⊆ f_s b ∩ f_t' b

tactic: exact h_s b hbs
state_before: case inter.intro.intro.intro.intro.intro.intro.right.inl.inr
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
hbs : b ∈ T_s
hbt : ¬b ∈ T_t'
⊢ f_s b ∈ g b

tactic: exact h_t' b hbt
state_before: case inter.intro.intro.intro.intro.intro.intro.right.inr.inl
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
hbs : ¬b ∈ T_s
hbt : b ∈ T_t'
⊢ f_t' b ∈ g b

tactic: rw [Finset.mem_union] at h_b
state_before: case inter.intro.intro.intro.intro.intro.intro.right.inr.inr
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∪ T_t'
hbs : ¬b ∈ T_s
hbt : ¬b ∈ T_t'
⊢ ∅ ∈ g b

tactic: apply False.elim (h_b.elim hbs hbt)
state_before: case inter.intro.intro.intro.intro.intro.intro.right.inr.inr
α : Type u_1
β : Type u_2
g : β → Set (Set α)
h_pi : ∀ (b : β), IsPiSystem (g b)
t : Set α
T_t' : Finset β
f_t' : β → Set α
h_t' : ∀ (b : β), b ∈ T_t' → f_t' b ∈ g b
h_gen_t' : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
T_s : Finset β
f_s : β → Set α
h_s : ∀ (b : β), b ∈ T_s → f_s b ∈ g b
h_gen_s : generatePiSystem (⋃ (b : β), g b) (⋂ (b : β) (_ : b ∈ T_s), f_s b)
h_nonempty : Set.Nonempty ((⋂ (b : β) (_ : b ∈ T_s), f_s b) ∩ ⋂ (b : β) (_ : b ∈ T_t'), f_t' b)
b : β
h_b : b ∈ T_s ∨ b ∈ T_t'
hbs : ¬b ∈ T_s
hbt : ¬b ∈ T_t'
⊢ ∅ ∈ g b