reserve m,n for Nat;
reserve i,j for Integer;
reserve S for non empty addMagma;
reserve r,r1,r2,s,s1,s2,t,t1,t2 for Element of S;
reserve G for addGroup-like non empty addMagma;
reserve e,h for Element of G;
reserve G for addGroup;
reserve f,g,h for Element of G;
reserve u for UnOp of G;
reserve A for Abelian addGroup;
reserve a,b for Element of A;
reserve x for object;
reserve y,y1,y2,Y,Z for set;
reserve k for Nat;
reserve G for addGroup;
reserve a,g,h for Element of G;
reserve A for Subset of G;
reserve G for non empty addMagma,
  A,B,C for Subset of G;
reserve a,b,g,g1,g2,h,h1,h2 for Element of G;
reserve G for addGroup-like non empty addMagma;
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 addGroup;
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 Th41,STRUCT_0:def 5;
    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 + 0_G by Def4
      .= a + (-g + g) by Def5
      .= a + -g + g by RLVECT_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 Th41,STRUCT_0:def 5;
  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 = 0_G + a by Def4
    .= g + -g + a by Def5
    .= g + (-g + a) by RLVECT_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;
