Theorem: Matroid.ModularBase.iInter_cl_eq_cl_iInter (Matroid/Modular.lean)

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ ⋂ i, M.cl (Xs i) = M.cl (⋂ i, Xs i)
Tactic:
simp_rw [subset_antisymm_iff, subset_iInter_iff, ← hB.cl_inter_eq]
State after:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ ⋂ i, M.cl (Xs i ∩ B) ⊆ M.cl (⋂ i, Xs i) ∧ ∀ (i : ι), M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i ∩ B)

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ ⋂ i, M.cl (Xs i ∩ B) ⊆ M.cl (⋂ i, Xs i) ∧ ∀ (i : ι), M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i ∩ B)
Tactic:
rw [← cl_iInter_eq_iInter_cl_of_iUnion_indep, ← iInter_inter B Xs]
State after:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ M.cl ((⋂ i, Xs i) ∩ B) ⊆ M.cl (⋂ i, Xs i) ∧ ∀ (i : ι), M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i ∩ B)

case h
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ M.Indep (⋃ i, Xs i ∩ B)

State before:
case h
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ M.Indep (⋃ i, Xs i ∩ B)
Tactic:
exact hB.base.indep.subset (iUnion_subset (fun _ ↦ inter_subset_right))
State after:
no goals

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
⊢ M.cl ((⋂ i, Xs i) ∩ B) ⊆ M.cl (⋂ i, Xs i) ∧ ∀ (i : ι), M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i ∩ B)
Tactic:
refine ⟨M.cl_subset_cl inter_subset_left, fun i ↦ ?_⟩
State after:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i✝ j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
i : ι
⊢ M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i ∩ B)

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i✝ j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
i : ι
⊢ M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i ∩ B)
Tactic:
rw [hB.cl_inter_eq]
State after:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i✝ j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
i : ι
⊢ M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i)

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i✝ j : ι
e f : α
inst✝ : Nonempty ι
hB : M.ModularBase B Xs
i : ι
⊢ M.cl (⋂ i, Xs i) ⊆ M.cl (Xs i)
Tactic:
exact M.cl_subset_cl (iInter_subset _ i)
State after:
no goals