Interactions between relation homomorphisms and sets #
It is likely that there are better homes for many of these statement, in files further down the import graph.
theorem RelHomClass.map_inf {α : Type u_1} {β : Type u_2} {F : Type u_3} [SemilatticeInf α] [LinearOrder β] [FunLike F β α] [RelHomClass F (fun (x1 x2 : β) => x1 < x2) fun (x1 x2 : α) => x1 < x2] (a : F) (m n : β) :
theorem RelHomClass.map_sup {α : Type u_1} {β : Type u_2} {F : Type u_3} [SemilatticeSup α] [LinearOrder β] [FunLike F β α] [RelHomClass F (fun (x1 x2 : β) => x1 > x2) fun (x1 x2 : α) => x1 > x2] (a : F) (m n : β) :
theorem RelHomClass.directedOn {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} {F : Type u_3} [FunLike F α β] [RelHomClass F r s] {f : F} {t : Set α} (hs : DirectedOn r t) :
DirectedOn s (⇑f '' t)
Subrel r p is the inherited relation on a subtype.
We could also consider a Set.Subrel r s variant for dot notation, but this ends up interacting
poorly with simpNF.
Equations
- Subrel r p = Subtype.val ⁻¹'o r
Instances For
The relation embedding from the inherited relation on a subset.
Equations
- Subrel.relEmbedding r p = { toEmbedding := Function.Embedding.subtype p, map_rel_iff' := ⋯ }
Instances For
@[simp]
theorem Subrel.relEmbedding_apply {α : Type u_1} (r : α → α → Prop) (p : α → Prop) (a : Subtype p) :
Set.inclusion as a relation embedding.
Equations
- Subrel.inclusionEmbedding r h = { toFun := Set.inclusion h, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
@[simp]
instance Subrel.instIrreflSubtype {α : Type u_1} (r : α → α → Prop) [Std.Irrefl r] (p : α → Prop) :
Std.Irrefl (Subrel r p)
instance Subrel.instTrichotomousSubtype {α : Type u_1} (r : α → α → Prop) [Std.Trichotomous r] (p : α → Prop) :
Std.Trichotomous (Subrel r p)
instance Subrel.instWellFoundedSubtype {α : Type u_1} (r : α → α → Prop) [WellFounded r] (p : α → Prop) :
WellFounded (Subrel r p)
instance Subrel.instIsPreorderSubtype {α : Type u_1} (r : α → α → Prop) [IsPreorder α r] (p : α → Prop) :
IsPreorder (Subtype p) (Subrel r p)
instance Subrel.instIsStrictOrderSubtype {α : Type u_1} (r : α → α → Prop) [IsStrictOrder α r] (p : α → Prop) :
IsStrictOrder (Subtype p) (Subrel r p)
instance Subrel.instIsWellOrderSubtype {α : Type u_1} (r : α → α → Prop) [IsWellOrder α r] (p : α → Prop) :
IsWellOrder (Subtype p) (Subrel r p)
If a proposition holds for all elements, then the Subrel is equivalent to the original
relation.
Equations
- RelIso.subrelUnivIso h = { toEquiv := Equiv.subtypeUnivEquiv h, map_rel_iff' := ⋯ }
Instances For
@[simp]
theorem RelIso.subrelUnivIso_apply {α : Type u_1} {r : α → α → Prop} {p : α → Prop} (h : ∀ (x : α), p x) (x : Subtype p) :
@[simp]
theorem RelIso.subrelUnivIso_symm_apply {α : Type u_1} {r : α → α → Prop} {p : α → Prop} (h : ∀ (x : α), p x) (x : α) :
def RelEmbedding.codRestrict {α : Type u_1} {β : Type u_2} {r : α → α → Prop} {s : β → β → Prop} (p : Set β) (f : r ↪r s) (H : ∀ (a : α), f a ∈ p) :
Restrict the codomain of a relation embedding.
Equations
- RelEmbedding.codRestrict p f H = { toEmbedding := Function.Embedding.codRestrict p f.toEmbedding H, map_rel_iff' := ⋯ }
Instances For
A relation r is well-founded iff every downward-interval { a | r a b } of it is
well-founded.