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 Th15:
  G is finite implies Subgroups G is finite
proof
  defpred P[object,object] means
    ex H being strict Subgroup of G st $1 = H & $2 =
  the carrier of H;
  assume
A1: G is finite;
A2: for x being object st x in Subgroups G ex y being object st P[x,y]
  proof
    let x be object;
    assume x in Subgroups G;
    then reconsider F = x as strict Subgroup of G by Def1;
    reconsider y = the carrier of F as set;
    take y;
    take F;
    thus thesis;
  end;
  consider f being Function such that
A3: dom f = Subgroups G and
A4: for x being object st x in Subgroups G holds P[x,f.x]
from CLASSES1:sch 1(A2);
A5: rng f c= bool the carrier of G
  proof
    let x be object;
    assume x in rng f;
    then consider y being object such that
A6: y in dom f & f.y = x by FUNCT_1:def 3;
    consider H being strict Subgroup of G such that
    y = H and
A7: x = the carrier of H by A3,A4,A6;
    the carrier of H c= the carrier of G by DefA5;
    hence thesis by A7;
  end;
  f is one-to-one
  proof
    let x,y be object;
    assume that
A8: x in dom f & y in dom f and
A9: f.x = f.y;
    ( ex H1 being strict Subgroup of G st x = H1 & f.x = the carrier of
H1)& ex H2 being strict Subgroup of G st y = H2 & f.y = the carrier of H2 by A3
,A4,A8;
    hence thesis by A9,Th59;
  end;
  then card Subgroups G c= card bool the carrier of G by A3,A5,CARD_1:10;
  hence thesis by A1;
end;
