Legacy.Base.Homomorphisms.Properties¶
Properties of Homomorphisms¶
This is the Legacy.Base.Homomorphisms.Properties module of the Agda Universal Algebra Library.
{-# OPTIONS --cubical-compatible --exact-split --safe #-} open import Overture using (Signature ; ๐ ; ๐ฅ ) module Legacy.Base.Homomorphisms.Properties {๐ : Signature ๐ ๐ฅ} where -- Imports from Agda and the Agda Standard Library -------------------------------- open import Data.Product using ( _,_ ) open import Function using ( _โ_ ) open import Level using ( Level ) open import Relation.Binary.PropositionalEquality as โก using ( _โก_ ; module โก-Reasoning ) -- Imports from the Agda Universal Algebras Library -------------------------------- open import Overture using ( โฃ_โฃ ; โฅ_โฅ ) open import Legacy.Base.Algebras {๐ = ๐} using ( Algebra ; _ฬ_ ; Lift-Alg ) open import Legacy.Base.Homomorphisms.Basic {๐ = ๐} using ( hom ; is-homomorphism ) private variable ฮฑ ฮฒ ฮณ ฯ : Level
Homomorphism composition¶
The composition of homomorphisms is again a homomorphism. We formalize this in a number of alternative ways.
open โก-Reasoning module _ (๐จ : Algebra ฮฑ){๐ฉ : Algebra ฮฒ}(๐ช : Algebra ฮณ) where โ-hom : hom ๐จ ๐ฉ โ hom ๐ฉ ๐ช โ hom ๐จ ๐ช โ-hom (g , ghom) (h , hhom) = h โ g , Goal where Goal : โ ๐ a โ (h โ g)((๐ ฬ ๐จ) a) โก (๐ ฬ ๐ช)(h โ g โ a) Goal ๐ a = (h โ g)((๐ ฬ ๐จ) a) โกโจ โก.cong h ( ghom ๐ a ) โฉ h ((๐ ฬ ๐ฉ)(g โ a)) โกโจ hhom ๐ ( g โ a ) โฉ (๐ ฬ ๐ช)(h โ g โ a) โ โ-is-hom : {f : โฃ ๐จ โฃ โ โฃ ๐ฉ โฃ}{g : โฃ ๐ฉ โฃ โ โฃ ๐ช โฃ} โ is-homomorphism ๐จ ๐ฉ f โ is-homomorphism ๐ฉ ๐ช g โ is-homomorphism ๐จ ๐ช (g โ f) โ-is-hom {f} {g} fhom ghom = โฅ โ-hom (f , fhom) (g , ghom) โฅ
A homomorphism from ๐จ to ๐ฉ can be lifted to a homomorphism from
Lift-Alg ๐จ โแต to Lift-Alg ๐ฉ โแต.
open Level Lift-hom : {๐จ : Algebra ฮฑ}(โแต : Level){๐ฉ : Algebra ฮฒ} (โแต : Level) โ hom ๐จ ๐ฉ โ hom (Lift-Alg ๐จ โแต) (Lift-Alg ๐ฉ โแต) Lift-hom {๐จ = ๐จ} โแต {๐ฉ} โแต (f , fhom) = lift โ f โ lower , Goal where lABh : is-homomorphism (Lift-Alg ๐จ โแต) ๐ฉ (f โ lower) lABh = โ-is-hom (Lift-Alg ๐จ โแต) ๐ฉ {lower}{f} (ฮป _ _ โ โก.refl) fhom Goal : is-homomorphism(Lift-Alg ๐จ โแต)(Lift-Alg ๐ฉ โแต) (lift โ (f โ lower)) Goal = โ-is-hom (Lift-Alg ๐จ โแต) (Lift-Alg ๐ฉ โแต) {f โ lower}{lift} lABh ฮป _ _ โ โก.refl
We should probably point out that while the lifting and lowering homomorphisms are important for our formal treatment of algebras in type theory, they never arise---in fact, they are not even definable---in classical universal algebra based on set theory.