Semiconjugate and commuting maps #
We define the following predicates:
Function.Semiconj:f : α → βsemiconjugatesga : α → αtogb : β → βiff ∘ ga = gb ∘ f;Function.Semiconj₂:f : α → βsemiconjugates a binary operationga : α → α → αtogb : β → β → βiff (ga x y) = gb (f x) (f y);Function.Commute:f : α → αcommutes withg : α → αiff ∘ g = g ∘ f, or equivalentlySemiconj f g g.
We say that f : α → β semiconjugates ga : α → α to gb : β → β if f ∘ ga = gb ∘ f.
We use ∀ x, f (ga x) = gb (f x) as the definition, so given h : Function.Semiconj f ga gb and
a : α, we have h a : f (ga a) = gb (f a) and h.comp_eq : f ∘ ga = gb ∘ f.
Equations
- Function.Semiconj f ga gb = ∀ (x : α), f (ga x) = gb (f x)
Instances For
Definition of Function.Semiconj in terms of functional equality.
Alias of the forward direction of Function.semiconj_iff_comp_eq.
Definition of Function.Semiconj in terms of functional equality.
If f semiconjugates ga to gb and ga' to gb',
then it semiconjugates ga ∘ ga' to gb ∘ gb'.
If fab : α → β semiconjugates ga to gb and fbc : β → γ semiconjugates gb to gc,
then fbc ∘ fab semiconjugates ga to gc.
See also Function.Semiconj.comp_left for a version with reversed arguments.
If fbc : β → γ semiconjugates gb to gc and fab : α → β semiconjugates ga to gb,
then fbc ∘ fab semiconjugates ga to gc.
See also Function.Semiconj.trans for a version with reversed arguments.
Backward compatibility note: before 2024-01-13,
this lemma used to have the same order of arguments that Function.Semiconj.trans has now.
Any function semiconjugates the identity function to the identity function.
The identity function semiconjugates any function to itself.
If f : α → β semiconjugates ga : α → α to gb : β → β,
ga' is a right inverse of ga, and gb' is a left inverse of gb,
then f semiconjugates ga' to gb' as well.
If f semiconjugates ga to gb and f' is both a left and a right inverse of f,
then f' semiconjugates gb to ga.
If f : α → β semiconjugates ga : α → α to gb : β → β,
then Option.map f semiconjugates Option.map ga to Option.map gb.
Two maps f g : α → α commute if f (g x) = g (f x) for all x : α.
Given h : Function.commute f g and a : α, we have h a : f (g a) = g (f a) and
h.comp_eq : f ∘ g = g ∘ f.
Equations
- Function.Commute f g = Function.Semiconj f g g
Instances For
Reinterpret Function.Semiconj f g g as Function.Commute f g. These two predicates are
definitionally equal but have different dot-notation lemmas.
Reinterpret Function.Commute f g as Function.Semiconj f g g. These two predicates are
definitionally equal but have different dot-notation lemmas.
If f commutes with g and g', then it commutes with g ∘ g'.
If f and f' commute with g, then f ∘ f' commutes with g as well.
Any self-map commutes with the identity map.
The identity map commutes with any self-map.
If f commutes with g, then Option.map f commutes with Option.map g.
A map f semiconjugates a binary operation ga to a binary operation gb if
for all x, y we have f (ga x y) = gb (f x) (f y). E.g., a MonoidHom
semiconjugates (*) to (*).
Equations
- Function.Semiconj₂ f ga gb = ∀ (x y : α), f (ga x y) = gb (f x) (f y)