Theorem: Matroid.union_indep_iff_indep_of_subset_coloops (Matroid/Loop.lean)

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
hK : K ⊆ M✶.cl ∅
⊢ M.Indep (I ∪ K) ↔ M.Indep I
Tactic:
refine ⟨fun h ↦ h.subset subset_union_left, fun h ↦ ?_⟩
State after:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
hK : K ⊆ M✶.cl ∅
h : M.Indep I
⊢ M.Indep (I ∪ K)

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
hK : K ⊆ M✶.cl ∅
h : M.Indep I
⊢ M.Indep (I ∪ K)
Tactic:
obtain ⟨B, hB, hIB⟩ := h.exists_base_superset
State after:
case intro.intro
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B✝ L L' I X Y Z F C K : Set α
hK : K ⊆ M✶.cl ∅
h : M.Indep I
B : Set α
hB : M.Base B
hIB : I ⊆ B
⊢ M.Indep (I ∪ K)

State before:
case intro.intro
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B✝ L L' I X Y Z F C K : Set α
hK : K ⊆ M✶.cl ∅
h : M.Indep I
B : Set α
hB : M.Base B
hIB : I ⊆ B
⊢ M.Indep (I ∪ K)
Tactic:
exact hB.indep.subset (union_subset hIB (hK.trans fun e he ↦ Coloop.mem_of_base he hB))
State after:
no goals