Article GROUP_8, MML version 4.99.1005

:: GROUP_8:th 1
theorem
for b1 being Element of NAT
for b2 being non empty finite strict Group-like associative multMagma
      st b1 is prime & ord b2 = b1
   holds ex b3 being Element of the carrier of b2 st
      ord b3 = b1;

:: GROUP_8:th 2
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Subgroup of b1
for b3, b4 being Element of the carrier of b2
for b5, b6 being Element of the carrier of b1
      st b3 = b5 & b4 = b6
   holds b3 * b4 = b5 * b6;

:: GROUP_8:th 3
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Subgroup of b1
for b3 being Element of the carrier of b2
for b4 being Element of the carrier of b1
   st b3 = b4
for b5 being Element of NAT holds
   b3 |^ b5 = b4 |^ b5;

:: GROUP_8:th 4
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Subgroup of b1
for b3 being Element of the carrier of b2
for b4 being Element of the carrier of b1
   st b3 = b4
for b5 being integer set holds
   b3 |^ b5 = b4 |^ b5;

:: GROUP_8:th 5
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Subgroup of b1
for b3 being Element of the carrier of b2
for b4 being Element of the carrier of b1
      st b3 = b4 & b1 is finite
   holds ord b3 = ord b4;

:: GROUP_8:th 6
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Subgroup of b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds b2 * b3 c= the carrier of b2;

:: GROUP_8:th 7
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1
      st b2 <> 1_ b1
   holds gr {b2} <> (1). b1;

:: GROUP_8:th 8
theorem
for b1 being non empty Group-like associative multMagma
for b2 being integer set holds
   (1_ b1) |^ b2 = 1_ b1;

:: GROUP_8:th 9
theorem
for b1 being non empty strict Group-like associative multMagma
for b2 being Element of the carrier of b1
for b3 being integer set holds
   b2 |^ (b3 * ord b2) = 1_ b1;

:: GROUP_8:th 10
theorem
for b1 being non empty strict Group-like associative multMagma
for b2 being Element of the carrier of b1
   st b2 is not being_of_order_0(b1)
for b3 being integer set holds
   b2 |^ b3 = b2 |^ (b3 mod ord b2);

:: GROUP_8:th 11
theorem
for b1 being non empty strict Group-like associative multMagma
for b2 being Element of the carrier of b1
      st b2 is not being_of_order_0(b1)
   holds gr {b2} is finite;

:: GROUP_8:th 12
theorem
for b1 being non empty strict Group-like associative multMagma
for b2 being Element of the carrier of b1
      st b2 is being_of_order_0(b1)
   holds b2 " is being_of_order_0(b1);

:: GROUP_8:th 13
theorem
for b1 being non empty strict Group-like associative multMagma
for b2 being Element of the carrier of b1 holds
      b2 is being_of_order_0(b1)
   iff
      for b3 being integer set
            st b2 |^ b3 = 1_ b1
         holds b3 = 0;

:: GROUP_8:th 14
theorem
for b1 being non empty strict Group-like associative multMagma
      st ex b2 being Element of the carrier of b1 st
           b2 <> 1_ b1
   holds    for b2 being strict Subgroup of b1
            st b2 <> b1
         holds b2 = (1). b1
   iff
      b1 is cyclic &
       b1 is finite &
       (ex b2 being Element of NAT st
          Ord b1 = b2 & b2 is prime);

:: GROUP_8:th 15
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3, b4 being Element of the carrier of b1
for b5 being Element of bool the carrier of b1 holds
      b4 in (b2 * b5) * b3
   iff
      ex b6 being Element of the carrier of b1 st
         b4 = (b2 * b6) * b3 & b6 in b5;

