Article GROUP_10, MML version 4.99.1005

:: GROUP_10:funcnot 1 => FUNCT_1:func 1
notation
  let a1 be non empty 1-sorted;
  let a2 be set;
  let a3 be Function-like quasi_total Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of the carrier of a1;
  synonym a3 ^ a4 for a1 . a2;
end;

:: GROUP_10:funcnot 2 => GROUP_10:func 1
definition
  let a1 be non empty 1-sorted;
  let a2 be set;
  let a3 be Function-like quasi_total Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of the carrier of a1;
  redefine func a3 ^ a4 -> Function-like quasi_total Relation of a2,a2;
end;

:: GROUP_10:attrnot 1 => GROUP_10:attr 1
definition
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total Relation of the carrier of a1,Funcs(a2,a2);
  attr a3 is being_left_operation means
    a3 ^ 1_ a1 = id a2 &
     (for b1, b2 being Element of the carrier of a1 holds
     a3 ^ (b1 * b2) = (a3 ^ b1) * (a3 ^ b2));
end;

:: GROUP_10:dfs 1
definiens
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total Relation of the carrier of a1,Funcs(a2,a2);
To prove
     a3 is being_left_operation
it is sufficient to prove
  thus a3 ^ 1_ a1 = id a2 &
     (for b1, b2 being Element of the carrier of a1 holds
     a3 ^ (b1 * b2) = (a3 ^ b1) * (a3 ^ b2));

:: GROUP_10:def 1
theorem
for b1 being non empty unital multMagma
for b2 being set
for b3 being Function-like quasi_total Relation of the carrier of b1,Funcs(b2,b2) holds
      b3 is being_left_operation(b1, b2)
   iff
      b3 ^ 1_ b1 = id b2 &
       (for b4, b5 being Element of the carrier of b1 holds
       b3 ^ (b4 * b5) = (b3 ^ b4) * (b3 ^ b5));

:: GROUP_10:exreg 1
registration
  let a1 be non empty unital multMagma;
  let a2 be set;
  cluster non empty Relation-like Function-like total quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
end;

:: GROUP_10:modenot 1
definition
  let a1 be non empty unital multMagma;
  let a2 be set;
  mode LeftOperation of a1,a2 is Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
end;

:: GROUP_10:sch 1
scheme GROUP_10:sch 1
{F1 -> set,
  F2 -> non empty Group-like multMagma,
  F3 -> Function-like quasi_total Relation of F1(),F1()}:
ex b1 being Function-like quasi_total being_left_operation Relation of the carrier of F2(),Funcs(F1(),F1()) st
   for b2 being Element of the carrier of F2() holds
      b1 . b2 = F3(b2)
provided
   F3(1_ F2()) = id F1()
and
   for b1, b2 being Element of the carrier of F2() holds
   F3(b1 * b2) = F3(b1) * F3(b2);


:: GROUP_10:th 1
theorem
for b1 being non empty set
for b2 being non empty Group-like multMagma
for b3 being Element of the carrier of b2
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b2,Funcs(b1,b1) holds
   b4 ^ b3 is one-to-one;

:: GROUP_10:funcnot 3 => TOPGRP_1:func 1
notation
  let a1 be non empty multMagma;
  let a2 be Element of the carrier of a1;
  synonym the_left_translation_of a2 for a2 *;
end;

:: GROUP_10:funcnot 4 => GROUP_10:func 2
definition
  let a1 be non empty Group-like associative multMagma;
  func the_left_operation_of A1 -> Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(the carrier of a1,the carrier of a1) means
    for b1 being Element of the carrier of a1 holds
       it . b1 = b1 *;
end;

:: GROUP_10:def 2
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(the carrier of b1,the carrier of b1) holds
      b2 = the_left_operation_of b1
   iff
      for b3 being Element of the carrier of b1 holds
         b2 . b3 = b3 *;

:: GROUP_10:funcnot 5 => GROUP_10:func 3
definition
  let a1, a2 be set;
  func the_subsets_of_card(A2,A1) -> Element of bool bool a1 equals
    {b1 where b1 is Element of bool a1: Card b1 = a2};
end;

:: GROUP_10:def 3
theorem
for b1, b2 being set holds
the_subsets_of_card(b2,b1) = {b3 where b3 is Element of bool b1: Card b3 = b2};

:: GROUP_10:funcreg 1
registration
  let a1 be finite set;
  let a2 be set;
  cluster the_subsets_of_card(a2,a1) -> finite;
