reserve V for Z_Module;
reserve W, W1, W2 for Submodule of V;

theorem FG02:
  for V being finitely-generated free Z_Module
  holds ex A being finite Subset of V st A is Basis of V
  proof
    let V be finitely-generated free Z_Module;
    set p = the prime Element of INT.Ring;
    set A = the Basis of V;
    set AQ = {ZMtoMQV(V,p,u) where u is Vector of V : u in A};
    now let x be object;
      assume x in AQ;
      then consider v be Vector of V such that
      B1: x = ZMtoMQV(V,p,v) & v in A;
      thus x in the carrier of Z_MQ_VectSp(V,p) by B1;
    end;
    then reconsider AQ as Subset of Z_MQ_VectSp(V,p) by TARSKI:def 3;
    reconsider AQ as Basis of Z_MQ_VectSp(V,p) by ZMODUL03:35;
    consider B being finite Subset of V such that
    P1: Lin(B) = the ModuleStr of V by ZMODUL03:def 4;
    set BQ = {ZMtoMQV(V,p,u) where u is Vector of V : u in B};
    now let x be object;
      assume x in BQ;
      then consider v be Vector of V such that
      B1: x = ZMtoMQV(V,p,v) & v in B;
      thus x in the carrier of Z_MQ_VectSp(V,p) by B1;
    end;
    then reconsider BQ as Subset of Z_MQ_VectSp(V,p) by TARSKI:def 3;
    deffunc F(Element of V) = ZMtoMQV(V,p,$1);
    consider f be Function of the carrier of V, Z_MQ_VectSp(V,p) such that
    P6: for x be Element of V holds f.x = F(x) from FUNCT_2:sch 4;
    B c= the carrier of V;
    then P8: B c= dom f by FUNCT_2:def 1;
    for y be object st y in BQ ex x be object st x in dom (f|B) & y = (f|B).x
    proof
      let y be object such that
      Q1: y in BQ;
      consider x be Vector of V such that
      Q2: y = ZMtoMQV(V,p,x) & x in B by Q1;
      Q3: x in dom(f|B) by P8,Q2,RELAT_1:62;
      Q4: y = f.x by P6,Q2
      .= (f|B).x by Q3,FUNCT_1:47;
      take x;
      thus thesis by P8,Q2,Q4,RELAT_1:62;
    end;
    then P2: BQ c= rng (f | B) by FUNCT_1:9;
    Lin(BQ) = the ModuleStr of Z_MQ_VectSp(V,p) by P1,ThQuotBasis5;
    then consider IQ be Basis of Z_MQ_VectSp(V,p) such that
    P4: IQ c= BQ by VECTSP_7:20;
    P5: AQ is finite by P2,P4,MATRLIN:def 1,VECTSP_9:20;
    card A = card AQ by ZMODUL03:26;
    then A is finite by P5;
    hence thesis;
  end;
