@[instance_reducible]
Equations
- Partition.instFunLikeRepFun = { coe := Partition.RepFun.toFun, coe_injective := ⋯ }
def Partition.RepFun.mk' {α : Type u_1} (P : Partition (Set α)) (f : α → α) {p : α → Prop} (hP : ∀ {x : α}, x ∈ P.supp ↔ p x) (h₁ : ∀ (a : α), ¬p a → f a = a) (h₂ : ∀ (a : α), p a → P a (f a)) (h₃ : ∀ (a b : α), P a b → f a = f b) :
P.RepFun
Equations
- Partition.RepFun.mk' P f hP h₁ h₂ h₃ = { toFun := f, apply_eq_self_of_notMem := ⋯, rel_apply_of_mem := ⋯, apply_eq_of_rel := h₃ }
Instances For
@[simp]
theorem Partition.RepFun.mapsTo {α : Type u_1} {P : Partition (Set α)} (f : P.RepFun) :
Set.MapsTo (⇑f) P.supp P.supp
theorem Partition.exists_extend_partial_repFun {α : Type u_1} (P : Partition (Set α)) {t : Set α} (f₀ : ↑t → α) (h_notMem : ∀ (x : ↑t), ↑x ∉ P.supp → f₀ x = ↑x) (h_mem : ∀ (x : ↑t), ↑x ∈ P.supp → P (↑x) (f₀ x)) (h_eq : ∀ (x y : ↑t), P ↑x ↑y → f₀ x = f₀ y) :
Any partially defined RepFun extends to a complete one.
@[simp]
theorem Partition.repFun_discrete_coeFun {α : Type u_1} (s : Set α) (f : (Partition.discrete s).RepFun) :
Equations
Instances For
IsRepFun #
A predicate characterizing when a function f : α → α is a representative function for a
partition P. A representative function maps each element to a canonical representative in its
equivalence class, is the identity outside the support, and maps related elements to the same
representative.
- apply_eq_apply ⦃a b : α⦄ : P a b → f a = f b
Instances For
theorem Partition.IsRepFun.mk' {α : Type u_1} {p : α → Prop} (P : Partition (Set α)) (f : α → α) (hP : ∀ {x : α}, x ∈ P.supp ↔ p x) (h₁ : ∀ (a : α), ¬p a → f a = a) (h₂ : ∀ (a : α), p a → P a (f a)) (h₃ : ∀ (a b : α), P a b → f a = f b) :
P.IsRepFun f
Constructor for IsRepFun that uses a custom membership predicate.
theorem Partition.IsRepFun.mapsTo_supp {α : Type u_1} {P : Partition (Set α)} {f : α → α} (hf : P.IsRepFun f) :
Set.MapsTo f P.supp P.supp
theorem Partition.IsRepFun.mapsTo {α : Type u_1} {P : Partition (Set α)} {f : α → α} {S : Set α} (hf : P.IsRepFun f) (hS : P.supp ⊆ S) :
Set.MapsTo f S S
theorem Partition.exists_extend_partial {α : Type u_1} (P : Partition (Set α)) {t : Set α} (f₀ : ↑t → α) (h_notMem : ∀ (x : ↑t), ↑x ∉ P.supp → f₀ x = ↑x) (h_mem : ∀ (x : ↑t), ↑x ∈ P.supp → P (↑x) (f₀ x)) (h_eq : ∀ (x y : ↑t), P ↑x ↑y → f₀ x = f₀ y) :
Any partially defined representative function extends to a complete one.
theorem Partition.IsRepFun.eq_id_of_discrete {α : Type u_1} {f : α → α} (s : Set α) (hf : (Partition.discrete s).IsRepFun f) :