end;

:: GROUP_10:th 2
theorem
for b1 being natural set
for b2 being non empty set
      st Card b1 c= Card b2
   holds the_subsets_of_card(b1,b2) is not empty;

:: GROUP_10:th 3
theorem
for b1 being non empty finite set
for b2 being Element of NAT
for b3, b4 being set
      st b3 <> b4
   holds card Choose(b1,b2,b3,b4) = card the_subsets_of_card(b2,b1);

:: GROUP_10:funcnot 6 => GROUP_10:func 4
definition
  let a1 be non empty set;
  let a2 be natural set;
  let a3 be non empty Group-like multMagma;
  let a4 be Element of the carrier of a3;
  let a5 be Function-like quasi_total being_left_operation Relation of the carrier of a3,Funcs(a1,a1);
  assume Card a2 c= Card a1;
  func the_extension_of_left_translation_of(A2,A4,A5) -> Function-like quasi_total Relation of the_subsets_of_card(a2,a1),the_subsets_of_card(a2,a1) means
    for b1 being Element of the_subsets_of_card(a2,a1) holds
       it . b1 = (a5 ^ a4) .: b1;
end;

:: GROUP_10:def 4
theorem
for b1 being non empty set
for b2 being natural set
for b3 being non empty Group-like multMagma
for b4 being Element of the carrier of b3
for b5 being Function-like quasi_total being_left_operation Relation of the carrier of b3,Funcs(b1,b1)
   st Card b2 c= Card b1
for b6 being Function-like quasi_total Relation of the_subsets_of_card(b2,b1),the_subsets_of_card(b2,b1) holds
      b6 = the_extension_of_left_translation_of(b2,b4,b5)
   iff
      for b7 being Element of the_subsets_of_card(b2,b1) holds
         b6 . b7 = (b5 ^ b4) .: b7;

:: GROUP_10:funcnot 7 => GROUP_10:func 5
definition
  let a1 be non empty set;
  let a2 be natural set;
  let a3 be non empty Group-like multMagma;
  let a4 be Function-like quasi_total being_left_operation Relation of the carrier of a3,Funcs(a1,a1);
  assume Card a2 c= Card a1;
  func the_extension_of_left_operation_of(A2,A4) -> Function-like quasi_total being_left_operation Relation of the carrier of a3,Funcs(the_subsets_of_card(a2,a1),the_subsets_of_card(a2,a1)) means
    for b1 being Element of the carrier of a3 holds
       it . b1 = the_extension_of_left_translation_of(a2,b1,a4);
end;

:: GROUP_10:def 5
theorem
for b1 being non empty set
for b2 being natural set
for b3 being non empty Group-like multMagma
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b3,Funcs(b1,b1)
   st Card b2 c= Card b1
for b5 being Function-like quasi_total being_left_operation Relation of the carrier of b3,Funcs(the_subsets_of_card(b2,b1),the_subsets_of_card(b2,b1)) holds
      b5 = the_extension_of_left_operation_of(b2,b4)
   iff
      for b6 being Element of the carrier of b3 holds
         b5 . b6 = the_extension_of_left_translation_of(b2,b6,b4);

:: GROUP_10:funcnot 8 => GROUP_10:func 6
definition
  let a1 be non empty multMagma;
  let a2 be Element of the carrier of a1;
  let a3 be non empty set;
  func the_left_translation_of(A2,A3) -> Function-like quasi_total Relation of [:the carrier of a1,a3:],[:the carrier of a1,a3:] means
    for b1 being Element of [:the carrier of a1,a3:] holds
       ex b2 being Element of [:the carrier of a1,a3:] st
          ex b3, b4 being Element of the carrier of a1 st
             ex b5 being Element of a3 st
                b2 = it . b1 & b4 = a2 * b3 & b1 = [b3,b5] & b2 = [b4,b5];
end;

:: GROUP_10:def 6
theorem
for b1 being non empty multMagma
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Function-like quasi_total Relation of [:the carrier of b1,b3:],[:the carrier of b1,b3:] holds
      b4 = the_left_translation_of(b2,b3)
   iff
      for b5 being Element of [:the carrier of b1,b3:] holds
         ex b6 being Element of [:the carrier of b1,b3:] st
            ex b7, b8 being Element of the carrier of b1 st
               ex b9 being Element of b3 st
                  b6 = b4 . b5 & b8 = b2 * b7 & b5 = [b7,b9] & b6 = [b8,b9];

