Interactions between embeddings and sets. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
@[simp]
theorem
equiv.as_embedding_range
{α : Sort u_1}
{β : Type u_2}
{p : β → Prop}
(e : α ≃ subtype p) :
set.range ⇑(e.as_embedding) = set_of p
Embedding into with_top α
.
Equations
- function.embedding.coe_with_top = {to_fun := coe coe_to_lift, inj' := _}
@[simp]
def
function.embedding.option_elim
{α : 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.option_elim x h = {to_fun := option.elim x ⇑f, inj' := _}
@[simp]
theorem
function.embedding.option_elim_apply
{α : Type u_1}
{β : Type u_2}
(f : α ↪ β)
(x : β)
(h : x ∉ set.range ⇑f)
(ᾰ : option α) :
⇑(f.option_elim x h) ᾰ = option.elim x ⇑f ᾰ
@[simp]
theorem
function.embedding.option_embedding_equiv_apply_fst
(α : Type u_1)
(β : Type u_2)
(f : option α ↪ β) :
@[simp]
theorem
function.embedding.option_embedding_equiv_apply_snd_coe
(α : Type u_1)
(β : Type u_2)
(f : option α ↪ β) :
↑((⇑(function.embedding.option_embedding_equiv α β) f).snd) = ⇑f option.none
Equivalence between embeddings of option α
and a sigma type over the embeddings of α
.
@[simp]
theorem
set.embedding_of_subset_apply
{α : Type u_1}
(s t : set α)
(h : s ⊆ t)
(x : ↥s) :
⇑(s.embedding_of_subset t h) x = ⟨x.val, _⟩
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.sum_compl
, for when is_compl p q
.
Equations
- subtype_or_equiv p q h = {to_fun := ⇑(subtype_or_left_embedding p q), inv_fun := sum.elim ⇑(subtype.imp_embedding (λ (x : α), p x) (λ (x : α), p x ∨ q x) _) ⇑(subtype.imp_embedding (λ (x : α), q x) (λ (x : α), p x ∨ q x) _), left_inv := _, right_inv := _}
@[simp]
theorem
subtype_or_equiv_apply
{α : Type u_1}
(p q : α → Prop)
[decidable_pred p]
(h : disjoint p q)
(ᾰ : {x // p x ∨ q x}) :
⇑(subtype_or_equiv p q h) ᾰ = ⇑(subtype_or_left_embedding p q) ᾰ
@[simp]
theorem
subtype_or_equiv_symm_inl
{α : Type u_1}
(p q : α → Prop)
[decidable_pred p]
(h : disjoint p q)
(x : {x // p x}) :
@[simp]
theorem
subtype_or_equiv_symm_inr
{α : Type u_1}
(p q : α → Prop)
[decidable_pred p]
(h : disjoint p q)
(x : {x // q x}) :