Article GROUP_9, MML version 4.99.1005

:: GROUP_9:modenot 1
definition
  let a1, a2 be set;
  mode Action of a1,a2 is Function-like quasi_total Relation of a1,Funcs(a2,a2);
end;

:: GROUP_9:prednot 1 => GROUP_9:pred 1
definition
  let a1, a2 be set;
  let a3 be Function-like quasi_total Relation of a1,Funcs(a2,a2);
  let a4 be set;
  pred A4 is_stable_under_the_action_of A3 means
    for b1 being Element of a1
    for b2 being Function-like quasi_total Relation of a2,a2
          st b1 in a1 & b2 = a3 . b1
       holds b2 .: a4 c= a4;
end;

:: GROUP_9:dfs 1
definiens
  let a1, a2 be set;
  let a3 be Function-like quasi_total Relation of a1,Funcs(a2,a2);
  let a4 be set;
To prove
     a4 is_stable_under_the_action_of a3
it is sufficient to prove
  thus for b1 being Element of a1
    for b2 being Function-like quasi_total Relation of a2,a2
          st b1 in a1 & b2 = a3 . b1
       holds b2 .: a4 c= a4;

:: GROUP_9:def 1
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,Funcs(b2,b2)
for b4 being set holds
      b4 is_stable_under_the_action_of b3
   iff
      for b5 being Element of b1
      for b6 being Function-like quasi_total Relation of b2,b2
            st b5 in b1 & b6 = b3 . b5
         holds b6 .: b4 c= b4;

:: GROUP_9:funcnot 1 => GROUP_9:func 1
definition
  let a1, a2 be set;
  let a3 be Function-like quasi_total Relation of a1,Funcs(a2,a2);
  let a4 be Element of bool a2;
  func the_stable_subset_generated_by(A4,A3) -> Element of bool a2 means
    a4 c= it &
     it is_stable_under_the_action_of a3 &
     (for b1 being Element of bool a2
           st b1 is_stable_under_the_action_of a3 & a4 c= b1
        holds it c= b1);
end;

:: GROUP_9:def 2
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,Funcs(b2,b2)
for b4, b5 being Element of bool b2 holds
   b5 = the_stable_subset_generated_by(b4,b3)
iff
   b4 c= b5 &
    b5 is_stable_under_the_action_of b3 &
    (for b6 being Element of bool b2
          st b6 is_stable_under_the_action_of b3 & b4 c= b6
       holds b5 c= b6);

:: GROUP_9:funcnot 2 => GROUP_9:func 2
definition
  let a1, a2 be set;
  let a3 be Function-like quasi_total Relation of a1,Funcs(a2,a2);
  let a4 be FinSequence of a1;
  func Product(A4,A3) -> Function-like quasi_total Relation of a2,a2 means
    it = id a2
    if len a4 = 0
    otherwise ex b1 being FinSequence of Funcs(a2,a2) st
       it = b1 . len a4 &
        len b1 = len a4 &
        b1 . 1 = a3 . (a4 . 1) &
        (for b2 being natural set
              st b2 <> 0 & b2 < len a4
           holds ex b3, b4 being Function-like quasi_total Relation of a2,a2 st
              b3 = b1 . b2 & b4 = a3 . (a4 . (b2 + 1)) & b1 . (b2 + 1) = b3 * b4);
end;

:: GROUP_9:def 3
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,Funcs(b2,b2)
for b4 being FinSequence of b1
for b5 being Function-like quasi_total Relation of b2,b2 holds
   (len b4 = 0 implies    (b5 = Product(b4,b3)
    iff
       b5 = id b2)) &
    (len b4 = 0 or    (b5 = Product(b4,b3)
    iff
       ex b6 being FinSequence of Funcs(b2,b2) st
          b5 = b6 . len b4 &
           len b6 = len b4 &
           b6 . 1 = b3 . (b4 . 1) &
           (for b7 being natural set
                 st b7 <> 0 & b7 < len b4
              holds ex b8, b9 being Function-like quasi_total Relation of b2,b2 st
                 b8 = b6 . b7 & b9 = b3 . (b4 . (b7 + 1)) & b6 . (b7 + 1) = b8 * b9)));

:: GROUP_9:attrnot 1 => GROUP_9:attr 1
definition
  let a1 be set;
  let a2 be non empty Group-like associative multMagma;
  let a3 be Function-like quasi_total Relation of a1,Funcs(the carrier of a2,the carrier of a2);
  attr a3 is distributive means
    for b1 being Element of a1
          st b1 in a1
       holds a3 . b1 is Function-like quasi_total multiplicative Relation of the carrier of a2,the carrier of a2;
end;

:: GROUP_9:dfs 4
definiens
  let a1 be set;
  let a2 be non empty Group-like associative multMagma;
  let a3 be Function-like quasi_total Relation of a1,Funcs(the carrier of a2,the carrier of a2);
To prove
     a3 is distributive
it is sufficient to prove
  thus for b1 being Element of a1
          st b1 in a1
       holds a3 . b1 is Function-like quasi_total multiplicative Relation of the carrier of a2,the carrier of a2;

:: GROUP_9:def 4
theorem
for b1 being set
for b2 being non empty Group-like associative multMagma
for b3 being Function-like quasi_total Relation of b1,Funcs(the carrier of b2,the carrier of b2) holds
      b3 is distributive(b1, b2)
   iff
      for b4 being Element of b1
            st b4 in b1
         holds b3 . b4 is Function-like quasi_total multiplicative Relation of the carrier of b2,the carrier of b2;