:: GROUP_10:funcnot 9 => GROUP_10:func 7
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be non empty set;
  func the_left_operation_of(A1,A2) -> Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs([:the carrier of a1,a2:],[:the carrier of a1,a2:]) means
    for b1 being Element of the carrier of a1 holds
       it . b1 = the_left_translation_of(b1,a2);
end;

:: GROUP_10:def 7
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs([:the carrier of b1,b2:],[:the carrier of b1,b2:]) holds
      b3 = the_left_operation_of(b1,b2)
   iff
      for b4 being Element of the carrier of b1 holds
         b3 . b4 = the_left_translation_of(b4,b2);

:: GROUP_10:funcnot 10 => GROUP_10:func 8
definition
  let a1 be non empty Group-like associative multMagma;
  let a2, a3 be Subgroup of a1;
  let a4 be Element of the carrier of a2;
  func the_left_translation_of(A4,A3) -> Function-like quasi_total Relation of Left_Cosets a3,Left_Cosets a3 means
    for b1 being Element of Left_Cosets a3 holds
       ex b2 being Element of Left_Cosets a3 st
          ex b3, b4 being Element of bool the carrier of a1 st
             ex b5 being Element of the carrier of a1 st
                b2 = it . b1 & b4 = b5 * b3 & b3 = b1 & b4 = b2 & b5 = a4;
end;

:: GROUP_10:def 8
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being Subgroup of b1
for b4 being Element of the carrier of b2
for b5 being Function-like quasi_total Relation of Left_Cosets b3,Left_Cosets b3 holds
      b5 = the_left_translation_of(b4,b3)
   iff
      for b6 being Element of Left_Cosets b3 holds
         ex b7 being Element of Left_Cosets b3 st
            ex b8, b9 being Element of bool the carrier of b1 st
               ex b10 being Element of the carrier of b1 st
                  b7 = b5 . b6 & b9 = b10 * b8 & b8 = b6 & b9 = b7 & b10 = b4;

:: GROUP_10:funcnot 11 => GROUP_10:func 9
definition
  let a1 be non empty Group-like associative multMagma;
  let a2, a3 be Subgroup of a1;
  func the_left_operation_of(A2,A3) -> Function-like quasi_total being_left_operation Relation of the carrier of a2,Funcs(Left_Cosets a3,Left_Cosets a3) means
    for b1 being Element of the carrier of a2 holds
       it . b1 = the_left_translation_of(b1,a3);
end;

:: GROUP_10:def 9
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being Subgroup of b1
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b2,Funcs(Left_Cosets b3,Left_Cosets b3) holds
      b4 = the_left_operation_of(b2,b3)
   iff
      for b5 being Element of the carrier of b2 holds
         b4 . b5 = the_left_translation_of(b5,b3);

:: GROUP_10:funcnot 12 => GROUP_10:func 10
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be non empty set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of bool a2;
  func the_strict_stabilizer_of(A4,A3) -> strict Subgroup of a1 means
    the carrier of it = {b1 where b1 is Element of the carrier of a1: (a3 ^ b1) .: a4 = a4};
end;

:: GROUP_10:def 10
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
for b4 being Element of bool b2
for b5 being strict Subgroup of b1 holds
      b5 = the_strict_stabilizer_of(b4,b3)
   iff
      the carrier of b5 = {b6 where b6 is Element of the carrier of b1: (b3 ^ b6) .: b4 = b4};

:: GROUP_10:funcnot 13 => GROUP_10:func 11
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be non empty set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of a2;
  func the_strict_stabilizer_of(A4,A3) -> strict Subgroup of a1 equals
    the_strict_stabilizer_of({a4},a3);
end;

:: GROUP_10:def 11
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
for b4 being Element of b2 holds
   the_strict_stabilizer_of(b4,b3) = the_strict_stabilizer_of({b4},b3);

:: GROUP_10:prednot 1 => GROUP_10:pred 1
definition
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of a2;
  pred A4 is_fixed_under A3 means
    for b1 being Element of the carrier of a1 holds
       a4 = (a3 ^ b1) . a4;
end;

:: GROUP_10:dfs 12
definiens
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of a2;
To prove
     a4 is_fixed_under a3
it is sufficient to prove
  thus for b1 being Element of the carrier of a1 holds
       a4 = (a3 ^ b1) . a4;

:: GROUP_10:def 12
theorem
for b1 being non empty unital multMagma
for b2 being set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
for b4 being Element of b2 holds
      b4 is_fixed_under b3
   iff
      for b5 being Element of the carrier of b1 holds
         b4 = (b3 ^ b5) . b4;