:: GROUP_8:th 16
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 ((b3 " * b2) * b3);

:: GROUP_8:funcnot 1 => GROUP_8:func 1
definition
  let a1 be non empty strict Group-like associative multMagma;
  let a2, a3 be strict Subgroup of a1;
  func Double_Cosets(A2,A3) -> Element of bool bool the carrier of a1 means
    for b1 being Element of bool the carrier of a1 holds
          b1 in it
       iff
          ex b2 being Element of the carrier of a1 st
             b1 = (a2 * b2) * a3;
end;

:: GROUP_8:def 1
theorem
for b1 being non empty strict Group-like associative multMagma
for b2, b3 being strict Subgroup of b1
for b4 being Element of bool bool the carrier of b1 holds
      b4 = Double_Cosets(b2,b3)
   iff
      for b5 being Element of bool the carrier of b1 holds
            b5 in b4
         iff
            ex b6 being Element of the carrier of b1 st
               b5 = (b2 * b6) * b3;

:: GROUP_8:th 17
theorem
for b1 being non empty strict Group-like associative multMagma
for b2, b3 being Element of the carrier of b1
for b4, b5 being strict Subgroup of b1 holds
   b2 in (b4 * b3) * b5
iff
   ex b6, b7 being Element of the carrier of b1 st
      b2 = (b6 * b3) * b7 & b6 in b4 & b7 in b5;

:: GROUP_8:th 18
theorem
for b1 being non empty strict Group-like associative multMagma
for b2, b3 being Element of the carrier of b1
for b4, b5 being strict Subgroup of b1
   st (b4 * b2) * b5 <> (b4 * b3) * b5
for b6 being Element of the carrier of b1
      st b6 in (b4 * b2) * b5
   holds not b6 in (b4 * b3) * b5;

:: GROUP_8:funcreg 1
registration
  let a1 be non empty Group-like associative multMagma;
  let a2 be Subgroup of a1;
  cluster Left_Cosets a2 -> non empty;
end;

:: GROUP_8:funcnot 2 => GROUP_2:func 17
notation
  let a1 be non empty Group-like associative multMagma;
  let a2 be Subgroup of a1;
  synonym index(a1,a2) for index a2;
end;

:: GROUP_8:th 19
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being Subgroup of b1
for b4 being Subgroup of b2
      st b1 = b2 "\/" b3 & b4 = b2 /\ b3 & b1 is finite
   holds index b4 <= index b3;

:: GROUP_8:th 20
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being Subgroup of b1 holds
   0 < index b2;

:: GROUP_8:th 21
theorem
for b1 being non empty Group-like associative multMagma
   st b1 is finite
for b2 being Subgroup of b1
for b3, b4 being Subgroup of b2
   st b2 = b3 "\/" b4
for b5 being Subgroup of b3
   st b5 = b3 /\ b4
for b6 being Subgroup of b4
   st b6 = b3 /\ b4
for b7 being Subgroup of b2
      st b7 = b3 /\ b4 & Left_Cosets b4 is finite & Left_Cosets b3 is finite & index b3,index b4 are_relative_prime
   holds index b4 = index b5 & index b3 = index b6;

:: GROUP_8:th 22
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Subgroup of b1
for b3 being Element of the carrier of b1
   st b3 in b2
for b4 being integer set holds
   b3 |^ b4 in b2;

:: GROUP_8:th 23
theorem
for b1 being non empty strict Group-like associative multMagma
      st b1 <> (1). b1
   holds ex b2 being Element of the carrier of b1 st
      b2 <> 1_ b1;

:: GROUP_8:th 24
theorem
for b1 being non empty strict Group-like associative multMagma
for b2 being Element of the carrier of b1
   st b1 = gr {b2}
for b3 being strict Subgroup of b1
      st b3 <> (1). b1
   holds ex b4 being Element of NAT st
      0 < b4 & b2 |^ b4 in b3;

:: GROUP_8:th 25
theorem
for b1 being non empty strict Group-like associative cyclic multMagma
for b2 being strict Subgroup of b1 holds
   b2 is non empty Group-like associative cyclic multMagma;