Theorem: Turanpartition.mem_part (Turan4/Turanpartition.lean)

State before:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
⊢ i ∈ range (M.t + 1) → v ∈ MultiPart.P M i → v ∈ M.A
Tactic:
intro hi hv
State after:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
hi : i ∈ range (M.t + 1)
hv : v ∈ MultiPart.P M i
⊢ v ∈ M.A

State before:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
hi : i ∈ range (M.t + 1)
hv : v ∈ MultiPart.P M i
⊢ v ∈ M.A
Tactic:
rw [M.uni]
State after:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
hi : i ∈ range (M.t + 1)
hv : v ∈ MultiPart.P M i
⊢ v ∈ Finset.biUnion (range (M.t + 1)) fun i => MultiPart.P M i

State before:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
hi : i ∈ range (M.t + 1)
hv : v ∈ MultiPart.P M i
⊢ v ∈ Finset.biUnion (range (M.t + 1)) fun i => MultiPart.P M i
Tactic:
rw [mem_biUnion]
State after:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
hi : i ∈ range (M.t + 1)
hv : v ∈ MultiPart.P M i
⊢ ∃ a, a ∈ range (M.t + 1) ∧ v ∈ MultiPart.P M a

State before:
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
i : ℕ
v : α
M : MultiPart α
hi : i ∈ range (M.t + 1)
hv : v ∈ MultiPart.P M i
⊢ ∃ a, a ∈ range (M.t + 1) ∧ v ∈ MultiPart.P M a
Tactic:
exact ⟨i, hi, hv⟩
State after:
no goals