Classical.Structures.Group.Conjugation¶
Conjugation and normality¶
This is the Classical.Structures.Group.Conjugation module of the Agda Universal Algebra Library.
For a group ๐ฎ this module develops conjugation โ first of elements
(conj g x = g โ x โ g โปยน), then of subgroups โ and the normality predicate, the
ingredients from which Classical.Structures.Group.NormalCore builds the normal
core Core_G(H) as a complete-lattice meet.
Two design points deserve comment.
- The conjugate of a subgroup is defined as an image, not a preimage. We take
conjugate g B = { x โฃ โ h โ B , x โ conj g h }, the โ-saturated image ofBunderconj g, rather than the preimage{ x โฃ conj (g โปยน) x โ B }. Over a setoid carrier the image form is superior: it respects the setoid equality by construction (no hypothesis onBneeded), and it is a subuniverse wheneverBis a bare subuniverse. For equality-respectingBthe two forms agree. - Normality is the pointwise property
โ g x โ x โ B โ conj g x โ B. The bridge lemmasnormal-conjugate-โandnormal-โ-conjugaterecover the equivalent formulation "every conjugate ofBcoincides withB" whenBrespects the equality.
All proofs are small equational chains over the group axioms; the derived
cancellation laws (\\-leftDividesสณ and friends) come from the standard library's
Algebra.Properties.Group applied to the bundle view
โจ ๐ฎ โฉแตแต of Classical.Bundles.Group, which is what the bundle
bridge exists for.
Conjugation of elements¶
Conj ๐ฎ packages conjugation in the group ๐ฎ; opening it puts conj
and its algebra of laws in scope. The laws say: conjugation by a fixed g is a group
endomorphism (conj-ฮต, conj-โ-hom,
conj-โปยน), and as g varies it is a left action of the group on
itself (conj-action-ฮต, conj-action-โ) by
โ-automorphisms (conj-cong, with conj-conjโปยน and
conjโปยน-conj the two inverse laws).
module Conjugate {ฮฑ ฯ : Level} (๐ข@(๐ฎ , eqns) : Group ฮฑ ฯ) where open Setoid ๐ป[ ๐ฎ ] using ( _โ_ ) renaming ( refl to โrefl ; sym to โsym ; trans to โtrans ) open SetoidReasoning ๐ป[ ๐ฎ ] open Group-Op ๐ข using ( _โ_ ; ฮต ; _โปยน ; โ-cong ; โปยน-cong ; assoc-law ; idหก-law ; idสณ-law ; invหก-law ; invสณ-law ) open GroupProperties โจ ๐ข โฉแตแต using ( ฮตโปยนโฮต ; โปยน-involutive ; โปยน-anti-homo-โ ; \\-leftDividesสณ ) -- Conjugation of the element x by the element g. conj : ๐[ ๐ฎ ] โ ๐[ ๐ฎ ] โ ๐[ ๐ฎ ] conj g x = g โ x โ g โปยน infixl 30 conj-syntax conj-syntax : ๐[ ๐ฎ ] โ ๐[ ๐ฎ ] โ ๐[ ๐ฎ ] conj-syntax = conj syntax conj-syntax g x = x ^ g -- Conjugation is a congruence in the conjugated element ... conj-cong : โ g {x y} โ x โ y โ x ^ g โ y ^ g conj-cong g xโy = โ-cong (โ-cong โrefl xโy) โrefl -- ... and in the conjugating element. conj-congแต : โ {g h} x โ g โ h โ x ^ g โ x ^ h conj-congแต x gโh = โ-cong (โ-cong gโh โrefl) (โปยน-cong gโh) -- Conjugation fixes the identity element. conj-ฮต : โ g โ ฮต ^ g โ ฮต conj-ฮต g = begin g โ ฮต โ g โปยน โโจ โ-cong (idสณ-law g) โrefl โฉ g โ g โปยน โโจ invสณ-law g โฉ ฮต โ -- Conjugation by g is multiplicative. conj-โ-hom : โ g x y โ (x โ y) ^ g โ (x ^ g) โ (y ^ g) conj-โ-hom g x y = begin (x โ y) ^ g โหโจ โ-cong (assoc-law g x y) โrefl โฉ g โ x โ y โ g โปยน โโจ assoc-law (g โ x) y (g โปยน) โฉ g โ x โ (y โ g โปยน) โหโจ โ-cong โrefl (\\-leftDividesสณ g (y โ g โปยน)) โฉ g โ x โ (g โปยน โ (g โ (y โ g โปยน))) โหโจ โ-cong โrefl (โ-cong โrefl (assoc-law g y (g โปยน))) โฉ g โ x โ (g โปยน โ (y ^ g)) โหโจ assoc-law (g โ x) (g โปยน) (y ^ g) โฉ (x ^ g) โ (y ^ g) โ -- Conjugation by g commutes with inversion. conj-โปยน : โ g x โ (x โปยน) ^ g โ (x ^ g) โปยน conj-โปยน g x = begin (x โปยน) ^ g โโจ assoc-law g (x โปยน) (g โปยน) โฉ g โ (x โปยน โ g โปยน) โหโจ โ-cong (โปยน-involutive g) (โปยน-anti-homo-โ g x) โฉ (g โปยน) โปยน โ (g โ x) โปยน โหโจ โปยน-anti-homo-โ (g โ x) (g โปยน) โฉ (x ^ g) โปยน โ -- Varying the conjugator: conjugation is a left action of the group on itself. conj-action-โ : โ g h x โ x ^ (g โ h) โ (x ^ h) ^ g conj-action-โ g h x = begin x ^ (g โ h) โโจ โrefl โฉ g โ h โ x โ (g โ h) โปยน โโจ โ-cong โrefl (โปยน-anti-homo-โ g h) โฉ g โ h โ x โ (h โปยน โ g โปยน) โหโจ assoc-law (g โ h โ x) (h โปยน) (g โปยน) โฉ g โ h โ x โ h โปยน โ g โปยน โโจ โ-cong (โ-cong (assoc-law g h x) โrefl) โrefl โฉ g โ (h โ x) โ h โปยน โ g โปยน โโจ โ-cong (assoc-law g (h โ x) (h โปยน)) โrefl โฉ g โ (h โ x โ h โปยน) โ g โปยน โโจ โrefl โฉ (x ^ h) ^ g โ conj-action-ฮต : โ x โ x ^ ฮต โ x conj-action-ฮต x = begin ฮต โ x โ ฮต โปยน โโจ โ-cong (idหก-law x) ฮตโปยนโฮต โฉ x โ ฮต โโจ idสณ-law x โฉ x โ -- Conjugating by g undoes conjugating by g โปยน, and vice versa. conj-conjโปยน : โ g x โ x ^ (g โปยน) ^ g โ x conj-conjโปยน g x = begin x ^ (g โปยน) ^ g โหโจ conj-action-โ g (g โปยน) x โฉ x ^ (g โ g โปยน) โโจ conj-congแต x (invสณ-law g) โฉ x ^ ฮต โโจ conj-action-ฮต x โฉ x โ conjโปยน-conj : โ g x โ x ^ g ^ (g โปยน) โ x conjโปยน-conj g x = begin x ^ g ^ (g โปยน) โหโจ conj-action-โ (g โปยน) g x โฉ x ^ (g โปยน โ g) โโจ conj-congแต x (invหก-law g) โฉ x ^ ฮต โโจ conj-action-ฮต x โฉ x โ
Conjugation of subgroups¶
The conjugate of a subset B by g is the โ-saturated image of B under
conj g. It respects the setoid equality by construction, and is a
subuniverse whenever B is (via the endomorphism laws above), so conjugation maps
subgroups to subgroups.
-- The conjugate subset g B gโปยน. conjugate : ๐[ ๐ฎ ] โ Pred ๐[ ๐ฎ ] โ โ Pred ๐[ ๐ฎ ] (ฮฑ โ ฯ โ โ) conjugate g B x = โ[ h ] (h โ B ร x โ h ^ g) infixl 30 conjugate-syntax conjugate-syntax : ๐[ ๐ฎ ] โ Pred ๐[ ๐ฎ ] โ โ Pred ๐[ ๐ฎ ] (ฮฑ โ ฯ โ โ) conjugate-syntax = conjugate syntax conjugate-syntax g B = [ B ]^ g -- The conjugate respects the setoid equality, with no hypothesis on B. conjugate-respects : โ g (B : Pred ๐[ ๐ฎ ] โ) โ [ B ]^ g Respects _โ_ conjugate-respects g B xโy (h , hโB , xโc) = h , hโB , โtrans (โsym xโy) xโc -- Conjugation of an element lands in the conjugate of any subset containing it. mem-conjugate : โ g {B : Pred ๐[ ๐ฎ ] โ} {x} โ x โ B โ x ^ g โ [ B ]^ g mem-conjugate g xโB = _ , xโB , โrefl -- Conjugation of subsets is monotone. conjugate-mono : โ g {B : Pred ๐[ ๐ฎ ] โ} {C : Pred ๐[ ๐ฎ ] โ'} โ B โ C โ [ B ]^ g โ [ C ]^ g conjugate-mono g BโC (h , hโB , xโc) = h , BโC hโB , xโc -- The conjugate of a subuniverse is a subuniverse. conjugate-isSubuniverse : (g : ๐[ ๐ฎ ]) (B : Pred ๐[ ๐ฎ ] โ) โ B โ Subuniverses ๐ฎ โ [ B ]^ g โ Subuniverses ๐ฎ conjugate-isSubuniverse g B B-sub โ-Op a im = hโ โ hโ , sub-โ-closed ๐ข B B-sub hโโB hโโB , eq where hโ hโ : ๐[ ๐ฎ ] hโ = im 0F .projโ hโ = im 1F .projโ hโโB : hโ โ B hโโB = im 0F .projโ .projโ hโโB : hโ โ B hโโB = im 1F .projโ .projโ eq : (โ-Op ฬ ๐ฎ) a โ (hโ โ hโ) ^ g eq = begin (โ-Op ฬ ๐ฎ) a โโจ interp-tuple-โ ๐ข a โฉ a 0F โ a 1F โโจ โ-cong (im 0F .projโ .projโ) (im 1F .projโ .projโ) โฉ hโ ^ g โ hโ ^ g โหโจ conj-โ-hom g hโ hโ โฉ (hโ โ hโ) ^ g โ conjugate-isSubuniverse g B B-sub ฮต-Op a im = ฮต , sub-ฮต-closed ๐ข B B-sub , eq where eq : (ฮต-Op ฬ ๐ฎ) a โ ฮต ^ g eq = begin (ฮต-Op ฬ ๐ฎ) a โโจ interp-tuple-ฮต ๐ข a โฉ ฮต โหโจ conj-ฮต g โฉ ฮต ^ g โ conjugate-isSubuniverse g B B-sub โปยน-Op a im = h โปยน , sub-โปยน-closed ๐ข B B-sub hโB , eq where h : ๐[ ๐ฎ ] h = im 0F .projโ hโB : h โ B hโB = im 0F .projโ .projโ eq : (โปยน-Op ฬ ๐ฎ) a โ (h โปยน) ^ g eq = begin (โปยน-Op ฬ ๐ฎ) a โโจ interp-tuple-โปยน ๐ข a โฉ a 0F โปยน โโจ โปยน-cong (im 0F .projโ .projโ) โฉ (h ^ g) โปยน โหโจ conj-โปยน g h โฉ (h โปยน) ^ g โ
The normality predicate¶
A subset is normal when it is closed under conjugation by every group element. The property is stated for bare predicates; for โ-respecting subgroups it is equivalent to each conjugate coinciding with the subgroup, and the three bridge lemmas make both directions available in the form each client needs.
-- The normality predicate: closure under conjugation, pointwise. IsNormal : Pred ๐[ ๐ฎ ] โ โ Type (ฮฑ โ โ) IsNormal B = โ g {x} โ x โ B โ x ^ g โ B -- For a respecting subset, normality bounds every conjugate above by B ... normal-conjugate-โ : {B : Pred ๐[ ๐ฎ ] โ} โ B Respects _โ_ โ IsNormal B โ โ g โ [ B ]^ g โ B normal-conjugate-โ resp nrmB g (h , hโB , xโc) = resp (โsym xโc) (nrmB g hโB) -- ... and below by B (this direction needs no respect hypothesis) ... normal-โ-conjugate : {B : Pred ๐[ ๐ฎ ] โ} โ IsNormal B โ โ g โ B โ [ B ]^ g normal-โ-conjugate nrmB g {x} xโB = x ^ (g โปยน) , nrmB (g โปยน) xโB , โsym (conj-conjโปยน g x) -- ... and conversely, a subset above all of its conjugates is normal. conjugate-โ-normal : {B : Pred ๐[ ๐ฎ ] โ} โ (โ g โ [ B ]^ g โ B) โ IsNormal B conjugate-โ-normal cnj g xโB = cnj g (mem-conjugate g xโB) -- The trivial subgroup and the full subgroup are normal. trivialSubgroupIsnormal : IsNormal (trivialSubgroup ๐ข .projโ) trivialSubgroupIsnormal g xโฮต = โtrans (conj-cong g xโฮต) (conj-ฮต g) fullSubgroupIsnormal : (โ : Level) โ IsNormal (projโ (fullSubgroup ๐ข โ)) fullSubgroupIsnormal โ _ _ = lift _