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
  Index (0).G = card G
proof
  deffunc F(object) = {$1};
  consider f being Function such that
A1: dom f = the carrier of G and
A2: for x being object st x in the carrier of G holds f.x = F(x)
from FUNCT_1:sch 3;
A3: rng f = Left_Cosets (0).G
  proof
    thus rng f c= Left_Cosets (0).G
    proof
      let x be object;
      assume x in rng f;
      then consider y being object such that
A4:   y in dom f and
A5:   f.y = x by FUNCT_1:def 3;
      reconsider y as Element of G by A1,A4;
      x = {y} by A2,A5;
      then x in the set of all {a} ;
      hence thesis by Th138;
    end;
    let x be object;
    assume x in Left_Cosets (0).G;
    then x in the set of all {a} by Th138;
    then consider a such that
A6: x = {a};
    f.a = {a} by A2;
    hence thesis by A1,A6,FUNCT_1:def 3;
  end;
  f is one-to-one
  proof
    let x,y be object;
    assume that
A7: x in dom f & y in dom f and
A8: f.x = f.y;
    f.y = {y} & f.x = {x} by A1,A2,A7;
    hence thesis by A8,ZFMISC_1:3;
  end;
  hence thesis by A1,A3,WELLORD2:def 4,CARD_1:5;
end;
