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;
reserve x,y,y1,y2 for set;
reserve G for addGroup;
reserve a,b,c,d,g,h for Element of G;
reserve A,B,C,D for Subset of G;
reserve H,H1,H2,H3 for Subgroup of G;
reserve n for Nat;
reserve i for Integer;

theorem Th71:
  Index H = Index(H * a)
proof
  defpred P[object,object] means
   ex b st $1 = b + H & $2 = (b * a) + (H * a);
A1: for x being object st x in Left_Cosets H ex y being object st P[x,y]
  proof
    let x be object;
    assume x in Left_Cosets H;
    then consider b such that
A2: x = b + H by Def15;
    reconsider y = (b * a) + (H * a) as set;
    take y;
    take b;
    thus thesis by A2;
  end;
  consider f being Function such that
A3: dom f = Left_Cosets H and
A4: for x being object st x in Left_Cosets H holds P[x,f.x]
from CLASSES1:sch 1(A1);
A5: for x,y1,y2 st x in Left_Cosets H & P[x,y1] & P[x,y2] holds y1 = y2
  proof
    set A = carr H;
    let x,y1,y2;
    assume x in Left_Cosets H;
    given b such that
A6: x = b + H and
A7: y1 = (b * a) + (H * a);
    given c such that
A8: x = c + H and
A9: y2 = (c * a) + (H * a);
    thus y1 = ((-a) + b + a) + ((-a) + H + a) by A7,ThB59
      .= ((-a) + b + a) + ((-a) + A) + a by ThA33
      .= ((-a) + b) + (a + ((-a) + A)) + a by Th32
      .= (-a) + b + (a + (-a) + A) + a by Th32
      .= (-a) + b + (0_G + A) + a by Def5
      .= (-a) + b + A + a by Th37
      .= (-a) + (c + H) + a by A6,A8,Th32
      .= (-a) + c + A + a by Th32
      .= (-a) + c + (0_G + A) + a by Th37
      .= (-a) + c + (a + (-a) + A) + a by Def5
      .= ((-a) + c) + (a + ((-a) + A)) + a by Th32
      .= ((-a) + c + a) + ((-a) + A) + a by Th32
      .= ((-a) + c + a) + ((-a) + H + a) by ThA33
      .= y2 by A9,ThB59;
  end;
A10: rng f = Left_Cosets(H * a)
  proof
    thus rng f c= Left_Cosets(H * a)
    proof
      let x be object;
      assume x in rng f;
      then consider y being object such that
A11:  y in dom f & f.y = x by FUNCT_1:def 3;
      ex b st y = b + H & x = (b * a) + (H * a) by A3,A4,A11;
      hence thesis by Def15;
    end;
    let x be object;
    assume x in Left_Cosets(H * a);
    then consider b such that
A12: x = b + (H * a) by Def15;
    set c = b * (-a);
A13: x = (c * a) + (H * a) by A12,ThB25;
A14: c + H in Left_Cosets H by Def15;
    then consider d such that
A15: c + H = d + H and
A16: f.(c + H) = (d * a) + (H * a) by A4;
    (c * a) + (H * a) = (d * a) + (H * a) by A5,A14,A15;
    hence thesis by A3,A13,A14,A16,FUNCT_1:def 3;
  end;
  f is one-to-one
  proof
    let x,y be object;
    assume that
A17: x in dom f and
A18: y in dom f and
A19: f.x = f.y;
    consider c such that
A20: y = c + H and
A21: f.y = (c * a) + (H * a) by A3,A4,A18;
    consider b such that
A22: x = b + H and
A23: f.x = (b * a) + (H * a) by A3,A4,A17;
A24: -(c * a) + (b * a) = ((-c) * a) + (b * a) by Th26
      .= ((-c) + b) * a by Th23;
    consider d such that
A25: (-c + b) * a = d * a and
A26: d in H by A24,Th58,A19,A23,A21,Th114;
    (-c) + b = d by A25,ThB16;
    hence thesis by A22,A20,A26,Th114;
  end;
  hence thesis by A3,A10,WELLORD2:def 4,CARD_1:5;
end;
