Theorem: Equiv.swap_image_eq_self (Matroid/ForMathlib/Other.lean)

State before:
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
⊢ ⇑(swap e f) '' S = S
Tactic:
ext x
State after:
case h
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
⊢ x ∈ ⇑(swap e f) '' S ↔ x ∈ S

State before:
case h
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
⊢ x ∈ ⇑(swap e f) '' S ↔ x ∈ S
Tactic:
rw [image_equiv_eq_preimage_symm, mem_preimage, Equiv.symm_swap, Equiv.swap_apply_def]
State after:
case h
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
⊢ (if x = e then f else if x = f then e else x) ∈ S ↔ x ∈ S

State before:
case h
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
⊢ (if x = e then f else if x = f then e else x) ∈ S ↔ x ∈ S
Tactic:
split_ifs with hxe hxf
State after:
case pos
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
hxe : x = e
⊢ f ∈ S ↔ x ∈ S

case pos
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
hxe : ¬x = e
hxf : x = f
⊢ e ∈ S ↔ x ∈ S

case neg
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
hxe : ¬x = e
hxf : ¬x = f
⊢ x ∈ S ↔ x ∈ S

State before:
case neg
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
hxe : ¬x = e
hxf : ¬x = f
⊢ x ∈ S ↔ x ∈ S
Tactic:
rfl
State after:
no goals

State before:
case pos
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
hxe : x = e
⊢ f ∈ S ↔ x ∈ S
Tactic:
rwa [hxe, Iff.comm]
State after:
no goals

State before:
case pos
α : Type u_1
β : Type u_2
s s₁ s₂ t t' : Set α
f✝ : α → β
e f : α
inst✝ : DecidableEq α
S : Set α
hef : e ∈ S ↔ f ∈ S
x : α
hxe : ¬x = e
hxf : x = f
⊢ e ∈ S ↔ x ∈ S
Tactic:
rwa [hxf]
State after:
no goals