Theorem: Subtype.range_embeddingInsert (Matroid/ForMathlib/Logic_Embedding_Set.lean)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range ⇑(embeddingInsert f ha hb) = insert b (range ⇑f)
Tactic:
simp only [embeddingInsert, Embedding.coeFn_mk]
State after:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range (extend (inclusion ⋯) ⇑f fun x => b) = insert b (range ⇑f)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range (extend (inclusion ⋯) ⇑f fun x => b) = insert b (range ⇑f)
Tactic:
rw [range_extend (inclusion_injective (subset_insert a s)), range_inclusion]
State after:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range ⇑f ∪ (fun x => b) '' {x | ↑x ∈ s}ᶜ = insert b (range ⇑f)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range ⇑f ∪ (fun x => b) '' {x | ↑x ∈ s}ᶜ = insert b (range ⇑f)
Tactic:
simp_rw [← union_singleton]
State after:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range ⇑f ∪ (fun x => b) '' {x | ↑x ∈ s}ᶜ = range ⇑f ∪ {b}

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ range ⇑f ∪ (fun x => b) '' {x | ↑x ∈ s}ᶜ = range ⇑f ∪ {b}
Tactic:
convert rfl
State after:
case h.e'_3.h.e'_4
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ {b} = (fun x => b) '' {x | ↑x ∈ s}ᶜ

State before:
case h.e'_3.h.e'_4
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
⊢ {b} = (fun x => b) '' {x | ↑x ∈ s}ᶜ
Tactic:
ext x
State after:
case h.e'_3.h.e'_4.h
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
x : β
⊢ x ∈ {b} ↔ x ∈ (fun x => b) '' {x | ↑x ∈ s}ᶜ

State before:
case h.e'_3.h.e'_4.h
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
b : β
s : Set α
f✝ f : ↑s ↪ β
ha : a ∉ s
hb : b ∉ range ⇑f
x : β
⊢ x ∈ {b} ↔ x ∈ (fun x => b) '' {x | ↑x ∈ s}ᶜ
Tactic:
simp [ha, eq_comm (a := x)]
State after:
no goals