Endomorphisms
module foundation.endomorphisms where
Imports
open import foundation-core.endomorphisms public open import foundation.unit-type open import foundation-core.dependent-pair-types open import foundation-core.functions open import foundation-core.identity-types open import foundation-core.sets open import foundation-core.universe-levels open import group-theory.monoids open import group-theory.semigroups open import structured-types.wild-monoids
Idea
An endomorphism on a type A
is a map A → A
.
Properties
Endomorphisms form a monoid
endo-Wild-Monoid : {l : Level} → UU l → Wild-Monoid l pr1 (pr1 (endo-Wild-Monoid A)) = endo-Pointed-Type A pr1 (pr2 (pr1 (endo-Wild-Monoid A))) g f = g ∘ f pr1 (pr2 (pr2 (pr1 (endo-Wild-Monoid A)))) f = refl pr1 (pr2 (pr2 (pr2 (pr1 (endo-Wild-Monoid A))))) f = refl pr2 (pr2 (pr2 (pr2 (pr1 (endo-Wild-Monoid A))))) = refl pr1 (pr2 (endo-Wild-Monoid A)) h g f = refl pr1 (pr2 (pr2 (endo-Wild-Monoid A))) g f = refl pr1 (pr2 (pr2 (pr2 (endo-Wild-Monoid A)))) g f = refl pr1 (pr2 (pr2 (pr2 (pr2 (endo-Wild-Monoid A))))) g f = refl pr2 (pr2 (pr2 (pr2 (pr2 (endo-Wild-Monoid A))))) = star endo-Semigroup : {l : Level} → Set l → Semigroup l pr1 (endo-Semigroup A) = endo-Set A pr1 (pr2 (endo-Semigroup A)) g f = g ∘ f pr2 (pr2 (endo-Semigroup A)) h g f = refl endo-Monoid : {l : Level} → Set l → Monoid l pr1 (endo-Monoid A) = endo-Semigroup A pr1 (pr2 (endo-Monoid A)) = id pr1 (pr2 (pr2 (endo-Monoid A))) f = refl pr2 (pr2 (pr2 (endo-Monoid A))) f = refl
See also
- For endomorphisms in a category see
category-theory.endomorphisms-of-objects-categories
.