:: GROUP_10:funcnot 14 => GROUP_10:func 12
definition
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  func the_fixed_points_of A3 -> Element of bool a2 equals
    {b1 where b1 is Element of a2: b1 is_fixed_under a3}
    if a2 is not empty
    otherwise {} a2;
end;

:: GROUP_10:def 13
theorem
for b1 being non empty unital multMagma
for b2 being set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2) holds
   (b2 is empty or the_fixed_points_of b3 = {b4 where b4 is Element of b2: b4 is_fixed_under b3}) &
    (b2 is empty implies the_fixed_points_of b3 = {} b2);

:: GROUP_10:prednot 2 => GROUP_10:pred 2
definition
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4, a5 be Element of a2;
  pred A4,A5 are_conjugated_under A3 means
    ex b1 being Element of the carrier of a1 st
       a5 = (a3 ^ b1) . a4;
end;

:: GROUP_10:dfs 14
definiens
  let a1 be non empty unital multMagma;
  let a2 be set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4, a5 be Element of a2;
To prove
     a4,a5 are_conjugated_under a3
it is sufficient to prove
  thus ex b1 being Element of the carrier of a1 st
       a5 = (a3 ^ b1) . a4;

:: GROUP_10:def 14
theorem
for b1 being non empty unital multMagma
for b2 being set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
for b4, b5 being Element of b2 holds
   b4,b5 are_conjugated_under b3
iff
   ex b6 being Element of the carrier of b1 st
      b5 = (b3 ^ b6) . b4;

:: GROUP_10:th 4
theorem
for b1 being non empty unital multMagma
for b2 being non empty set
for b3 being Element of b2
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2) holds
   b3,b3 are_conjugated_under b4;

:: GROUP_10:th 5
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3, b4 being Element of b2
for b5 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
      st b3,b4 are_conjugated_under b5
   holds b4,b3 are_conjugated_under b5;

:: GROUP_10:th 6
theorem
for b1 being non empty unital multMagma
for b2 being non empty set
for b3, b4, b5 being Element of b2
for b6 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
      st b3,b4 are_conjugated_under b6 & b4,b5 are_conjugated_under b6
   holds b3,b5 are_conjugated_under b6;

:: GROUP_10:funcnot 15 => GROUP_10:func 13
definition
  let a1 be non empty unital multMagma;
  let a2 be non empty set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  let a4 be Element of a2;
  func the_orbit_of(A4,A3) -> Element of bool a2 equals
    {b1 where b1 is Element of a2: a4,b1 are_conjugated_under a3};
end;

:: GROUP_10:def 15
theorem
for b1 being non empty unital multMagma
for b2 being non empty set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
for b4 being Element of b2 holds
   the_orbit_of(b4,b3) = {b5 where b5 is Element of b2: b4,b5 are_conjugated_under b3};

:: GROUP_10:th 7
theorem
for b1 being non empty unital multMagma
for b2 being non empty set
for b3 being Element of b2
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2) holds
   the_orbit_of(b3,b4) is not empty;

:: GROUP_10:th 8
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3, b4 being Element of b2
for b5 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
      st the_orbit_of(b3,b5) meets the_orbit_of(b4,b5)
   holds the_orbit_of(b3,b5) = the_orbit_of(b4,b5);

:: GROUP_10:th 9
theorem
for b1 being non empty unital multMagma
for b2 being non empty finite set
for b3 being Element of b2
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2)
      st b3 is_fixed_under b4
   holds the_orbit_of(b3,b4) = {b3};

:: GROUP_10:th 10
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3 being Element of b2
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2) holds
   Card the_orbit_of(b3,b4) = Index the_strict_stabilizer_of(b3,b4);

:: GROUP_10:funcnot 16 => GROUP_10:func 14
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be non empty set;
  let a3 be Function-like quasi_total being_left_operation Relation of the carrier of a1,Funcs(a2,a2);
  func the_orbits_of A3 -> a_partition of a2 equals
    {b1 where b1 is Element of bool a2: ex b2 being Element of a2 st
       b1 = the_orbit_of(b2,a3)};
end;

:: GROUP_10:def 16
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty set
for b3 being Function-like quasi_total being_left_operation Relation of the carrier of b1,Funcs(b2,b2) holds
   the_orbits_of b3 = {b4 where b4 is Element of bool b2: ex b5 being Element of b2 st
      b4 = the_orbit_of(b5,b3)};

