Theorem: Matroid.Indep.insert_diff_indep_iff (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 : α
hI : M.Indep (I \ {e})
heI : e ∈ I
⊢ M.Indep (insert f I \ {e}) ↔ f ∈ M.E \ M.cl (I \ {e}) ∨ f ∈ I
Tactic:
obtain (rfl | hne) := eq_or_ne e f
State after:
case inl
α : Type u_1
ι : Type u_2
M : Matroid α
F I J X Y B C R : Set α
e x y : α
hI : M.Indep (I \ {e})
heI : e ∈ I
⊢ M.Indep (insert e I \ {e}) ↔ e ∈ M.E \ M.cl (I \ {e}) ∨ e ∈ I

case inr
α : Type u_1
ι : Type u_2
M : Matroid α
F I J X Y B C R : Set α
e f x y : α
hI : M.Indep (I \ {e})
heI : e ∈ I
hne : e ≠ f
⊢ M.Indep (insert f I \ {e}) ↔ f ∈ M.E \ M.cl (I \ {e}) ∨ f ∈ I

State before:
case inr
α : Type u_1
ι : Type u_2
M : Matroid α
F I J X Y B C R : Set α
e f x y : α
hI : M.Indep (I \ {e})
heI : e ∈ I
hne : e ≠ f
⊢ M.Indep (insert f I \ {e}) ↔ f ∈ M.E \ M.cl (I \ {e}) ∨ f ∈ I
Tactic:
rw [← insert_diff_singleton_comm hne.symm, hI.insert_indep_iff, mem_diff_singleton,
  and_iff_left hne.symm]
State after:
no goals

State before:
case inl
α : Type u_1
ι : Type u_2
M : Matroid α
F I J X Y B C R : Set α
e x y : α
hI : M.Indep (I \ {e})
heI : e ∈ I
⊢ M.Indep (insert e I \ {e}) ↔ e ∈ M.E \ M.cl (I \ {e}) ∨ e ∈ I
Tactic:
simp [hI, heI]
State after:
no goals