Chapter 5: Nilpotency and solvability

  • Commutator of normal subloops
  • Series
  • Nilpotency
  • Demonstration: All nilpotent loops in a given variety
  • Demonstration: The Frattini subloop
  • Congruence Solvability vs congruence solvability
  • Demonstration: A loop that is classically solvable but not congruence solvable

Commutator of normal subloops

  • There is a general theory of commutators of normal subloops in congruence modular varieties, due to Gumm, Smith and Freese-McKenzie.

  • It was specialized to loops by Stanovský and VojtÄ›chovský. A key result was improved by Barnes:

Theorem: (S+V, B)
Let , be normal subloops of a loop . The commutator is the normal closure of

Series

  • Lower central series: ,

  • Upper central series: as usual

  • Congruence derived series: ,

  • Classical derived series: ,

  • This leads to nilpotency, congruence solvability and classical solvability

Nilpotency

gap> Q := MoufangLoop( 64, 10 );
MoufangLoop( 64, 10 )
gap> IsNilpotent( Q );
true
gap> NilpotencyClassOfLoop( Q );
2
gap> LowerCentralSeries( Q );
[ MoufangLoop( 64, 10 ), <Moufang loop of size 4>, <trivial group with 1 generator> ]
gap> UpperCentralSeries( Q );
[ <Moufang loop of size 64>, <Moufang loop of size 8>, <trivial group with 0 generators> ]

Demonstration: All nilpotent loops in a given variety

  • Suppose we want to find all nilpotent left Bol loops of order 20 up to isomorphism.

  • The center of contains a cyclic group of order 2 or 5. So it suffices to find all nilpotent Bol loops of order 10 and 4, and their central extensions with those cyclic loops. Etc.

All nilpotent left Bol loops: AllLoopCentralExtensions

AllLoopCentralExtensions( F, p, identities )
  • It calculates coboundaries , cocycles in the variety (given by identities), and representatives of a certain action of on the space of cocycles modulo coboundaries.
leftbol := "x*(y*(x*z))=(x*(y*x))*z";
f := AllLoopCentralExtensionsInVariety;

All nilpotent left Bol loops: Order 10

  • order 10 = 2x5 = 5x2
C2 := AsLoop( CyclicGroup( 2 ) );
C5 := AsLoop( CyclicGroup( 5 ) );
lps10a := f( C2, 5, [ leftbol ] );
lps10b := f( C5, 2, [ leftbol ] );
lps10 := LoopsUpToIsomorphism( Concatenation( lps10a, lps10b ) );

All nilpotent left Bol loops : Order 20

  • order 20 = 10x2 = 4x5
C4 := AsLoop( CyclicGroup( 4 ) );
V4 := AsLoop( Group( (1,2), (3,4) ) );
lps20a := List( lps10, F -> f( F, 2, [ leftbol ] ) );
lps20a := Concatenation( lps20a );
lps20b := f( C4, 5, [ leftbol ] );
lps20c := f( V4, 5, [ leftbol ] );
lps20 := LoopsUpToIsomorphism( Concatenation( lps20a, lps20b, lps20c ) );
  • Guess what is found?

Demonstration: Frattini subloop

  • is the intersection of all maximal subloops of

  • Theorem: (Nagy) Let be a finite loop such that is nilpotent. Then is the orbit of containing .

  • Theorem: (Bruck) If is nilpotent of prime power order then is nilpotent.

  • Theorem: (Glauberman-Wright, Drápal) A Moufang loop of prime power order is nilpotent.

Frattini subloop

  • from definition
gap> Q := MoufangLoop( 64, 100 );;
gap> F1 := Intersection( AllMaximalSubloops( Q ) );
<Moufang loop of size 8>
  • from theory
gap> G := MultiplicationGroup( Q );;
gap> orb := Orbit( FrattiniSubgroup( G ), 1 );;
gap> F2 := Subloop( Q, List( orb, i -> Q.(i) ) );;
gap> F1 = F2;
true
  • from documentation
gap> FrattiniSubloop( Q );;

Congruence solvability vs classical solvability

  • A congruence derived subloop is classically solvable. The converse does not hold in general. It is open in Moufang loops, say.

  • Consider a normal series

  • A loop is classically solvable if it contains (1) where every is an abelian group, that is, .

  • A loop is conguence solvable if it contains (1) where every induces an abelian congruence of , that is, .

Demonstration: A loop that is classically solvable but not congruence solvable

gap> Q := LeftBolLoop( 16, 1 );;
gap> [ IsSolvableLoop( Q ), IsCongruenceSolvableLoop( Q ) ];
[ true, false ]
  • derived series and congruence derived series (could call them directly)
gap> D := DerivedSubloop( Q );
<left Bol loop of size 8>
gap> DerivedSubloop( D );
<trivial group with 1 generator>
gap> CommutatorOfNormalSubloops( Q, D, D );
<left Bol loop of size 8>
gap> IsCongruenceSolvableLoop( D );
true
gap> IsAbelianNormalSubloop( Q, D );
false