theorem
Relation.rel_nonempty_iff_domain_and_range_nonempty
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
Set.Nonempty r ↔ r.domain.Nonempty ∧ r.range.Nonempty
theorem
Relation.rel_nonempty_of_domain_nonempty
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
r.domain.Nonempty → Set.Nonempty r
theorem
Relation.rel_nonempty_of_range_nonempty
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
r.range.Nonempty → Set.Nonempty r
@[simp]
theorem
Relation.image_univ_rel
{α : Type u_1}
{β : Type u_2}
{x : Set α}
(h : x.Nonempty)
:
Relation.image Set.univ x = Set.univ
@[simp]
theorem
Relation.preimage_univ_rel
{α : Type u_1}
{β : Type u_2}
{y : Set β}
(h : y.Nonempty)
:
Relation.preimage Set.univ y = Set.univ
@[simp]
theorem
Relation.range_univ_rel
{α : Type u_1}
{β : Type u_2}
[h : Nonempty α]
:
Relation.range Set.univ = Set.univ
@[simp]
theorem
Relation.domain_univ_rel
{α : Type u_1}
{β : Type u_2}
[h : Nonempty β]
:
Relation.domain Set.univ = Set.univ
theorem
Relation.curry_eq_sect
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
Function.curry r = r.sect
@[simp]
theorem
Relation.inv_compl
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
Relation.inv rᶜ = r.invᶜ
@[simp]
theorem
Relation.sprod_domain
{α : Type u_1}
{β : Type u_2}
{x : Set α}
{y : Set β}
(h : y.Nonempty)
:
Relation.domain (x.prod y) = x
@[simp]
theorem
Relation.sprod_range
{α : Type u_1}
{β : Type u_2}
{x : Set α}
{y : Set β}
(h : x.Nonempty)
:
Relation.range (x.prod y) = y
@[simp]
theorem
Relation.sprod_image
{α : Type u_1}
{β : Type u_2}
{a : α}
{x x' : Set α}
{y : Set β}
(h : a ∈ x)
(h' : a ∈ x')
:
Relation.image (x.prod y) x' = y
@[simp]
theorem
Relation.sprod_preimage
{α : Type u_1}
{β : Type u_2}
{b : β}
{x : Set α}
{y y' : Set β}
(h : b ∈ y)
(h' : b ∈ y')
:
Relation.preimage (x.prod y) y' = x
@[simp]
theorem
Relation.sprod_inv
{α : Type u_1}
{β : Type u_2}
{x : Set α}
{y : Set β}
:
Relation.inv (x.prod y) = y.prod x
@[simp]
theorem
Relation.sprod_sect
{α : Type u_1}
{β : Type u_2}
{a : α}
{x : Set α}
{y : Set β}
(h : a ∈ x)
:
Relation.sect (x.prod y) a = y
@[simp]
theorem
Relation.univ_comp
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
{s : Relation γ α}
:
Relation.comp Set.univ s = s.domain.prod Set.univ
theorem
Relation.sprod_comp
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
{x : Set α}
{y : Set β}
:
Relation.comp (y.prod x) r = (r.preimage y).prod x
@[simp]
theorem
Relation.compl_inv_comp_subset_diag_compl
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
Relation.comp r.invᶜ r ⊆ Relation.diagᶜ
Equations
- Relation.graph f = {x : α × β | x.snd = f x.fst}
Instances For
@[simp]
theorem
Relation.mem_graph_iff
{α : Type u_1}
{β : Type u_2}
{a : α}
{b : β}
{f : α → β}
:
(a, b) ∈ Relation.graph f ↔ b = f a
@[simp]
theorem
Relation.mem_graph
{α : Type u_1}
{β : Type u_2}
{a : α}
{f : α → β}
:
(a, f a) ∈ Relation.graph f
@[simp]
theorem
Relation.graph_functional
{α : Type u_1}
{β : Type u_2}
{f : α → β}
:
(Relation.graph f).Functional
@[simp]
theorem
Relation.functional_iff_graph
{α : Type u_1}
{β : Type u_2}
{r : Relation α β}
:
r.Functional ↔ ∃ (f : α → β), r = Relation.graph f
@[simp]
theorem
Relation.graph_section
{α : Type u_1}
{β : Type u_2}
{a : α}
{f : α → β}
:
(Relation.graph f).sect a = {f a}
theorem
Relation.graph_comp
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
{f : α → β}
{g : γ → α}
:
Relation.graph (f ∘ g) = (Relation.graph f).comp (Relation.graph g)
@[simp]
theorem
Relation.domain_graph
{α : Type u_1}
{β : Type u_2}
{f : α → β}
:
(Relation.graph f).domain = Set.univ