:: GROUP_9:structnot 1 => GROUP_9:struct 1
definition
  let a1 be set;
  struct(multMagma) HGrWOpStr(#
    carrier -> set,
    multF -> Function-like quasi_total Relation of [:the carrier of it,the carrier of it:],the carrier of it,
    action -> Function-like quasi_total Relation of A1,Funcs(the carrier of it,the carrier of it)
  #);
end;

:: GROUP_9:attrnot 2 => GROUP_9:attr 2
definition
  let a1 be set;
  let a2 be HGrWOpStr over a1;
  attr a2 is strict;
end;

:: GROUP_9:exreg 1
registration
  let a1 be set;
  cluster strict HGrWOpStr over a1;
end;

:: GROUP_9:aggrnot 1 => GROUP_9:aggr 1
definition
  let a1, a2 be set;
  let a3 be Function-like quasi_total Relation of [:a2,a2:],a2;
  let a4 be Function-like quasi_total Relation of a1,Funcs(a2,a2);
  aggr HGrWOpStr(#a2,a3,a4#) -> strict HGrWOpStr over a1;
end;

:: GROUP_9:selnot 1 => GROUP_9:sel 1
definition
  let a1 be set;
  let a2 be HGrWOpStr over a1;
  sel the action of a2 -> Function-like quasi_total Relation of a1,Funcs(the carrier of a2,the carrier of a2);
end;

:: GROUP_9:exreg 2
registration
  let a1 be set;
  cluster non empty HGrWOpStr over a1;
end;

:: GROUP_9:attrnot 3 => GROUP_9:attr 3
definition
  let a1 be set;
  let a2 be non empty HGrWOpStr over a1;
  attr a2 is distributive means
    for b1 being non empty Group-like associative multMagma
    for b2 being Function-like quasi_total Relation of a1,Funcs(the carrier of b1,the carrier of b1)
          st b2 = the action of a2 &
             multMagma(#the carrier of b1,the multF of b1#) = multMagma(#the carrier of a2,the multF of a2#)
       holds b2 is distributive(a1, b1);
end;

:: GROUP_9:dfs 5
definiens
  let a1 be set;
  let a2 be non empty HGrWOpStr over a1;
To prove
     a2 is distributive
it is sufficient to prove
  thus for b1 being non empty Group-like associative multMagma
    for b2 being Function-like quasi_total Relation of a1,Funcs(the carrier of b1,the carrier of b1)
          st b2 = the action of a2 &
             multMagma(#the carrier of b1,the multF of b1#) = multMagma(#the carrier of a2,the multF of a2#)
       holds b2 is distributive(a1, b1);

:: GROUP_9:def 5
theorem
for b1 being set
for b2 being non empty HGrWOpStr over b1 holds
      b2 is distributive(b1)
   iff
      for b3 being non empty Group-like associative multMagma
      for b4 being Function-like quasi_total Relation of b1,Funcs(the carrier of b3,the carrier of b3)
            st b4 = the action of b2 &
               multMagma(#the carrier of b3,the multF of b3#) = multMagma(#the carrier of b2,the multF of b2#)
         holds b4 is distributive(b1, b3);

:: GROUP_9:exreg 3
registration
  let a1 be set;
  cluster non empty Group-like associative strict distributive HGrWOpStr over a1;
end;

:: GROUP_9:modenot 2
definition
  let a1 be set;
  mode GroupWithOperators of a1 is non empty Group-like associative distributive HGrWOpStr over a1;
end;

:: GROUP_9:funcnot 3 => GROUP_9:func 3
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be Element of a1;
  func A2 ^ A3 -> Function-like quasi_total multiplicative Relation of the carrier of a2,the carrier of a2 equals
    (the action of a2) . a3
    if a3 in a1
    otherwise id the carrier of a2;
end;

:: GROUP_9:def 6
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being Element of b1 holds
   (b3 in b1 implies b2 ^ b3 = (the action of b2) . b3) &
    (b3 in b1 or b2 ^ b3 = id the carrier of b2);

:: GROUP_9:modenot 3 => GROUP_9:mode 1
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  mode StableSubgroup of A2 -> non empty Group-like associative distributive HGrWOpStr over a1 means
    it is Subgroup of a2 &
     (for b1 being Element of a1 holds
        it ^ b1 = (a2 ^ b1) | the carrier of it);
end;

:: GROUP_9:dfs 7
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
To prove
     a3 is StableSubgroup of a2
it is sufficient to prove
  thus a3 is Subgroup of a2 &
     (for b1 being Element of a1 holds
        a3 ^ b1 = (a2 ^ b1) | the carrier of a3);

:: GROUP_9:def 7
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1 holds
   b3 is StableSubgroup of b2
iff
   b3 is Subgroup of b2 &
    (for b4 being Element of b1 holds
       b3 ^ b4 = (b2 ^ b4) | the carrier of b3);

:: GROUP_9:exreg 4
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster non empty unital Group-like associative strict distributive StableSubgroup of a2;
end;

:: GROUP_9:funcnot 4 => GROUP_9:func 4
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  func (1). A2 -> strict StableSubgroup of a2 means
    the carrier of it = {1_ a2};
end;

:: GROUP_9:def 8
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being strict StableSubgroup of b2 holds
      b3 = (1). b2
   iff
      the carrier of b3 = {1_ b2};

:: GROUP_9:funcnot 5 => GROUP_9:func 5
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  func (Omega). A2 -> strict StableSubgroup of a2 equals
    HGrWOpStr(#the carrier of a2,the multF of a2,the action of a2#);
end;

:: GROUP_9:def 9
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1 holds
   (Omega). b2 = HGrWOpStr(#the carrier of b2,the multF of b2,the action of b2#);

:: GROUP_9:attrnot 4 => GROUP_9:attr 4
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be StableSubgroup of a2;
  attr a3 is normal means
    for b1 being strict Subgroup of a2
          st b1 = multMagma(#the carrier of a3,the multF of a3#)
       holds b1 is normal(a2);
end;

:: GROUP_9:dfs 10
definiens
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be StableSubgroup of a2;
To prove
     a3 is normal
it is sufficient to prove
  thus for b1 being strict Subgroup of a2
          st b1 = multMagma(#the carrier of a3,the multF of a3#)
       holds b1 is normal(a2);

:: GROUP_9:def 10
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
      b3 is normal(b1, b2)
   iff
      for b4 being strict Subgroup of b2
            st b4 = multMagma(#the carrier of b3,the multF of b3#)
         holds b4 is normal(b2);

:: GROUP_9:exreg 5
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster non empty unital Group-like associative strict distributive normal StableSubgroup of a2;
end;

:: GROUP_9:exreg 6
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be StableSubgroup of a2;
  cluster non empty unital Group-like associative distributive normal StableSubgroup of a3;
end;

:: GROUP_9:funcreg 1
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster (1). a2 -> strict normal;
end;

:: GROUP_9:funcreg 2
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster (Omega). a2 -> strict normal;
end;

:: GROUP_9:funcnot 6 => GROUP_9:func 6
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  func the_stable_subgroups_of A2 -> set means
    for b1 being set holds
          b1 in it
       iff
          b1 is strict StableSubgroup of a2;
end;

:: GROUP_9:def 11
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being set holds
      b3 = the_stable_subgroups_of b2
   iff
      for b4 being set holds
            b4 in b3
         iff
            b4 is strict StableSubgroup of b2;

:: GROUP_9:funcreg 3
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster the_stable_subgroups_of a2 -> non empty;
end;

:: GROUP_9:attrnot 5 => GROUP_9:attr 5
definition
  let a1 be non empty Group-like associative multMagma;
  attr a1 is simple means
    a1 is not trivial &
     (for b1 being strict normal Subgroup of a1
           st b1 <> (Omega). a1
        holds b1 = (1). a1);
end;

:: GROUP_9:dfs 12
definiens
  let a1 be non empty Group-like associative multMagma;
To prove
     a1 is simple
it is sufficient to prove
  thus a1 is not trivial &
     (for b1 being strict normal Subgroup of a1
           st b1 <> (Omega). a1
        holds b1 = (1). a1);

:: GROUP_9:def 12
theorem
for b1 being non empty Group-like associative multMagma holds
      b1 is simple
   iff
      b1 is not trivial &
       (for b2 being strict normal Subgroup of b1
             st b2 <> (Omega). b1
          holds b2 = (1). b1);

:: GROUP_9:exreg 7
registration
  cluster non empty strict unital Group-like associative simple multMagma;
end;

:: GROUP_9:attrnot 6 => GROUP_9:attr 6
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  attr a2 is simple means
    a2 is not trivial &
     (for b1 being strict normal StableSubgroup of a2
           st b1 <> (Omega). a2
        holds b1 = (1). a2);
end;

:: GROUP_9:dfs 13
definiens
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
To prove
     a2 is simple
it is sufficient to prove
  thus a2 is not trivial &
     (for b1 being strict normal StableSubgroup of a2
           st b1 <> (Omega). a2
        holds b1 = (1). a2);

:: GROUP_9:def 13
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1 holds
      b2 is simple(b1)
   iff
      b2 is not trivial &
       (for b3 being strict normal StableSubgroup of b2
             st b3 <> (Omega). b2
          holds b3 = (1). b2);

:: GROUP_9:exreg 8
registration
  let a1 be set;
  cluster non empty unital Group-like associative strict distributive simple HGrWOpStr over a1;
end;

:: GROUP_9:funcnot 7 => GROUP_9:func 7
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  func Cosets A3 -> set means
    for b1 being strict normal Subgroup of a2
          st b1 = multMagma(#the carrier of a3,the multF of a3#)
       holds it = Left_Cosets b1;
end;

:: GROUP_9:def 14
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being set holds
      b4 = Cosets b3
   iff
      for b5 being strict normal Subgroup of b2
            st b5 = multMagma(#the carrier of b3,the multF of b3#)
         holds b4 = Left_Cosets b5;

:: GROUP_9:funcnot 8 => GROUP_9:func 8
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  func CosOp A3 -> Function-like quasi_total Relation of [:Cosets a3,Cosets a3:],Cosets a3 means
    for b1 being strict normal Subgroup of a2
          st b1 = multMagma(#the carrier of a3,the multF of a3#)
       holds it = CosOp b1;
end;

:: GROUP_9:def 15
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being Function-like quasi_total Relation of [:Cosets b3,Cosets b3:],Cosets b3 holds
      b4 = CosOp b3
   iff
      for b5 being strict normal Subgroup of b2
            st b5 = multMagma(#the carrier of b3,the multF of b3#)
         holds b4 = CosOp b5;

:: GROUP_9:funcnot 9 => GROUP_9:func 9
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  func CosAc A3 -> Function-like quasi_total Relation of a1,Funcs(Cosets a3,Cosets a3) means
    for b1 being Element of a1 holds
       it . b1 = {[b2,b3] where b2 is Element of Cosets a3, b3 is Element of Cosets a3: ex b4, b5 being Element of the carrier of a2 st
          b4 in b2 & b5 in b3 & b5 = (a2 ^ b1) . b4}
    if a1 is not empty
    otherwise it = [:{},{id Cosets a3}:];
end;

:: GROUP_9:def 16
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being Function-like quasi_total Relation of b1,Funcs(Cosets b3,Cosets b3) holds
   (b1 is empty or    (b4 = CosAc b3
    iff
       for b5 being Element of b1 holds
          b4 . b5 = {[b6,b7] where b6 is Element of Cosets b3, b7 is Element of Cosets b3: ex b8, b9 being Element of the carrier of b2 st
             b8 in b6 & b9 in b7 & b9 = (b2 ^ b5) . b8})) &
    (b1 is empty implies    (b4 = CosAc b3
    iff
       b4 = [:{},{id Cosets b3}:]));

:: GROUP_9:funcnot 10 => GROUP_9:func 10
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  func A2 ./. A3 -> HGrWOpStr over a1 equals
    HGrWOpStr(#Cosets a3,CosOp a3,CosAc a3#);
end;

:: GROUP_9:def 17
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2 holds
   b2 ./. b3 = HGrWOpStr(#Cosets b3,CosOp b3,CosAc b3#);

:: GROUP_9:funcreg 4
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  cluster a2 ./. a3 -> non empty;
end;

:: GROUP_9:funcreg 5
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  cluster a2 ./. a3 -> Group-like associative distributive;
end;

:: GROUP_9:attrnot 7 => GROUP_9:attr 7
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
  attr a4 is homomorphic means
    for b1 being Element of a1
    for b2 being Element of the carrier of a2 holds
       a4 . ((a2 ^ b1) . b2) = (a3 ^ b1) . (a4 . b2);
end;

:: GROUP_9:dfs 18
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
To prove
     a4 is homomorphic
it is sufficient to prove
  thus for b1 being Element of a1
    for b2 being Element of the carrier of a2 holds
       a4 . ((a2 ^ b1) . b2) = (a3 ^ b1) . (a4 . b2);

:: GROUP_9:def 18
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 holds
      b4 is homomorphic(b1, b2, b3)
   iff
      for b5 being Element of b1
      for b6 being Element of the carrier of b2 holds
         b4 . ((b2 ^ b5) . b6) = (b3 ^ b5) . (b4 . b6);

:: GROUP_9:exreg 9
registration
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster non empty Relation-like Function-like total quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
end;

:: GROUP_9:modenot 4
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  mode Homomorphism of a2,a3 is Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
end;

:: GROUP_9:funcnot 11 => GROUP_9:func 11
definition
  let a1 be set;
  let a2, a3, a4 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a5 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  let a6 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a3,the carrier of a4;
  redefine func a6 * a5 -> Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a4;
end;

:: GROUP_9:attrnot 8 => GROUP_9:attr 8
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  attr a4 is being_monomorphism means
    a4 is one-to-one;
end;

:: GROUP_9:dfs 19
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
To prove
     a4 is being_monomorphism
it is sufficient to prove
  thus a4 is one-to-one;

:: GROUP_9:def 19
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
      b4 is being_monomorphism(b1, b2, b3)
   iff
      b4 is one-to-one;

:: GROUP_9:attrnot 9 => GROUP_9:attr 9
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  attr a4 is being_epimorphism means
    rng a4 = the carrier of a3;
end;

:: GROUP_9:dfs 20
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
To prove
     a4 is being_epimorphism
it is sufficient to prove
  thus rng a4 = the carrier of a3;

:: GROUP_9:def 20
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
      b4 is being_epimorphism(b1, b2, b3)
   iff
      rng b4 = the carrier of b3;

:: GROUP_9:prednot 2 => GROUP_9:attr 8
notation
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  synonym a4 is_monomorphism for being_monomorphism;
end;

:: GROUP_9:prednot 3 => GROUP_9:attr 9
notation
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  synonym a4 is_epimorphism for being_epimorphism;
end;

:: GROUP_9:attrnot 10 => GROUP_9:attr 10
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  attr a4 is being_isomorphism means
    a4 is being_epimorphism(a1, a2, a3) & a4 is being_monomorphism(a1, a2, a3);
end;

:: GROUP_9:dfs 21
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
To prove
     a4 is being_isomorphism
it is sufficient to prove
  thus a4 is being_epimorphism(a1, a2, a3) & a4 is being_monomorphism(a1, a2, a3);

:: GROUP_9:def 21
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
      b4 is being_isomorphism(b1, b2, b3)
   iff
      b4 is being_epimorphism(b1, b2, b3) & b4 is being_monomorphism(b1, b2, b3);

:: GROUP_9:prednot 4 => GROUP_9:attr 10
notation
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  synonym a4 is_isomorphism for being_isomorphism;
end;

:: GROUP_9:prednot 5 => GROUP_9:pred 2
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  pred A2,A3 are_isomorphic means
    ex b1 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3 st
       b1 is being_isomorphism(a1, a2, a3);
  reflexivity;
::  for a1 being set
::  for a2 being non empty Group-like associative distributive HGrWOpStr over a1 holds
::     a2,a2 are_isomorphic;
end;

:: GROUP_9:dfs 22
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
To prove
     a2,a3 are_isomorphic
it is sufficient to prove
  thus ex b1 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3 st
       b1 is being_isomorphism(a1, a2, a3);

:: GROUP_9:def 22
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1 holds
   b2,b3 are_isomorphic
iff
   ex b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 st
      b4 is being_isomorphism(b1, b2, b3);

:: GROUP_9:prednot 6 => GROUP_9:pred 3
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  redefine pred a2,a3 are_isomorphic;
  symmetry;
::  for a1 being set
::  for a2, a3 being non empty Group-like associative distributive HGrWOpStr over a1
::        st a2,a3 are_isomorphic
::     holds a3,a2 are_isomorphic;
  reflexivity;
::  for a1 being set
::  for a2 being non empty Group-like associative distributive HGrWOpStr over a1 holds
::     a2,a2 are_isomorphic;
end;

:: GROUP_9:funcnot 12 => GROUP_9:func 12
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be normal StableSubgroup of a2;
  func nat_hom A3 -> Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a2 ./. a3 means
    for b1 being strict normal Subgroup of a2
          st b1 = multMagma(#the carrier of a3,the multF of a3#)
       holds it = nat_hom b1;
end;

:: GROUP_9:def 23
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b2 ./. b3 holds
      b4 = nat_hom b3
   iff
      for b5 being strict normal Subgroup of b2
            st b5 = multMagma(#the carrier of b3,the multF of b3#)
         holds b4 = nat_hom b5;

:: GROUP_9:funcnot 13 => GROUP_9:func 13
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  func Ker A4 -> strict StableSubgroup of a2 means
    the carrier of it = {b1 where b1 is Element of the carrier of a2: a4 . b1 = 1_ a3};
end;

:: GROUP_9:def 24
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
for b5 being strict StableSubgroup of b2 holds
      b5 = Ker b4
   iff
      the carrier of b5 = {b6 where b6 is Element of the carrier of b2: b4 . b6 = 1_ b3};

:: GROUP_9:funcreg 6
registration
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  cluster Ker a4 -> strict normal;
end;

:: GROUP_9:funcnot 14 => GROUP_9:func 14
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be Function-like quasi_total multiplicative homomorphic Relation of the carrier of a2,the carrier of a3;
  func Image A4 -> strict StableSubgroup of a3 means
    the carrier of it = a4 .: the carrier of a2;
end;

:: GROUP_9:def 25
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
for b5 being strict StableSubgroup of b3 holds
      b5 = Image b4
   iff
      the carrier of b5 = b4 .: the carrier of b2;

:: GROUP_9:funcnot 15 => GROUP_9:func 15
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be StableSubgroup of a2;
  func carr A3 -> Element of bool the carrier of a2 equals
    the carrier of a3;
end;

:: GROUP_9:def 26
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   carr b3 = the carrier of b3;

:: GROUP_9:funcnot 16 => GROUP_9:func 16
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3, a4 be StableSubgroup of a2;
  func A3 * A4 -> Element of bool the carrier of a2 equals
    (carr a3) * carr a4;
end;

:: GROUP_9:def 27
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2 holds
b3 * b4 = (carr b3) * carr b4;

:: GROUP_9:funcnot 17 => GROUP_9:func 17
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3, a4 be StableSubgroup of a2;
  func A3 /\ A4 -> strict StableSubgroup of a2 means
    the carrier of it = (carr a3) /\ carr a4;
  commutativity;
::  for a1 being set
::  for a2 being non empty Group-like associative distributive HGrWOpStr over a1
::  for a3, a4 being StableSubgroup of a2 holds
::  a3 /\ a4 = a4 /\ a3;
end;

:: GROUP_9:def 28
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
for b5 being strict StableSubgroup of b2 holds
      b5 = b3 /\ b4
   iff
      the carrier of b5 = (carr b3) /\ carr b4;

:: GROUP_9:funcnot 18 => GROUP_9:func 18
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be Element of bool the carrier of a2;
  func the_stable_subgroup_of A3 -> strict StableSubgroup of a2 means
    a3 c= the carrier of it &
     (for b1 being strict StableSubgroup of a2
           st a3 c= the carrier of b1
        holds it is StableSubgroup of b1);
end;

:: GROUP_9:def 29
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being Element of bool the carrier of b2
for b4 being strict StableSubgroup of b2 holds
      b4 = the_stable_subgroup_of b3
   iff
      b3 c= the carrier of b4 &
       (for b5 being strict StableSubgroup of b2
             st b3 c= the carrier of b5
          holds b4 is StableSubgroup of b5);

:: GROUP_9:funcnot 19 => GROUP_9:func 19
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3, a4 be StableSubgroup of a2;
  func A3 "\/" A4 -> strict StableSubgroup of a2 equals
    the_stable_subgroup_of ((carr a3) \/ carr a4);
end;

:: GROUP_9:def 30
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2 holds
b3 "\/" b4 = the_stable_subgroup_of ((carr b3) \/ carr b4);

:: GROUP_9:th 1
theorem
for b1, b2 being set
for b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being StableSubgroup of b3
      st b2 in b4
   holds b2 in b3;

:: GROUP_9:th 2
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being Element of the carrier of b3 holds
   b4 is Element of the carrier of b2;

:: GROUP_9:th 3
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being Element of the carrier of b2
for b6, b7 being Element of the carrier of b3
      st b6 = b4 & b7 = b5
   holds b6 * b7 = b4 * b5;

:: GROUP_9:th 4
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   1_ b2 = 1_ b3;

:: GROUP_9:th 5
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   1_ b2 in b3;

:: GROUP_9:th 6
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being Element of the carrier of b2
for b5 being Element of the carrier of b3
      st b5 = b4
   holds b5 " = b4 ";

:: GROUP_9:th 7
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being Element of the carrier of b2
      st b4 in b3 & b5 in b3
   holds b4 * b5 in b3;

:: GROUP_9:th 8
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being Element of the carrier of b2
      st b4 in b3
   holds b4 " in b3;

:: GROUP_9:th 9
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being Element of bool the carrier of b2
      st b3 <> {} &
         (for b4, b5 being Element of the carrier of b2
               st b4 in b3 & b5 in b3
            holds b4 * b5 in b3) &
         (for b4 being Element of the carrier of b2
               st b4 in b3
            holds b4 " in b3) &
         (for b4 being Element of b1
         for b5 being Element of the carrier of b2
               st b5 in b3
            holds (b2 ^ b4) . b5 in b3)
   holds ex b4 being strict StableSubgroup of b2 st
      the carrier of b4 = b3;

:: GROUP_9:th 10
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1 holds
   b2 is StableSubgroup of b2;

:: GROUP_9:th 11
theorem
for b1 being set
for b2, b3, b4 being non empty Group-like associative distributive HGrWOpStr over b1
      st b2 is StableSubgroup of b3 & b3 is StableSubgroup of b4
   holds b2 is StableSubgroup of b4;

:: GROUP_9:th 12
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
      st the carrier of b3 c= the carrier of b4
   holds b3 is StableSubgroup of b4;

:: GROUP_9:th 13
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
      st for b5 being Element of the carrier of b2
              st b5 in b3
           holds b5 in b4
   holds b3 is StableSubgroup of b4;

:: GROUP_9:th 14
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being strict StableSubgroup of b2
      st the carrier of b3 = the carrier of b4
   holds b3 = b4;

:: GROUP_9:th 15
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   (1). b2 = (1). b3;

:: GROUP_9:th 16
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   (1). b2 is StableSubgroup of b3;

:: GROUP_9:th 17
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
      st (carr b3) * carr b4 = (carr b4) * carr b3
   holds ex b5 being strict StableSubgroup of b2 st
      the carrier of b5 = (carr b3) * carr b4;

:: GROUP_9:th 18
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2 holds
(for b5 being StableSubgroup of b2
       st b5 = b3 /\ b4
    holds the carrier of b5 = (the carrier of b3) /\ the carrier of b4) &
 (for b5 being strict StableSubgroup of b2
       st the carrier of b5 = (the carrier of b3) /\ the carrier of b4
    holds b5 = b3 /\ b4);

:: GROUP_9:th 19
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being strict StableSubgroup of b2 holds
   b3 /\ b3 = b3;

:: GROUP_9:th 20
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4, b5 being StableSubgroup of b2 holds
(b3 /\ b4) /\ b5 = b3 /\ (b4 /\ b5);

:: GROUP_9:th 21
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   ((1). b2) /\ b3 = (1). b2 & b3 /\ (1). b2 = (1). b2;

:: GROUP_9:th 22
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2 holds
   union Cosets b3 = the carrier of b2;

:: GROUP_9:th 23
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being strict normal StableSubgroup of b2 holds
ex b5 being strict normal StableSubgroup of b2 st
   the carrier of b5 = (carr b3) * carr b4;

:: GROUP_9:th 24
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being Element of bool the carrier of b2
for b4 being Element of the carrier of b2 holds
      b4 in the_stable_subgroup_of b3
   iff
      ex b5 being FinSequence of the carrier of b2 st
         ex b6 being FinSequence of INT st
            ex b7 being Element of bool the carrier of b2 st
               b7 = the_stable_subset_generated_by(b3,the action of b2) & len b5 = len b6 & rng b5 c= b7 & Product (b5 |^ b6) = b4;

:: GROUP_9:th 25
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being strict StableSubgroup of b2 holds
   the_stable_subgroup_of carr b3 = b3;

:: GROUP_9:th 26
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being Element of bool the carrier of b2
      st b3 c= b4
   holds the_stable_subgroup_of b3 is StableSubgroup of the_stable_subgroup_of b4;

:: GROUP_9:sch 1
scheme GROUP_9:sch 1
{F1 -> set,
  F2 -> non empty Group-like associative distributive HGrWOpStr over F1()}:
ex b1 being strict StableSubgroup of F2() st
   the carrier of b1 = meet {b2 where b2 is Element of bool the carrier of F2(): ex b3 being strict StableSubgroup of F2() st
      b2 = the carrier of b3 & P1[b3]}
provided
   ex b1 being strict StableSubgroup of F2() st
      P1[b1];


:: GROUP_9:th 27
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being Element of bool the carrier of b2 holds
   the carrier of the_stable_subgroup_of b3 = meet {b4 where b4 is Element of bool the carrier of b2: ex b5 being strict StableSubgroup of b2 st
      b4 = the carrier of b5 & b3 c= carr b5};

:: GROUP_9:th 28
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being strict normal StableSubgroup of b2 holds
b3 * b4 = b4 * b3;

:: GROUP_9:th 29
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2 holds
b3 "\/" b4 = the_stable_subgroup_of (b3 * b4);

:: GROUP_9:th 30
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
      st b3 * b4 = b4 * b3
   holds the carrier of b3 "\/" b4 = b3 * b4;

:: GROUP_9:th 31
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being strict normal StableSubgroup of b2 holds
the carrier of b3 "\/" b4 = b3 * b4;

:: GROUP_9:th 32
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being strict normal StableSubgroup of b2 holds
b3 "\/" b4 is normal StableSubgroup of b2;

:: GROUP_9:th 33
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being strict StableSubgroup of b2 holds
   ((1). b2) "\/" b3 = b3 & b3 "\/" (1). b2 = b3;

:: GROUP_9:th 34
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   ((Omega). b2) "\/" b3 = (Omega). b2 & b3 "\/" (Omega). b2 = (Omega). b2;

:: GROUP_9:th 35
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2 holds
b3 is StableSubgroup of b3 "\/" b4 & b4 is StableSubgroup of b3 "\/" b4;

:: GROUP_9:th 36
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being strict StableSubgroup of b2 holds
      b3 is StableSubgroup of b4
   iff
      b3 "\/" b4 = b4;

:: GROUP_9:th 37
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
for b5 being strict StableSubgroup of b2
      st b3 is StableSubgroup of b5 & b4 is StableSubgroup of b5
   holds b3 "\/" b4 is StableSubgroup of b5;

:: GROUP_9:th 38
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being strict StableSubgroup of b2
      st b3 is StableSubgroup of b4
   holds b3 "\/" b5 is StableSubgroup of b4 "\/" b5;

:: GROUP_9:th 39
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being StableSubgroup of b3
for b6, b7 being StableSubgroup of b2
      st b4 = b6 & b5 = b7
   holds b6 /\ b7 = b4 /\ b5;

:: GROUP_9:th 40
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being StableSubgroup of b2
      st b3 is StableSubgroup of b4
   holds b3 is normal StableSubgroup of b4;

:: GROUP_9:th 41
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being StableSubgroup of b2 holds
   b4 /\ b3 is normal StableSubgroup of b4 & b3 /\ b4 is normal StableSubgroup of b4;

:: GROUP_9:th 42
theorem
for b1 being set
for b2 being non empty Group-like associative strict distributive HGrWOpStr over b1
      st b2 is trivial
   holds (1). b2 = b2;

:: GROUP_9:th 43
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2 holds
   1_ (b2 ./. b3) = carr b3;

:: GROUP_9:th 44
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being strict normal StableSubgroup of b2
for b5 being normal StableSubgroup of b4
      st b5 = b3 & b3 is StableSubgroup of b4
   holds b4 ./. b5 is normal StableSubgroup of b2 ./. b3;

:: GROUP_9:th 45
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
   b4 . 1_ b2 = 1_ b3;

:: GROUP_9:th 46
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
   b5 . (b4 ") = (b5 . b4) ";

:: GROUP_9:th 47
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
      b4 in Ker b5
   iff
      b5 . b4 = 1_ b3;

:: GROUP_9:th 48
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being strict normal StableSubgroup of b2 holds
   Ker nat_hom b3 = b3;

:: GROUP_9:th 49
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
   rng b4 = the carrier of Image b4;

:: GROUP_9:th 50
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2 holds
   Image nat_hom b3 = b2 ./. b3;

:: GROUP_9:th 51
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being non empty Group-like associative strict distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
      b4 is being_epimorphism(b1, b2, b3)
   iff
      Image b4 = b3;

:: GROUP_9:th 52
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being non empty Group-like associative strict distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
   st b4 is being_epimorphism(b1, b2, b3)
for b5 being Element of the carrier of b3 holds
   ex b6 being Element of the carrier of b2 st
      b4 . b6 = b5;

:: GROUP_9:th 53
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2 holds
   nat_hom b3 is being_epimorphism(b1, b2, b2 ./. b3);

:: GROUP_9:th 54
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1 holds
   nat_hom (1). b2 is being_isomorphism(b1, b2, b2 ./. (1). b2);

:: GROUP_9:th 55
theorem
for b1 being set
for b2, b3, b4 being non empty Group-like associative distributive HGrWOpStr over b1
      st b2,b3 are_isomorphic & b3,b4 are_isomorphic
   holds b2,b4 are_isomorphic;

:: GROUP_9:th 56
theorem
for b1 being set
for b2 being non empty Group-like associative strict distributive HGrWOpStr over b1 holds
   b2,b2 ./. (1). b2 are_isomorphic;

:: GROUP_9:th 57
theorem
for b1 being set
for b2 being non empty Group-like associative strict distributive HGrWOpStr over b1 holds
   b2 ./. (Omega). b2 is trivial;

:: GROUP_9:th 58
theorem
for b1 being set
for b2, b3 being non empty Group-like associative strict distributive HGrWOpStr over b1
      st b2,b3 are_isomorphic & b2 is trivial
   holds b3 is trivial;

:: GROUP_9:th 59
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b3,the carrier of b2 holds
   b3 ./. Ker b4,Image b4 are_isomorphic;

:: GROUP_9:th 60
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4, b5 being strict StableSubgroup of b2
      st b4 is normal StableSubgroup of b5
   holds b3 /\ b4 is normal StableSubgroup of b3 /\ b5;

:: GROUP_9:th 61
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,Funcs(b2,b2) holds
   [#] b2 is_stable_under_the_action_of b3;

:: GROUP_9:th 62
theorem
for b1, b2 being set holds
[:b1,{id b2}:] is Function-like quasi_total Relation of b1,Funcs(b2,b2);

:: GROUP_9:th 63
theorem
for b1 being non empty set
for b2 being set
for b3 being Element of b1
for b4 being Function-like quasi_total Relation of b1,Funcs(b2,b2) holds
   Product(<*b3*>,b4) = b4 . b3;

:: GROUP_9:th 64
theorem
for b1 being non empty set
for b2 being set
for b3, b4 being FinSequence of b1
for b5 being Function-like quasi_total Relation of b1,Funcs(b2,b2) holds
   Product(b3 ^ b4,b5) = (Product(b3,b5)) * Product(b4,b5);

:: GROUP_9:th 65
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,Funcs(b2,b2)
for b4 being FinSequence of b1
for b5 being Element of bool b2
      st b5 is_stable_under_the_action_of b3
   holds (Product(b4,b3)) .: b5 c= b5;

:: GROUP_9:th 66
theorem
for b1 being set
for b2 being non empty set
for b3 being Function-like quasi_total Relation of b1,Funcs(b2,b2)
for b4 being Element of bool b2
for b5 being Element of b2
      st b4 is not empty
   holds    b5 in the_stable_subset_generated_by(b4,b3)
   iff
      ex b6 being FinSequence of b1 st
         ex b7 being Element of b4 st
            (Product(b6,b3)) . b7 = b5;

:: GROUP_9:th 67
theorem
for b1 being set
for b2 being non empty strict Group-like associative multMagma holds
   ex b3 being non empty Group-like associative strict distributive HGrWOpStr over b1 st
      b2 = multMagma(#the carrier of b3,the multF of b3#);

:: GROUP_9:th 68
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2 holds
   multMagma(#the carrier of b3,the multF of b3#) is strict Subgroup of b2;

:: GROUP_9:th 69
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2 holds
   multMagma(#the carrier of b3,the multF of b3#) is strict normal Subgroup of b2;

:: GROUP_9:th 70
theorem
for b1 being set
for b2 being Element of b1
for b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being StableSubgroup of b3
for b5 being Element of the carrier of b3
      st b5 in b4
   holds (b3 ^ b2) . b5 in b4;

:: GROUP_9:th 71
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being strict StableSubgroup of b2
for b5 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3 holds
   ex b6 being strict StableSubgroup of b3 st
      the carrier of b6 = b5 .: the carrier of b4;

:: GROUP_9:th 72
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being Element of bool the carrier of b2
      st b3 is empty
   holds the_stable_subgroup_of b3 = (1). b2;

:: GROUP_9:th 73
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being Element of bool the carrier of b2
      st b3 = the carrier of gr b4
   holds the_stable_subgroup_of b4 = the_stable_subgroup_of b3;

:: GROUP_9:th 74
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being normal StableSubgroup of b2
for b4 being normal Subgroup of b2
      st b4 = multMagma(#the carrier of b3,the multF of b3#)
   holds b2 ./. b4 = multMagma(#the carrier of b2 ./. b3,the multF of b2 ./. b3#) &
    1_ (b2 ./. b4) = 1_ (b2 ./. b3);

:: GROUP_9:th 75
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
      st the carrier of b3 = the carrier of b4
   holds HGrWOpStr(#the carrier of b3,the multF of b3,the action of b3#) = HGrWOpStr(#the carrier of b4,the multF of b4,the action of b4#);

:: GROUP_9:th 76
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being normal StableSubgroup of b3
      st b3 ./. b4 is trivial
   holds HGrWOpStr(#the carrier of b3,the multF of b3,the action of b3#) = HGrWOpStr(#the carrier of b4,the multF of b4,the action of b4#);

:: GROUP_9:th 77
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being normal StableSubgroup of b3
      st the carrier of b3 = the carrier of b4
   holds b3 ./. b4 is trivial;

:: GROUP_9:th 78
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being StableSubgroup of b2
for b5 being strict StableSubgroup of b3
for b6 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
      st b4 = Ker b6
   holds ex b7 being strict StableSubgroup of b2 st
      the carrier of b7 = b6 " the carrier of b5 &
       (b5 is normal(b1, b3) implies b4 is normal StableSubgroup of b7 & b7 is normal(b1, b2));

:: GROUP_9:th 79
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being StableSubgroup of b2
for b5 being strict StableSubgroup of b2
for b6 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
      st b4 = Ker b6
   holds ex b7 being strict StableSubgroup of b3 st
      the carrier of b7 = b6 .: the carrier of b5 &
       b6 " the carrier of b7 = the carrier of b5 "\/" b4 &
       (b6 is being_epimorphism(b1, b2, b3) & b5 is normal(b1, b2) implies b7 is normal(b1, b3));

:: GROUP_9:th 80
theorem
for b1 being set
for b2 being non empty Group-like associative strict distributive HGrWOpStr over b1
for b3 being strict normal StableSubgroup of b2
for b4 being strict StableSubgroup of b2 ./. b3
      st the carrier of b2 = (nat_hom b3) " the carrier of b4
   holds b4 = (Omega). (b2 ./. b3);

:: GROUP_9:th 81
theorem
for b1 being set
for b2 being non empty Group-like associative strict distributive HGrWOpStr over b1
for b3 being strict normal StableSubgroup of b2
for b4 being strict StableSubgroup of b2 ./. b3
      st the carrier of b3 = (nat_hom b3) " the carrier of b4
   holds b4 = (1). (b2 ./. b3);

:: GROUP_9:th 82
theorem
for b1 being set
for b2, b3 being non empty Group-like associative strict distributive HGrWOpStr over b1
      st b2,b3 are_isomorphic & b2 is simple(b1)
   holds b3 is simple(b1);

:: GROUP_9:th 83
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4 being FinSequence of the carrier of b2
for b5 being FinSequence of the carrier of b3
for b6 being FinSequence of INT
      st b4 = b5 & len b4 = len b6
   holds Product (b4 |^ b6) = Product (b5 |^ b6);

:: GROUP_9:th 84
theorem
for b1, b2, b3 being set
for b4 being Function-like quasi_total Relation of b1,Funcs(b2,b2)
for b5 being Function-like quasi_total Relation of b1,Funcs(b3,b3)
for b6 being FinSequence of b1
      st b2 c= b3 &
         (for b7 being Element of b1
         for b8 being Function-like quasi_total Relation of b2,b2
         for b9 being Function-like quasi_total Relation of b3,b3
               st b8 = b4 . b7 & b9 = b5 . b7
            holds b8 = b9 | b2)
   holds Product(b6,b4) = (Product(b6,b5)) | b2;

:: GROUP_9:th 85
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being strict StableSubgroup of b3
for b6, b7 being strict StableSubgroup of b2
      st b4 = b6 & b5 = b7
   holds b6 * b7 = b4 * b5;

:: GROUP_9:th 86
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being strict StableSubgroup of b3
for b6, b7 being strict StableSubgroup of b2
      st b4 = b6 & b5 = b7
   holds b6 "\/" b7 = b4 "\/" b5;

:: GROUP_9:th 87
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being StableSubgroup of b2
for b4, b5 being strict StableSubgroup of b2
      st b4 is normal StableSubgroup of b3 & b5 is normal StableSubgroup of b3
   holds b4 "\/" b5 is normal StableSubgroup of b3;

:: GROUP_9:th 88
theorem
for b1 being set
for b2, b3, b4 being non empty Group-like associative distributive HGrWOpStr over b1
for b5 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
for b6 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b3,the carrier of b4 holds
   the carrier of Ker (b6 * b5) = b5 " the carrier of Ker b6;

:: GROUP_9:th 89
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being StableSubgroup of b2
for b5 being StableSubgroup of b3
for b6 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
      st (the carrier of b5 = b6 .: the carrier of b4 or the carrier of b4 = b6 " the carrier of b5)
   holds b6 | the carrier of b4 is Function-like quasi_total multiplicative homomorphic Relation of the carrier of b4,the carrier of b5;

:: GROUP_9:th 90
theorem
for b1 being set
for b2, b3 being non empty Group-like associative strict distributive HGrWOpStr over b1
for b4, b5, b6 being strict StableSubgroup of b2
for b7 being Function-like quasi_total multiplicative homomorphic Relation of the carrier of b2,the carrier of b3
      st b4 = Ker b7 & b5 is strict normal StableSubgroup of b6
   holds b5 "\/" (b6 /\ b4) is normal StableSubgroup of b6 &
    b5 "\/" b4 is normal StableSubgroup of b6 "\/" b4 &
    (for b8 being strict normal StableSubgroup of b6 "\/" b4
    for b9 being strict normal StableSubgroup of b6
          st b8 = b5 "\/" b4 & b9 = b5 "\/" (b6 /\ b4)
       holds (b6 "\/" b4) ./. b8,b6 ./. b9 are_isomorphic);

:: GROUP_9:th 91
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4, b5, b6 being strict StableSubgroup of b2
for b7 being normal StableSubgroup of b5 "\/" (b3 /\ b4)
for b8 being normal StableSubgroup of b3 /\ b4
      st b5 is normal StableSubgroup of b3 & b6 is normal StableSubgroup of b4 & b7 = b5 "\/" (b3 /\ b6) & b8 = (b5 /\ b4) "\/" (b6 /\ b3)
   holds (b5 "\/" (b3 /\ b4)) ./. b7,(b3 /\ b4) ./. b8 are_isomorphic;

:: GROUP_9:th 92
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4, b5, b6 being strict StableSubgroup of b2
      st b5 is normal StableSubgroup of b3 & b6 is normal StableSubgroup of b4
   holds b5 "\/" (b3 /\ b6) is normal StableSubgroup of b5 "\/" (b3 /\ b4);

:: GROUP_9:th 93
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4, b5, b6 being strict StableSubgroup of b2
for b7 being normal StableSubgroup of b5 "\/" (b3 /\ b4)
for b8 being normal StableSubgroup of b6 "\/" (b4 /\ b3)
      st b7 = b5 "\/" (b3 /\ b6) & b8 = b6 "\/" (b4 /\ b5) & b5 is normal StableSubgroup of b3 & b6 is normal StableSubgroup of b4
   holds (b5 "\/" (b3 /\ b4)) ./. b7,(b6 "\/" (b4 /\ b3)) ./. b8 are_isomorphic;

:: GROUP_9:attrnot 11 => GROUP_9:attr 11
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be FinSequence of the_stable_subgroups_of a2;
  attr a3 is composition_series means
    a3 . 1 = (Omega). a2 &
     a3 . len a3 = (1). a2 &
     (for b1 being natural set
        st b1 in dom a3 & b1 + 1 in dom a3
     for b2, b3 being StableSubgroup of a2
           st b2 = a3 . b1 & b3 = a3 . (b1 + 1)
        holds b3 is normal StableSubgroup of b2);
end;

:: GROUP_9:dfs 31
definiens
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be FinSequence of the_stable_subgroups_of a2;
To prove
     a3 is composition_series
it is sufficient to prove
  thus a3 . 1 = (Omega). a2 &
     a3 . len a3 = (1). a2 &
     (for b1 being natural set
        st b1 in dom a3 & b1 + 1 in dom a3
     for b2, b3 being StableSubgroup of a2
           st b2 = a3 . b1 & b3 = a3 . (b1 + 1)
        holds b3 is normal StableSubgroup of b2);

:: GROUP_9:def 31
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being FinSequence of the_stable_subgroups_of b2 holds
      b3 is composition_series(b1, b2)
   iff
      b3 . 1 = (Omega). b2 &
       b3 . len b3 = (1). b2 &
       (for b4 being natural set
          st b4 in dom b3 & b4 + 1 in dom b3
       for b5, b6 being StableSubgroup of b2
             st b5 = b3 . b4 & b6 = b3 . (b4 + 1)
          holds b6 is normal StableSubgroup of b5);

:: GROUP_9:exreg 10
registration
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  cluster Relation-like Function-like finite FinSequence-like composition_series FinSequence of the_stable_subgroups_of a2;
end;

:: GROUP_9:modenot 5
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  mode CompositionSeries of a2 is composition_series FinSequence of the_stable_subgroups_of a2;
end;

:: GROUP_9:prednot 7 => GROUP_9:pred 4
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3, a4 be composition_series FinSequence of the_stable_subgroups_of a2;
  pred A3 is_finer_than A4 means
    ex b1 being set st
       b1 c= dom a3 & a4 = a3 * Sgm b1;
  reflexivity;
::  for a1 being set
::  for a2 being non empty Group-like associative distributive HGrWOpStr over a1
::  for a3 being composition_series FinSequence of the_stable_subgroups_of a2 holds
::     a3 is_finer_than a3;
end;

:: GROUP_9:dfs 32
definiens
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3, a4 be composition_series FinSequence of the_stable_subgroups_of a2;
To prove
     a3 is_finer_than a4
it is sufficient to prove
  thus ex b1 being set st
       b1 c= dom a3 & a4 = a3 * Sgm b1;

:: GROUP_9:def 32
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2 holds
   b3 is_finer_than b4
iff
   ex b5 being set st
      b5 c= dom b3 & b4 = b3 * Sgm b5;

:: GROUP_9:attrnot 12 => GROUP_9:attr 12
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be composition_series FinSequence of the_stable_subgroups_of a2;
  attr a3 is strictly_decreasing means
    for b1 being natural set
       st b1 in dom a3 & b1 + 1 in dom a3
    for b2 being StableSubgroup of a2
    for b3 being normal StableSubgroup of b2
          st b2 = a3 . b1 & b3 = a3 . (b1 + 1)
       holds b2 ./. b3 is not trivial;
end;

:: GROUP_9:dfs 33
definiens
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be composition_series FinSequence of the_stable_subgroups_of a2;
To prove
     a3 is strictly_decreasing
it is sufficient to prove
  thus for b1 being natural set
       st b1 in dom a3 & b1 + 1 in dom a3
    for b2 being StableSubgroup of a2
    for b3 being normal StableSubgroup of b2
          st b2 = a3 . b1 & b3 = a3 . (b1 + 1)
       holds b2 ./. b3 is not trivial;

:: GROUP_9:def 33
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2 holds
      b3 is strictly_decreasing(b1, b2)
   iff
      for b4 being natural set
         st b4 in dom b3 & b4 + 1 in dom b3
      for b5 being StableSubgroup of b2
      for b6 being normal StableSubgroup of b5
            st b5 = b3 . b4 & b6 = b3 . (b4 + 1)
         holds b5 ./. b6 is not trivial;

:: GROUP_9:attrnot 13 => GROUP_9:attr 13
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be composition_series FinSequence of the_stable_subgroups_of a2;
  attr a3 is jordan_holder means
    a3 is strictly_decreasing(a1, a2) &
     (for b1 being composition_series FinSequence of the_stable_subgroups_of a2
           st b1 <> a3 & b1 is strictly_decreasing(a1, a2)
        holds not b1 is_finer_than a3);
end;

:: GROUP_9:dfs 34
definiens
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be composition_series FinSequence of the_stable_subgroups_of a2;
To prove
     a3 is jordan_holder
it is sufficient to prove
  thus a3 is strictly_decreasing(a1, a2) &
     (for b1 being composition_series FinSequence of the_stable_subgroups_of a2
           st b1 <> a3 & b1 is strictly_decreasing(a1, a2)
        holds not b1 is_finer_than a3);

:: GROUP_9:def 34
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2 holds
      b3 is jordan_holder(b1, b2)
   iff
      b3 is strictly_decreasing(b1, b2) &
       (for b4 being composition_series FinSequence of the_stable_subgroups_of b2
             st b4 <> b3 & b4 is strictly_decreasing(b1, b2)
          holds not b4 is_finer_than b3);

:: GROUP_9:prednot 8 => GROUP_9:pred 5
definition
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be composition_series FinSequence of the_stable_subgroups_of a2;
  let a5 be composition_series FinSequence of the_stable_subgroups_of a3;
  pred A4 is_equivalent_with A5 means
    len a4 = len a5 &
     (for b1 being natural set
           st b1 + 1 = len a4
        holds ex b2 being Function-like quasi_total bijective Relation of Seg b1,Seg b1 st
           for b3 being StableSubgroup of a2
           for b4 being StableSubgroup of a3
           for b5 being normal StableSubgroup of b3
           for b6 being normal StableSubgroup of b4
           for b7, b8 being natural set
                 st 1 <= b7 & b7 <= b1 & b8 = b2 . b7 & b3 = a4 . b7 & b4 = a5 . b8 & b5 = a4 . (b7 + 1) & b6 = a5 . (b8 + 1)
              holds b3 ./. b5,b4 ./. b6 are_isomorphic);
end;

:: GROUP_9:dfs 35
definiens
  let a1 be set;
  let a2, a3 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a4 be composition_series FinSequence of the_stable_subgroups_of a2;
  let a5 be composition_series FinSequence of the_stable_subgroups_of a3;
To prove
     a4 is_equivalent_with a5
it is sufficient to prove
  thus len a4 = len a5 &
     (for b1 being natural set
           st b1 + 1 = len a4
        holds ex b2 being Function-like quasi_total bijective Relation of Seg b1,Seg b1 st
           for b3 being StableSubgroup of a2
           for b4 being StableSubgroup of a3
           for b5 being normal StableSubgroup of b3
           for b6 being normal StableSubgroup of b4
           for b7, b8 being natural set
                 st 1 <= b7 & b7 <= b1 & b8 = b2 . b7 & b3 = a4 . b7 & b4 = a5 . b8 & b5 = a4 . (b7 + 1) & b6 = a5 . (b8 + 1)
              holds b3 ./. b5,b4 ./. b6 are_isomorphic);

:: GROUP_9:def 35
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being composition_series FinSequence of the_stable_subgroups_of b2
for b5 being composition_series FinSequence of the_stable_subgroups_of b3 holds
      b4 is_equivalent_with b5
   iff
      len b4 = len b5 &
       (for b6 being natural set
             st b6 + 1 = len b4
          holds ex b7 being Function-like quasi_total bijective Relation of Seg b6,Seg b6 st
             for b8 being StableSubgroup of b2
             for b9 being StableSubgroup of b3
             for b10 being normal StableSubgroup of b8
             for b11 being normal StableSubgroup of b9
             for b12, b13 being natural set
                   st 1 <= b12 & b12 <= b6 & b13 = b7 . b12 & b8 = b4 . b12 & b9 = b5 . b13 & b10 = b4 . (b12 + 1) & b11 = b5 . (b13 + 1)
                holds b8 ./. b10,b9 ./. b11 are_isomorphic);

:: GROUP_9:funcnot 20 => GROUP_9:func 20
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3 be composition_series FinSequence of the_stable_subgroups_of a2;
  func the_series_of_quotients_of A3 -> Relation-like Function-like FinSequence-like set means
    len a3 = (len it) + 1 &
     (for b1 being natural set
        st b1 in dom it
     for b2 being StableSubgroup of a2
     for b3 being normal StableSubgroup of b2
           st b2 = a3 . b1 & b3 = a3 . (b1 + 1)
        holds it . b1 = b2 ./. b3)
    if 1 < len a3
    otherwise it = {};
end;

:: GROUP_9:def 36
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2
for b4 being Relation-like Function-like FinSequence-like set holds
   (len b3 <= 1 or    (b4 = the_series_of_quotients_of b3
    iff
       len b3 = (len b4) + 1 &
        (for b5 being natural set
           st b5 in dom b4
        for b6 being StableSubgroup of b2
        for b7 being normal StableSubgroup of b6
              st b6 = b3 . b5 & b7 = b3 . (b5 + 1)
           holds b4 . b5 = b6 ./. b7))) &
    (len b3 <= 1 implies    (b4 = the_series_of_quotients_of b3
    iff
       b4 = {}));

:: GROUP_9:prednot 9 => GROUP_9:pred 6
definition
  let a1 be set;
  let a2, a3 be Relation-like Function-like FinSequence-like set;
  let a4 be Function-like quasi_total bijective Relation of dom a2,dom a2;
  pred A2,A3 are_equivalent_under A4,A1 means
    len a2 = len a3 &
     (for b1, b2 being non empty Group-like associative distributive HGrWOpStr over a1
     for b3, b4 being natural set
           st b3 in dom a2 & b4 = a4 " . b3 & b1 = a2 . b3 & b2 = a3 . b4
        holds b1,b2 are_isomorphic);
end;

:: GROUP_9:dfs 37
definiens
  let a1 be set;
  let a2, a3 be Relation-like Function-like FinSequence-like set;
  let a4 be Function-like quasi_total bijective Relation of dom a2,dom a2;
To prove
     a2,a3 are_equivalent_under a4,a1
it is sufficient to prove
  thus len a2 = len a3 &
     (for b1, b2 being non empty Group-like associative distributive HGrWOpStr over a1
     for b3, b4 being natural set
           st b3 in dom a2 & b4 = a4 " . b3 & b1 = a2 . b3 & b2 = a3 . b4
        holds b1,b2 are_isomorphic);

:: GROUP_9:def 37
theorem
for b1 being set
for b2, b3 being Relation-like Function-like FinSequence-like set
for b4 being Function-like quasi_total bijective Relation of dom b2,dom b2 holds
      b2,b3 are_equivalent_under b4,b1
   iff
      len b2 = len b3 &
       (for b5, b6 being non empty Group-like associative distributive HGrWOpStr over b1
       for b7, b8 being natural set
             st b7 in dom b2 & b8 = b4 " . b7 & b5 = b2 . b7 & b6 = b3 . b8
          holds b5,b6 are_isomorphic);

:: GROUP_9:th 94
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2
for b4 being FinSequence of the_stable_subgroups_of b2
for b5 being natural set
      st b5 in dom b3 & b5 + 1 in dom b3 & b3 . b5 = b3 . (b5 + 1) & b4 = Del(b3,b5)
   holds b4 is composition_series(b1, b2);

:: GROUP_9:th 95
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 is_finer_than b4
   holds ex b5 being natural set st
      len b3 = (len b4) + b5;

:: GROUP_9:th 96
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st len b3 = len b4 & b3 is_finer_than b4
   holds b4 = b3;

:: GROUP_9:th 97
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 is not empty & b4 is_finer_than b3
   holds b4 is not empty;

:: GROUP_9:th 98
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 is_finer_than b4 & b3 is jordan_holder(b1, b2) & b4 is jordan_holder(b1, b2)
   holds b3 = b4;

:: GROUP_9:th 99
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4, b5 being composition_series FinSequence of the_stable_subgroups_of b2
for b6 being natural set
      st b6 in dom b3 & b6 + 1 in dom b3 & b3 . b6 = b3 . (b6 + 1) & b4 = Del(b3,b6) & b5 is jordan_holder(b1, b2) & b3 is_finer_than b5
   holds b4 is_finer_than b5;

:: GROUP_9:th 100
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st 1 < len b3 & b4 <> b3 & b4 is strictly_decreasing(b1, b2) & b4 is_finer_than b3
   holds ex b5, b6 being natural set st
      b5 in dom b3 &
       b5 in dom b4 &
       b5 + 1 in dom b3 &
       b5 + 1 in dom b4 &
       b6 in dom b4 &
       b5 + 1 < b6 &
       b3 . b5 = b4 . b5 &
       b3 . (b5 + 1) <> b4 . (b5 + 1) &
       b3 . (b5 + 1) = b4 . b6;

:: GROUP_9:th 101
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
for b5 being composition_series FinSequence of the_stable_subgroups_of b2
for b6, b7 being natural set
      st b6 in dom b5 & b7 in dom b5 & b6 <= b7 & b3 = b5 . b6 & b4 = b5 . b7
   holds b4 is StableSubgroup of b3;

:: GROUP_9:th 102
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being set
for b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 in proj2 the_series_of_quotients_of b4
   holds b3 is non empty Group-like associative strict distributive HGrWOpStr over b1;

:: GROUP_9:th 103
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2
for b4 being natural set
      st b4 in dom the_series_of_quotients_of b3 &
         (for b5 being non empty Group-like associative distributive HGrWOpStr over b1
               st b5 = (the_series_of_quotients_of b3) . b4
            holds b5 is trivial)
   holds b4 in dom b3 & b4 + 1 in dom b3 & b3 . b4 = b3 . (b4 + 1);

:: GROUP_9:th 104
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
for b5 being natural set
      st b5 in dom b3 & b5 + 1 in dom b3 & b3 . b5 = b3 . (b5 + 1) & b4 = Del(b3,b5)
   holds the_series_of_quotients_of b4 = Del(the_series_of_quotients_of b3,b5);

:: GROUP_9:th 105
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2
for b4 being Relation-like Function-like FinSequence-like set
for b5 being natural set
      st b4 = the_series_of_quotients_of b3 &
         b5 in dom b4 &
         (for b6 being non empty Group-like associative distributive HGrWOpStr over b1
               st b6 = b4 . b5
            holds b6 is trivial)
   holds Del(b3,b5) is composition_series FinSequence of the_stable_subgroups_of b2 &
    (for b6 being composition_series FinSequence of the_stable_subgroups_of b2
          st b6 = Del(b3,b5)
       holds the_series_of_quotients_of b6 = Del(b4,b5));

:: GROUP_9:th 106
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
for b5, b6 being Relation-like Function-like FinSequence-like set
for b7, b8 being natural set
      st b5 = the_series_of_quotients_of b3 &
         b6 = the_series_of_quotients_of b4 &
         b7 in dom b5 &
         (for b9 being non empty Group-like associative distributive HGrWOpStr over b1
               st b9 = b5 . b7
            holds b9 is trivial) &
         (ex b9 being Function-like quasi_total bijective Relation of dom b5,dom b5 st
            b5,b6 are_equivalent_under b9,b1 & b8 = b9 " . b7)
   holds ex b9 being Function-like quasi_total bijective Relation of dom Del(b5,b7),dom Del(b5,b7) st
      Del(b5,b7),Del(b6,b8) are_equivalent_under b9,b1;

:: GROUP_9:th 107
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being composition_series FinSequence of the_stable_subgroups_of b2
for b5 being composition_series FinSequence of the_stable_subgroups_of b3
      st b4 is empty & b5 is empty
   holds b4 is_equivalent_with b5;

:: GROUP_9:th 108
theorem
for b1 being set
for b2, b3 being non empty Group-like associative distributive HGrWOpStr over b1
for b4 being composition_series FinSequence of the_stable_subgroups_of b2
for b5 being composition_series FinSequence of the_stable_subgroups_of b3
      st b4 is not empty & b5 is not empty
   holds    b4 is_equivalent_with b5
   iff
      ex b6 being Function-like quasi_total bijective Relation of dom the_series_of_quotients_of b4,dom the_series_of_quotients_of b4 st
         the_series_of_quotients_of b4,the_series_of_quotients_of b5 are_equivalent_under b6,b1;

:: GROUP_9:th 109
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 is_finer_than b4 & b4 is jordan_holder(b1, b2) & len b4 < len b3
   holds ex b5 being natural set st
      b5 in dom the_series_of_quotients_of b3 &
       (for b6 being non empty Group-like associative distributive HGrWOpStr over b1
             st b6 = (the_series_of_quotients_of b3) . b5
          holds b6 is trivial);

:: GROUP_9:th 110
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2
      st 1 < len b3
   holds    b3 is jordan_holder(b1, b2)
   iff
      for b4 being natural set
            st b4 in dom the_series_of_quotients_of b3
         holds (the_series_of_quotients_of b3) . b4 is non empty Group-like associative strict distributive simple HGrWOpStr over b1;

:: GROUP_9:th 111
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2
for b4 being natural set
      st 1 <= b4 & b4 <= (len b3) - 1
   holds b3 . b4 is strict StableSubgroup of b2 & b3 . (b4 + 1) is strict StableSubgroup of b2;

:: GROUP_9:th 112
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being StableSubgroup of b2
for b5 being composition_series FinSequence of the_stable_subgroups_of b2
for b6 being natural set
      st 1 <= b6 & b6 <= (len b5) - 1 & b3 = b5 . b6 & b4 = b5 . (b6 + 1)
   holds b4 is normal StableSubgroup of b3;

:: GROUP_9:th 113
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3 being composition_series FinSequence of the_stable_subgroups_of b2 holds
   b3 is_equivalent_with b3;

:: GROUP_9:th 114
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st (len b3 <= 1 or len b4 <= 1) & len b3 <= len b4
   holds b4 is_finer_than b3;

:: GROUP_9:th 115
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 is_equivalent_with b4 & b3 is jordan_holder(b1, b2)
   holds b4 is jordan_holder(b1, b2);

:: GROUP_9:funcnot 21 => GROUP_9:func 21
definition
  let a1 be set;
  let a2 be non empty Group-like associative distributive HGrWOpStr over a1;
  let a3, a4 be composition_series FinSequence of the_stable_subgroups_of a2;
  assume 1 < len a3 & 1 < len a4;
  func the_schreier_series_of(A3,A4) -> composition_series FinSequence of the_stable_subgroups_of a2 means
    for b1, b2, b3 being natural set
    for b4, b5, b6 being StableSubgroup of a2 holds
    (b1 = ((b2 - 1) * ((len a4) - 1)) + b3 &
      1 <= b2 &
      b2 <= (len a3) - 1 &
      1 <= b3 &
      b3 <= (len a4) - 1 &
      b4 = a3 . (b2 + 1) &
      b5 = a3 . b2 &
      b6 = a4 . b3 implies it . b1 = b4 "\/" (b5 /\ b6)) &
     (b1 = (((len a3) - 1) * ((len a4) - 1)) + 1 implies it . b1 = (1). a2) &
     len it = (((len a3) - 1) * ((len a4) - 1)) + 1;
end;

:: GROUP_9:def 38
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
   st 1 < len b3 & 1 < len b4
for b5 being composition_series FinSequence of the_stable_subgroups_of b2 holds
      b5 = the_schreier_series_of(b3,b4)
   iff
      for b6, b7, b8 being natural set
      for b9, b10, b11 being StableSubgroup of b2 holds
      (b6 = ((b7 - 1) * ((len b4) - 1)) + b8 &
        1 <= b7 &
        b7 <= (len b3) - 1 &
        1 <= b8 &
        b8 <= (len b4) - 1 &
        b9 = b3 . (b7 + 1) &
        b10 = b3 . b7 &
        b11 = b4 . b8 implies b5 . b6 = b9 "\/" (b10 /\ b11)) &
       (b6 = (((len b3) - 1) * ((len b4) - 1)) + 1 implies b5 . b6 = (1). b2) &
       len b5 = (((len b3) - 1) * ((len b4) - 1)) + 1;

:: GROUP_9:th 116
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st 1 < len b3 & 1 < len b4
   holds the_schreier_series_of(b3,b4) is_finer_than b3;

:: GROUP_9:th 117
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st 1 < len b3 & 1 < len b4
   holds the_schreier_series_of(b3,b4) is_equivalent_with the_schreier_series_of(b4,b3);

:: GROUP_9:th 118
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2 holds
ex b5, b6 being composition_series FinSequence of the_stable_subgroups_of b2 st
   b5 is_finer_than b3 & b6 is_finer_than b4 & b5 is_equivalent_with b6;

:: GROUP_9:th 119
theorem
for b1 being set
for b2 being non empty Group-like associative distributive HGrWOpStr over b1
for b3, b4 being composition_series FinSequence of the_stable_subgroups_of b2
      st b3 is jordan_holder(b1, b2) & b4 is jordan_holder(b1, b2)
   holds b3 is_equivalent_with b4;

:: GROUP_9:th 120
theorem
for b1, b2 being Relation-like set holds
   b1 = (proj2 b1) | b2
iff
   b1 ~ = b2 ~ | proj1 (b1 ~);

:: GROUP_9:th 121
theorem
for b1 being set
for b2, b3 being Relation-like set holds
b2 * (b3 | b1) = (b1 | b2) * b3;

:: GROUP_9:th 122
theorem
for b1 being natural set
for b2 being set
for b3 being Function-like Relation of REAL,REAL
      st b2 c= Seg b1 &
         b2 c= dom b3 &
         b3 is_increasing_on b2 &
         b3 .: b2 c= NAT \ {0}
   holds Sgm (b3 .: b2) = b3 * Sgm b2;

:: GROUP_9:th 123
theorem
for b1 being set
for b2, b3 being natural set
      st b1 c= Seg (b3 + 1) & b2 in Seg (b3 + 1) & not b2 in b1
   holds ex b4 being set st
      Sgm b4 = (Sgm b1) * ((Sgm ((Seg (b3 + 1)) \ {b2})) ") &
       b4 c= Seg b3;

:: GROUP_9:th 124
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Element of b1
for b4 being natural set
      st b4 in dom b2
   holds b2 = Del(Ins(b2,b4,b3),b4 + 1);

:: GROUP_9:th 125
theorem
for b1, b2 being non empty Group-like associative multMagma
for b3 being FinSequence of the carrier of b1
for b4 being FinSequence of the carrier of b2
for b5 being FinSequence of INT
for b6 being Function-like quasi_total multiplicative Relation of the carrier of b1,the carrier of b2
      st (for b7 being natural set
               st b7 in dom b3
            holds b4 . b7 = b6 . (b3 . b7)) &
         len b3 = len b5 &
         len b4 = len b5
   holds b6 . Product (b3 |^ b5) = Product (b4 |^ b5);