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;