:: GROUP_10:prednot 3 => GROUP_10:pred 3
definition
  let a1 be natural prime set;
  let a2 be non empty Group-like associative multMagma;
  pred A2 is_p-group_of_prime A1 means
    ex b1 being natural set st
       Ord a2 = a1 |^ b1;
end;

:: GROUP_10:dfs 17
definiens
  let a1 be natural prime set;
  let a2 be non empty Group-like associative multMagma;
To prove
     a2 is_p-group_of_prime a1
it is sufficient to prove
  thus ex b1 being natural set st
       Ord a2 = a1 |^ b1;

:: GROUP_10:def 17
theorem
for b1 being natural prime set
for b2 being non empty Group-like associative multMagma holds
      b2 is_p-group_of_prime b1
   iff
      ex b3 being natural set st
         Ord b2 = b1 |^ b3;

:: GROUP_10:prednot 4 => GROUP_10:pred 4
definition
  let a1 be natural prime set;
  let a2 be non empty Group-like associative multMagma;
  let a3 be Subgroup of a2;
  pred A3 is_p-group_of_prime A1 means
    ex b1 being non empty finite Group-like associative multMagma st
       a3 = b1 & b1 is_p-group_of_prime a1;
end;

:: GROUP_10:dfs 18
definiens
  let a1 be natural prime set;
  let a2 be non empty Group-like associative multMagma;
  let a3 be Subgroup of a2;
To prove
     a3 is_p-group_of_prime a1
it is sufficient to prove
  thus ex b1 being non empty finite Group-like associative multMagma st
       a3 = b1 & b1 is_p-group_of_prime a1;

:: GROUP_10:def 18
theorem
for b1 being natural prime set
for b2 being non empty Group-like associative multMagma
for b3 being Subgroup of b2 holds
      b3 is_p-group_of_prime b1
   iff
      ex b4 being non empty finite Group-like associative multMagma st
         b3 = b4 & b4 is_p-group_of_prime b1;

:: GROUP_10:th 11
theorem
for b1 being non empty finite set
for b2 being non empty finite Group-like associative multMagma
for b3 being natural prime set
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b2,Funcs(b1,b1)
      st b2 is_p-group_of_prime b3
   holds (card the_fixed_points_of b4) mod b3 = (card b1) mod b3;

:: GROUP_10:prednot 5 => GROUP_10:pred 5
definition
  let a1 be natural prime set;
  let a2 be non empty Group-like associative multMagma;
  let a3 be Subgroup of a2;
  pred A3 is_Sylow_p-subgroup_of_prime A1 means
    a3 is_p-group_of_prime a1 & not a1 divides index a3;
end;

:: GROUP_10:dfs 19
definiens
  let a1 be natural prime set;
  let a2 be non empty Group-like associative multMagma;
  let a3 be Subgroup of a2;
To prove
     a3 is_Sylow_p-subgroup_of_prime a1
it is sufficient to prove
  thus a3 is_p-group_of_prime a1 & not a1 divides index a3;

:: GROUP_10:def 19
theorem
for b1 being natural prime set
for b2 being non empty Group-like associative multMagma
for b3 being Subgroup of b2 holds
      b3 is_Sylow_p-subgroup_of_prime b1
   iff
      b3 is_p-group_of_prime b1 & not b1 divides index b3;

:: GROUP_10:th 12
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being natural prime set holds
   ex b3 being strict Subgroup of b1 st
      b3 is_Sylow_p-subgroup_of_prime b2;

:: GROUP_10:th 13
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being natural prime set
      st b2 divides ord b1
   holds ex b3 being Element of the carrier of b1 st
      ord b3 = b2;

:: GROUP_10:th 14
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being natural prime set holds
   (for b3 being Subgroup of b1
          st b3 is_p-group_of_prime b2
       holds ex b4 being Subgroup of b1 st
          b4 is_Sylow_p-subgroup_of_prime b2 & b3 is Subgroup of b4) &
    (for b3, b4 being Subgroup of b1
          st b3 is_Sylow_p-subgroup_of_prime b2 & b4 is_Sylow_p-subgroup_of_prime b2
       holds b3,b4 are_conjugated);

:: GROUP_10:funcnot 17 => GROUP_10:func 15
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be natural prime set;
  func the_sylow_p-subgroups_of_prime(A2,A1) -> Element of bool Subgroups a1 equals
    {b1 where b1 is Element of Subgroups a1: ex b2 being strict Subgroup of a1 st
       b2 = b1 & b2 is_Sylow_p-subgroup_of_prime a2};
