Documentation

Mathlib.Order.RelIso.Set

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 : β) :
a (m n) = a m a 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 : β) :
a (m n) = a m a n
@[simp]
theorem RelIso.range_eq {α : Type u_1} {β : Type u_2} {r : ααProp} {s : ββProp} (e : r ≃r s) :
def Subrel {α : Type u_1} (r : ααProp) (p : αProp) :
Subtype pSubtype pProp

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
Instances For
@[simp]
theorem subrel_val {α : Type u_1} (r : ααProp) (p : αProp) {a b : Subtype p} :
Subrel r p a b r a b
def Subrel.relEmbedding {α : Type u_1} (r : ααProp) (p : αProp) :
Subrel r p ↪r r

The relation embedding from the inherited relation on a subset.

Equations
@[simp]
theorem Subrel.relEmbedding_apply {α : Type u_1} (r : ααProp) (p : αProp) (a : Subtype p) :
(Subrel.relEmbedding r p) a = a
def Subrel.inclusionEmbedding {α : Type u_1} (r : ααProp) {s t : Set α} (h : s t) :
(Subrel r fun (x : α) => x s) ↪r Subrel r fun (x : α) => x t

Set.inclusion as a relation embedding.

Equations
@[simp]
theorem Subrel.coe_inclusionEmbedding {α : Type u_1} (r : ααProp) {s t : Set α} (h : s t) :
instance Subrel.instIsWellOrderSubtype {α : Type u_1} (r : ααProp) [IsWellOrder α r] (p : αProp) :
instance Subrel.instIsReflSubtype {α : Type u_1} (r : ααProp) [IsRefl α r] (p : αProp) :
instance Subrel.instIsSymmSubtype {α : Type u_1} (r : ααProp) [IsSymm α r] (p : αProp) :
instance Subrel.instIsAsymmSubtype {α : Type u_1} (r : ααProp) [IsAsymm α r] (p : αProp) :
instance Subrel.instIsTransSubtype {α : Type u_1} (r : ααProp) [IsTrans α r] (p : αProp) :
instance Subrel.instIsIrreflSubtype {α : Type u_1} (r : ααProp) [IsIrrefl α r] (p : αProp) :
def RelEmbedding.codRestrict {α : Type u_1} {β : Type u_2} {r : ααProp} {s : ββProp} (p : Set β) (f : r ↪r s) (H : ∀ (a : α), f a p) :
r ↪r Subrel s fun (x : β) => x p

Restrict the codomain of a relation embedding.

Equations
@[simp]
theorem RelEmbedding.codRestrict_apply {α : Type u_1} {β : Type u_2} {r : ααProp} {s : ββProp} (p : Set β) (f : r ↪r s) (H : ∀ (a : α), f a p) (a : α) :
(codRestrict p f H) a = f a,
theorem RelIso.image_eq_preimage_symm {α : Type u_1} {β : Type u_2} {r : ααProp} {s : ββProp} (e : r ≃r s) (t : Set α) :
e '' t = e.symm ⁻¹' t
theorem RelIso.preimage_eq_image_symm {α : Type u_1} {β : Type u_2} {r : ααProp} {s : ββProp} (e : r ≃r s) (t : Set β) :
e ⁻¹' t = e.symm '' t
theorem Acc.of_subrel {α : Type u_1} {r : ααProp} [IsTrans α r] {b : α} (a : { a : α // r a b }) (h : Acc (Subrel r fun (x : α) => r x b) a) :
Acc r a
theorem wellFounded_iff_wellFounded_subrel {α : Type u_1} {r : ααProp} [IsTrans α r] :
WellFounded r ∀ (b : α), WellFounded (Subrel r fun (x : α) => r x b)

A relation r is well-founded iff every downward-interval { a | r a b } of it is well-founded.