Endomorphisms
Content created by Fredrik Bakke, Egbert Rijke and Jonathan Prieto-Cubides.
Created on 2022-05-07.
Last modified on 2023-09-13.
module foundation.endomorphisms where open import foundation-core.endomorphisms public
Imports
open import foundation.dependent-pair-types open import foundation.unit-type open import foundation.universe-levels open import foundation-core.function-types open import foundation-core.identity-types open import foundation-core.sets 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-in-categories
.
Recent changes
- 2023-09-13. Fredrik Bakke and Egbert Rijke. Refactor structured monoids (#761).
- 2023-06-10. Egbert Rijke. cleaning up transport and dependent identifications files (#650).
- 2023-06-08. Fredrik Bakke. Remove empty
foundation
modules and replace them by their core counterparts (#644). - 2023-06-07. Fredrik Bakke. Move public imports before “Imports” block (#642).
- 2023-05-06. Egbert Rijke. Big cleanup throughout library (#594).