Interactions between embeddings and sets. #
def Function.Embedding.optionElim {α : Type u_1} {β : Type u_2} (f : α ↪ β) (x : β) (h : ¬x ∈ Set.range ⇑f) :
Given an embedding f : α ↪ β and a point outside of Set.range f, construct an embedding
Option α ↪ β.
Equations
- f.optionElim x h = { toFun := Option.elim' x ⇑f, inj' := ⋯ }
Instances For
@[simp]
theorem Function.Embedding.optionEmbeddingEquiv_apply_snd_coe (α : Type u_1) (β : Type u_2) (f : Option α ↪ β) :
@[simp]
theorem Function.Embedding.optionEmbeddingEquiv_apply_fst (α : Type u_1) (β : Type u_2) (f : Option α ↪ β) :
@[simp]
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.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem subtypeOrEquiv_apply {α : Type u_1} (p q : α → Prop) [DecidablePred p] (h : Disjoint p q) (a : { x : α // p x ∨ q x }) :
For disjoint s t : Set α, the natural injection from ↑s ⊕ ↑t to α.
Equations
- Function.Embedding.sumSet h = { toFun := Sum.elim Subtype.val Subtype.val, inj' := ⋯ }
Instances For
@[simp]
theorem Function.Embedding.sumSet_apply {α : Type u_1} {s t : Set α} (h : Disjoint s t) (a✝ : ↑s ⊕ ↑t) :
def Function.Embedding.sigmaSet {α : Type u_1} {ι : Type u_2} {s : ι → Set α} (h : Pairwise (onFun Disjoint s)) :
For an indexed family s : ι → Set α of disjoint sets,
the natural injection from the sigma-type (i : ι) × ↑(s i) to α.
Equations
- Function.Embedding.sigmaSet h = { toFun := fun (x : (i : ι) × ↑(s i)) => ↑x.snd, inj' := ⋯ }