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 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,RLVECT_1:def 3
        .= b + (-a + a) + g1 by RLVECT_1:def 3
        .= b + 0_G + g1 by Def5
        .= b + g1 by Def4;
      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;
    ex g1 st g1 = a + g & f.(a + g) = b + -a + g1 by A3,A12,Th103;
    then f.(a + g) = b + -a + a + g by RLVECT_1:def 3
      .= b + (-a + a) + g by RLVECT_1:def 3
      .= b + 0_G + g by Def5
      .= x by A11,Def4;
    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,Th6;
  end;
  hence thesis by A2,A4,WELLORD2:def 4;
end;
