α : Type u_1
β : Type u_2
γ : Type ?u.28991
ι : Sort ?u.28994
π : α → Type ?u.28999
s✝ s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f✝ f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a✝ : α
b : β
f : α → β
s : Set α
a : α
has : ¬a ∈ s
this : Disjoint s {a}
⊢ InjOn f (insert a s) ↔ InjOn f s ∧ ¬f a ∈ f '' s
α : Type u_1
β : Type u_2
γ : Type ?u.28991
ι : Sort ?u.28994
π : α → Type ?u.28999
s✝ s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f✝ f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a✝ : α
b : β
f : α → β
s : Set α
a : α
has : ¬a ∈ s
⊢ InjOn f (insert a s) ↔ InjOn f s ∧ ¬f a ∈ f '' s
have : Disjoint s {a} := disjoint_iff_inf_le.mpr fun x ⟨hxs, (hxa : x = a)⟩ => has (hxa ▸ hxs)
α : Type u_1
β : Type u_2
γ : Type ?u.28991
ι : Sort ?u.28994
π : α → Type ?u.28999
s✝ s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f✝ f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a✝ : α
b : β
f : α → β
s : Set α
a : α
has : ¬a ∈ s
this : Disjoint s {a}
⊢ (InjOn f s ∧ InjOn f {a} ∧ ∀ (x : α), x ∈ s → ∀ (y : α), y ∈ {a} → f x ≠ f y) ↔ InjOn f s ∧ ¬f a ∈ f '' s
α : Type u_1
β : Type u_2
γ : Type ?u.28991
ι : Sort ?u.28994
π : α → Type ?u.28999
s✝ s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f✝ f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a✝ : α
b : β
f : α → β
s : Set α
a : α
has : ¬a ∈ s
this : Disjoint s {a}
⊢ InjOn f (insert a s) ↔ InjOn f s ∧ ¬f a ∈ f '' s
rw [← union_singleton, injOn_union this]
no goals
α : Type u_1
β : Type u_2
γ : Type ?u.28991
ι : Sort ?u.28994
π : α → Type ?u.28999
s✝ s₁ s₂ : Set α
t t₁ t₂ : Set β
p : Set γ
f✝ f₁ f₂ f₃ : α → β
g g₁ g₂ : β → γ
f' f₁' f₂' : β → α
g' : γ → β
a✝ : α
b : β
f : α → β
s : Set α
a : α
has : ¬a ∈ s
this : Disjoint s {a}
⊢ (InjOn f s ∧ InjOn f {a} ∧ ∀ (x : α), x ∈ s → ∀ (y : α), y ∈ {a} → f x ≠ f y) ↔ InjOn f s ∧ ¬f a ∈ f '' s
simp