 reserve x for object;
 reserve G for non empty 1-sorted;
 reserve A for Subset of G;
 reserve y,y1,y2,Y,Z for set;
 reserve k for Nat;
 reserve G for Group;
 reserve a,g,h for Element of G;
 reserve A for Subset of G;
reserve G for non empty multMagma,
  A,B,C for Subset of G;
reserve a,b,g,g1,g2,h,h1,h2 for Element of G;
reserve G for Group-like non empty multMagma;
reserve h,g,g1,g2 for Element of G;
reserve A for Subset of G;
reserve H for Subgroup of G;
reserve h,h1,h2 for Element of H;
reserve G,G1,G2,G3 for Group;
reserve a,a1,a2,b,b1,b2,g,g1,g2 for Element of G;
reserve A,B for Subset of G;
reserve H,H1,H2,H3 for Subgroup of G;
reserve h,h1,h2 for Element of H;

theorem Th137:
  union Left_Cosets H = the carrier of G &
  union Right_Cosets H = the carrier of G
proof
  thus union Left_Cosets H = the carrier of G
  proof
    set h = the Element of H;
    reconsider g = h as Element of G by Th42;
    thus union Left_Cosets H c= the carrier of G;
    let x be object;
    assume x in the carrier of G;
    then reconsider a = x as Element of G;
A1: a = a * 1_G by GROUP_1:def 4
      .= a * (g" * g) by GROUP_1:def 5
      .= a * g" * g by GROUP_1:def 3;
A2: a * g" * H in Left_Cosets H by Def15;
    h in H;
    then a in a * g" * H by A1,Th103;
    hence thesis by A2,TARSKI:def 4;
  end;
  set h = the Element of H;
  reconsider g = h as Element of G by Th42;
  thus union Right_Cosets H c= the carrier of G;
  let x be object;
  assume x in the carrier of G;
  then reconsider a = x as Element of G;
A3: a = 1_G * a by GROUP_1:def 4
    .= g * g" * a by GROUP_1:def 5
    .= g * (g" * a) by GROUP_1:def 3;
A4: H * (g" * a) in Right_Cosets H by Def16;
  h in H;
  then a in H * (g" * a) by A3,Th104;
  hence thesis by A4,TARSKI:def 4;
end;