end;

:: GROUP_10:def 20
theorem
for b1 being non empty Group-like associative multMagma
for b2 being natural prime set holds
   the_sylow_p-subgroups_of_prime(b2,b1) = {b3 where b3 is Element of Subgroups b1: ex b4 being strict Subgroup of b1 st
      b4 = b3 & b4 is_Sylow_p-subgroup_of_prime b2};

:: GROUP_10:funcreg 2
registration
  let a1 be non empty finite Group-like associative multMagma;
  let a2 be natural prime set;
  cluster the_sylow_p-subgroups_of_prime(a2,a1) -> non empty finite;
end;

:: GROUP_10:funcnot 18 => GROUP_10:func 16
definition
  let a1 be non empty finite Group-like associative multMagma;
  let a2 be natural prime set;
  let a3 be Subgroup of a1;
  let a4 be Element of the carrier of a3;
  func the_left_translation_of(A4,A2) -> Function-like quasi_total Relation of the_sylow_p-subgroups_of_prime(a2,a1),the_sylow_p-subgroups_of_prime(a2,a1) means
    for b1 being Element of the_sylow_p-subgroups_of_prime(a2,a1) holds
       ex b2 being Element of the_sylow_p-subgroups_of_prime(a2,a1) st
          ex b3, b4 being strict Subgroup of a1 st
             ex b5 being Element of the carrier of a1 st
                b2 = it . b1 & b1 = b3 & b2 = b4 & a4 " = b5 & b4 = b3 |^ b5;
end;

:: GROUP_10:def 21
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being natural prime set
for b3 being Subgroup of b1
for b4 being Element of the carrier of b3
for b5 being Function-like quasi_total Relation of the_sylow_p-subgroups_of_prime(b2,b1),the_sylow_p-subgroups_of_prime(b2,b1) holds
      b5 = the_left_translation_of(b4,b2)
   iff
      for b6 being Element of the_sylow_p-subgroups_of_prime(b2,b1) holds
         ex b7 being Element of the_sylow_p-subgroups_of_prime(b2,b1) st
            ex b8, b9 being strict Subgroup of b1 st
               ex b10 being Element of the carrier of b1 st
                  b7 = b5 . b6 & b6 = b8 & b7 = b9 & b4 " = b10 & b9 = b8 |^ b10;

:: GROUP_10:funcnot 19 => GROUP_10:func 17
definition
  let a1 be non empty finite Group-like associative multMagma;
  let a2 be natural prime set;
  let a3 be Subgroup of a1;
  func the_left_operation_of(A3,A2) -> Function-like quasi_total being_left_operation Relation of the carrier of a3,Funcs(the_sylow_p-subgroups_of_prime(a2,a1),the_sylow_p-subgroups_of_prime(a2,a1)) means
    for b1 being Element of the carrier of a3 holds
       it . b1 = the_left_translation_of(b1,a2);
end;

:: GROUP_10:def 22
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being natural prime set
for b3 being Subgroup of b1
for b4 being Function-like quasi_total being_left_operation Relation of the carrier of b3,Funcs(the_sylow_p-subgroups_of_prime(b2,b1),the_sylow_p-subgroups_of_prime(b2,b1)) holds
      b4 = the_left_operation_of(b3,b2)
   iff
      for b5 being Element of the carrier of b3 holds
         b4 . b5 = the_left_translation_of(b5,b2);

:: GROUP_10:th 15
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being natural prime set holds
   (card the_sylow_p-subgroups_of_prime(b2,b1)) mod b2 = 1 & card the_sylow_p-subgroups_of_prime(b2,b1) divides ord b1;

:: GROUP_10:th 16
theorem
for b1, b2 being non empty set holds
Card {[:b1,{b3}:] where b3 is Element of b2: TRUE} = Card b2;

:: GROUP_10:th 17
theorem
for b1, b2, b3 being natural set
for b4 being natural prime set
      st b1 = (b4 |^ b3) * b2 & not b4 divides b2
   holds (b1 choose (b4 |^ b3)) mod b4 <> 0;

:: GROUP_10:th 18
theorem
for b1 being non empty natural set holds
   ord INT.Group b1 = b1;

:: GROUP_10:th 19
theorem
for b1 being non empty Group-like associative multMagma
for b2 being non empty Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
   Card b2 = Card (b2 * b3);