Lower central series:
Upper central series: as usual
Congruence derived series:
Classical derived series:
This leads to nilpotency, congruence solvability and classical solvability
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> ]
Suppose we want to find all nilpotent left Bol loops
The center of
AllLoopCentralExtensions( F, p, identities )
leftbol := "x*(y*(x*z))=(x*(y*x))*z";
f := AllLoopCentralExtensionsInVariety;
C2 := AsLoop( CyclicGroup( 2 ) );
C5 := AsLoop( CyclicGroup( 5 ) );
lps10a := f( C2, 5, [ leftbol ] );
lps10b := f( C5, 2, [ leftbol ] );
lps10 := LoopsUpToIsomorphism( Concatenation( lps10a, lps10b ) );
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 ) );
Theorem: (Nagy) Let
Theorem: (Bruck) If
Theorem: (Glauberman-Wright, Drápal) A Moufang loop of prime power order is nilpotent.
gap> Q := MoufangLoop( 64, 100 );;
gap> F1 := Intersection( AllMaximalSubloops( Q ) );
<Moufang loop of size 8>
gap> G := MultiplicationGroup( Q );;
gap> orb := Orbit( FrattiniSubgroup( G ), 1 );;
gap> F2 := Subloop( Q, List( orb, i -> Q.(i) ) );;
gap> F1 = F2;
true
gap> FrattiniSubloop( Q );;
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
A loop
gap> Q := LeftBolLoop( 16, 1 );;
gap> [ IsSolvableLoop( Q ), IsCongruenceSolvableLoop( Q ) ];
[ true, false ]
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