Theorem: Matroid.loop_iff_cl_eq_cl_empty' (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 α
⊢ M.Loop e ↔ M.cl {e} = M.cl ∅ ∧ e ∈ M.E
Tactic:
rw [← singleton_dep, dep_iff, singleton_subset_iff, and_congr_left_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 α
⊢ e ∈ M.E → (¬M.Indep {e} ↔ M.cl {e} = M.cl ∅)

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
⊢ e ∈ M.E → (¬M.Indep {e} ↔ M.cl {e} = M.cl ∅)
Tactic:
intro he
State after:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
he : e ∈ M.E
⊢ ¬M.Indep {e} ↔ M.cl {e} = M.cl ∅

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
he : e ∈ M.E
⊢ ¬M.Indep {e} ↔ M.cl {e} = M.cl ∅
Tactic:
rw [not_indep_iff, singleton_dep]
State after:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
he : e ∈ M.E
⊢ M.Loop e ↔ M.cl {e} = M.cl ∅

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
he : e ∈ M.E
⊢ M.Loop e ↔ M.cl {e} = M.cl ∅
Tactic:
exact ⟨fun h ↦ by rw [h.cl], fun h ↦ by rw [loop_iff_mem_cl_empty, ← h]; exact M.mem_cl_self e⟩
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 α
he : e ∈ M.E
h : M.Loop e
⊢ M.cl {e} = M.cl ∅
Tactic:
rw [h.cl]
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 α
he : e ∈ M.E
h : M.cl {e} = M.cl ∅
⊢ M.Loop e
Tactic:
rw [loop_iff_mem_cl_empty, ← 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 α
he : e ∈ M.E
h : M.cl {e} = M.cl ∅
⊢ e ∈ M.cl {e}

State before:
α : Type u_1
β : Type u_2
M N : Matroid α
e f : α
B L L' I X Y Z F C K : Set α
he : e ∈ M.E
h : M.cl {e} = M.cl ∅
⊢ e ∈ M.cl {e}
Tactic:
exact M.mem_cl_self e
State after:
no goals