Theorem: Matroid.LoopEquiv.basis_iff (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 α
h : M.LoopEquiv X Y
⊢ M.Basis I X ↔ M.Basis I Y
Tactic:
rw [basis_iff_indep_subset_cl, basis_iff_indep_subset_cl, and_congr_right_iff]
State after:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
⊢ M.Indep I → (I ⊆ X ∧ X ⊆ M.cl I ↔ I ⊆ Y ∧ Y ⊆ M.cl I)

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
⊢ M.Indep I → (I ⊆ X ∧ X ⊆ M.cl I ↔ I ⊆ Y ∧ Y ⊆ M.cl I)
Tactic:
intro hI
State after:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
hI : M.Indep I
⊢ I ⊆ X ∧ X ⊆ M.cl I ↔ I ⊆ Y ∧ Y ⊆ M.cl I

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
hI : M.Indep I
⊢ I ⊆ X ∧ X ⊆ M.cl I ↔ I ⊆ Y ∧ Y ⊆ M.cl I
Tactic:
rw [h.subset_iff_of_indep hI, and_congr_right_iff, show M.cl I = M.cl I ∪ M.cl ∅ by simp,
  union_comm, ← diff_subset_iff,  h.diff_eq_diff, diff_subset_iff]
State after:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
hI : M.Indep I
⊢ I ⊆ Y → (Y ⊆ M.cl ∅ ∪ M.cl I ↔ Y ⊆ M.cl ∅ ∪ M.cl I)

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
hI : M.Indep I
⊢ I ⊆ Y → (Y ⊆ M.cl ∅ ∪ M.cl I ↔ Y ⊆ M.cl ∅ ∪ M.cl I)
Tactic:
exact fun _ ↦ Iff.rfl
State after:
no goals

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
h : M.LoopEquiv X Y
hI : M.Indep I
⊢ M.cl I = M.cl I ∪ M.cl ∅
Tactic:
simp
State after:
no goals