Theorem: Matroid.exists_basis_inter_ground_basis_cl (Matroid/Closure.lean)

State before:
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X : Set α
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)
Tactic:
obtain ⟨I, hI⟩ := M.exists_basis (X ∩ M.E)
State after:
case intro
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I✝ J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X I : Set α
hI : M.Basis I (X ∩ M.E)
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)

State before:
case intro
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I✝ J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X I : Set α
hI : M.Basis I (X ∩ M.E)
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)
Tactic:
have hI' := hI.basis_cl_right
State after:
case intro
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I✝ J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X I : Set α
hI : M.Basis I (X ∩ M.E)
hI' : M.Basis I (M.cl (X ∩ M.E))
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)

State before:
case intro
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I✝ J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X I : Set α
hI : M.Basis I (X ∩ M.E)
hI' : M.Basis I (M.cl (X ∩ M.E))
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)
Tactic:
rw [cl_inter_ground] at hI'
State after:
case intro
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I✝ J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X I : Set α
hI : M.Basis I (X ∩ M.E)
hI' : M.Basis I (M.cl X)
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)

State before:
case intro
α : Type u_1
ι : Type u_2
M✝ : Matroid α
F I✝ J X✝ Y B C R : Set α
e f x y : α
M : Matroid α
X I : Set α
hI : M.Basis I (X ∩ M.E)
hI' : M.Basis I (M.cl X)
⊢ ∃ I, M.Basis I (X ∩ M.E) ∧ M.Basis I (M.cl X)
Tactic:
exact ⟨_, hI, hI'⟩
State after:
no goals