Interactions between embeddings and sets. #
@[simp]
theorem
Equiv.asEmbedding_range
{α : Sort u_1}
{β : Type u_2}
{p : β → Prop}
(e : α ≃ Subtype p)
:
Set.range ⇑e.asEmbedding = setOf p
@[simp]
theorem
Function.Embedding.optionElim_apply
{α : Type u_1}
{β : Type u_2}
(f : α ↪ β)
(x : β)
(h : x ∉ Set.range ⇑f)
(a✝ : Option α)
:
(f.optionElim x h) a✝ = Option.elim' x (⇑f) a✝
Equivalence between embeddings of Option α and a sigma type over the embeddings of α.
Instances For
@[simp]
theorem
Function.Embedding.optionEmbeddingEquiv_apply_fst
(α : Type u_1)
(β : Type u_2)
(f : Option α ↪ β)
:
((optionEmbeddingEquiv α β) f).fst = Embedding.some.trans f
@[simp]
theorem
Function.Embedding.optionEmbeddingEquiv_symm_apply
(α : Type u_1)
(β : Type u_2)
(f : (f : α ↪ β) × ↑(Set.range ⇑f)ᶜ)
:
(optionEmbeddingEquiv α β).symm f = f.fst.optionElim ↑f.snd ⋯
@[simp]
theorem
Function.Embedding.optionEmbeddingEquiv_apply_snd_coe
(α : Type u_1)
(β : Type u_2)
(f : Option α ↪ β)
:
↑((optionEmbeddingEquiv α β) f).snd = f none
def
Function.Embedding.codRestrict
{α : Sort u_1}
{β : Type u_2}
(p : Set β)
(f : α ↪ β)
(H : ∀ (a : α), f a ∈ p)
:
Restrict the codomain of an embedding.
Instances For
@[simp]
theorem
Function.Embedding.codRestrict_apply
{α : Sort u_1}
{β : Type u_2}
(p : Set β)
(f : α ↪ β)
(H : ∀ (a : α), f a ∈ p)
(a : α)
:
(codRestrict p f H) a = ⟨f a, ⋯⟩
@[simp]
The injection map is an embedding between subsets.
Instances For
@[simp]
theorem
Set.embeddingOfSubset_apply_coe
{α : Type u_1}
(s t : Set α)
(h : s ⊆ t)
(x : ↑s)
:
↑((s.embeddingOfSubset t h) x) = ↑x
A subtype {x // p x ∨ q x} over a disjunction of p q : α → Prop is equivalent to a sum of
subtypes {x // p x} ⊕ {x // q x} such that ¬ p x is sent to the right, when
Disjoint p q.
See also Equiv.sumCompl, for when IsCompl p q.
Instances For
@[simp]
theorem
subtypeOrEquiv_apply
{α : Type u_1}
(p q : α → Prop)
[DecidablePred p]
(h : Disjoint p q)
(a : { x : α // p x ∨ q x })
:
(subtypeOrEquiv p q h) a = (subtypeOrLeftEmbedding p q) a
@[simp]
theorem
subtypeOrEquiv_symm_inl
{α : Type u_1}
(p q : α → Prop)
[DecidablePred p]
(h : Disjoint p q)
(x : { x : α // p x })
:
(subtypeOrEquiv p q h).symm (Sum.inl x) = ⟨↑x, ⋯⟩
@[simp]
theorem
subtypeOrEquiv_symm_inr
{α : Type u_1}
(p q : α → Prop)
[DecidablePred p]
(h : Disjoint p q)
(x : { x : α // q x })
:
(subtypeOrEquiv p q h).symm (Sum.inr x) = ⟨↑x, ⋯⟩
For disjoint s t : Set α, the natural injection from ↑s ⊕ ↑t to α.
Instances For
@[simp]
theorem
Function.Embedding.sumSet_apply
{α : Type u_1}
{s t : Set α}
(h : Disjoint s t)
(a✝ : ↑s ⊕ ↑t)
:
(sumSet h) a✝ = Sum.elim Subtype.val Subtype.val a✝
theorem
Function.Embedding.coe_sumSet
{α : Type u_1}
{s t : Set α}
(h : Disjoint s t)
:
⇑(sumSet h) = Sum.elim Subtype.val Subtype.val
@[simp]
@[simp]
@[simp]
@[simp]