 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 Th128:
  a * H, b * H are_equipotent
proof
  defpred P[object,object] means ex g1 st $1 = g1 & $2 = b * a" * g1;
A1: for x being object st x in a * H ex y being object st P[x,y]
  proof
    let x be object;
    assume x in a * H;
    then reconsider g = x as Element of G;
    reconsider y = b * a" * g as set;
    take y;
    take g;
    thus thesis;
  end;
  consider f being Function such that
A2: dom f = a * H and
A3: for x being object st x in a * H holds P[x,f.x] from CLASSES1:sch 1(A1);
A4: rng f = b * H
  proof
    thus rng f c= b * H
    proof
      let x be object;
      assume x in rng f;
      then consider y being object such that
A5:   y in dom f and
A6:   f.y = x by FUNCT_1:def 3;
      consider g such that
A7:   y = g and
A8:   x = b * a" * g by A2,A3,A5,A6;
      consider g1 such that
A9:   g = a * g1 and
A10:  g1 in H by A2,A5,A7,Th103;
      x = b * a" * a * g1 by A8,A9,GROUP_1:def 3
        .= b * (a" * a) * g1 by GROUP_1:def 3
        .= b * 1_G * g1 by GROUP_1:def 5
        .= b * g1 by GROUP_1:def 4;
      hence thesis by A10,Th103;
    end;
    let x be object;
    assume x in b * H;
    then consider g such that
A11: x = b * g and
A12: g in H by Th103;
A13: a * g in dom f by A2,A12,Th103;
    then ex g1 st g1 = a * g & f.(a * g) = b * a" * g1 by A2,A3;
    then f.(a * g) = b * a" * a * g by GROUP_1:def 3
      .= b * (a" * a) * g by GROUP_1:def 3
      .= b * 1_G * g by GROUP_1:def 5
      .= x by A11,GROUP_1:def 4;
    hence thesis by A13,FUNCT_1:def 3;
  end;
  f is one-to-one
  proof
    let x,y be object;
    assume that
A14: x in dom f & y in dom f and
A15: f.x = f.y;
    ( ex g1 st x = g1 & f.x = b * a" * g1)& ex g2 st y = g2 & f.y = b * a
    " * g2 by A2,A3,A14;
    hence thesis by A15,GROUP_1:6;
  end;
  hence thesis by A2,A4,WELLORD2:def 4;
end;
