 reserve x, y, y1, y2 for set;
 reserve V for Z_Module;
 reserve u, v, w for Vector of V;
 reserve F, G, H, I for FinSequence of V;
 reserve W, W1, W2, W3 for Submodule of V;
 reserve KL1, KL2 for Linear_Combination of V;
 reserve X for Subset of V;

theorem
  for V being free Z_Module, A being Subset of V st A is linearly-independent
  ex B being Subset of V st A c= B & B is linearly-independent &
  (for v being Vector of V holds ex a being Element of INT.Ring st
    a * v in Lin(B))
  proof
    let V be free Z_Module, A be Subset of V such that
    A1: A is linearly-independent;
    defpred P[set] means ex B being Subset of V st B = $1 & A c= B & B is
    linearly-independent;
    consider Q being set such that
    A2: for Z being set holds Z in Q iff Z in bool(the carrier of V) & P[Z]
    from XFAMILY:sch 1;
A3: now
      let Z be set;
      assume that
      A4: Z <> {} and
      A5: Z c= Q and
      A6: Z is c=-linear;
      set W = union Z;
      W c= the carrier of V
      proof
        let x be object;
        assume x in W;
        then consider X be set such that
        A7: x in X and
        A8: X in Z by TARSKI:def 4;
        X in bool(the carrier of V) by A2,A5,A8;
        hence thesis by A7;
      end;
      then reconsider W as Subset of V;
      A9: W is linearly-independent
      proof
        deffunc Q(object)={C where C is Subset of V: $1 in C & C in Z};
        let l be Linear_Combination of W;
        assume that
        A10: Sum(l) = 0.V and
        A11: Carrier(l) <> {};
        consider f being Function such that
        A12: dom f = Carrier(l) and
        A13: for x being object st x in Carrier(l) holds f.x = Q(x)
               from FUNCT_1:sch 3;
        reconsider M = rng f as non empty set by A11,A12,RELAT_1:42;
        set F = the Choice_Function of M;
        set S = rng F;
        A14:
        now
          assume {} in M;
          then consider x being object such that
          A15: x in dom f and
          A16: f.x = {} by FUNCT_1:def 3;
          Carrier(l) c= W by VECTSP_6:def 4;
          then consider X be set such that
          A17: x in X and
          A18: X in Z by A12,A15,TARSKI:def 4;
          reconsider X as Subset of V by A2,A5,A18;
          X in {C where C is Subset of V: x in C & C in Z} by A17,A18;
          hence contradiction by A12,A13,A15,A16;
        end;
        then
        A19: dom F = M by RLVECT_3:28;
        then dom F is finite by A12,FINSET_1:8;
        then
        A20: S is finite by FINSET_1:8;
        A21:
        now
          let X be set;
          assume X in S;
          then consider x being object such that
          A22: x in dom F and
          A23: F.x = X by FUNCT_1:def 3;
          consider y being object such that
          A24: y in dom f & f.y = x by A22,FUNCT_1:def 3;
          reconsider x as set by TARSKI:1;
          A25: x = Q(y) by A12,A13,A24;
          X in x by A14,A22,A23,ORDERS_1:89;
          then ex C being Subset of V st C = X & y in C & C in Z by A25;
          hence X in Z;
        end;
        A26:
        now
          let X,Y be set;
          assume X in S & Y in S;
          then X in Z & Y in Z by A21;
          hence X c= Y or Y c= X by A6,ORDINAL1:def 8,XBOOLE_0:def 9;
        end;
        S <> {} by A19,RELAT_1:42;
        then union S in Z by A20,A21,A26,CARD_2:62;
        then consider B being Subset of V such that
        A27: B = union S and
        A c= B and
        A28: B is linearly-independent by A2,A5;
        Carrier(l) c= union S
        proof
          let x be object;
          set X = f.x;
          assume A29: x in Carrier(l);
          then
          A30: f.x = {C where C is Subset of V: x in C & C in Z} by A13;
          A31: f.x in M by A12,A29,FUNCT_1:def 3;
          then F.X in X by A14,ORDERS_1:89;
          then
          A32: ex C being Subset of V st F.X = C & x in C & C in Z by A30;
          F.X in S by A19,A31,FUNCT_1:def 3;
          hence thesis by A32,TARSKI:def 4;
        end;
        then l is Linear_Combination of B by A27,VECTSP_6:def 4;
        hence thesis by A10,A11,A28;
      end;
      set x = the Element of Z;
      x in Q by A4,A5; then
      A33: ex B being Subset of V st B = x & A c= B & B is linearly-independent
      by A2;
      x c= W by A4,ZFMISC_1:74;
      hence union Z in Q by A2,A9,A33,XBOOLE_1:1;
    end;
    Q <> {} by A1,A2;
    then consider X be set such that
    A34: X in Q and
    A35: for Z be set st Z in Q & Z <> X holds not X c= Z by A3,ORDERS_1:67;
    consider B being Subset of V such that
    A36: B = X and
    A37: A c= B and
    A38: B is linearly-independent by A2,A34;
    take B;
    thus A c= B & B is linearly-independent by A37,A38;
    assume not for v being Vector of V holds ex a being Element of INT.Ring
    st a * v in Lin(B);
    then consider v being Vector of V such that
    A39: for a being Element of INT.Ring holds not a * v in Lin(B);
    A40: B \/ {v} is linearly-independent
    proof
      let l be Linear_Combination of B \/ {v};
      assume A41: Sum(l) = 0.V;
      now
        per cases;
        suppose
          v in Carrier(l);
          reconsider i0 = 0 as Element of INT.Ring;
          deffunc G(Vector of V)=0.INT.Ring;
          deffunc L(Vector of V)=l.$1;
          consider f being Function of the carrier of V, the carrier of
          INT.Ring such that
          A42: f.v = i0 and
          A43: for u being Vector of V st u <> v holds f.u = L(u)
          from FUNCT_2:sch 6;
          reconsider f as Element of Funcs(the carrier of V,
            the carrier of INT.Ring) by FUNCT_2:8;
          now
            let u be Vector of V;
            assume not u in Carrier(l) \ {v};
            then not u in Carrier(l) or u in {v} by XBOOLE_0:def 5;
            then l.u = 0 & u <> v or u = v by TARSKI:def 1;
            hence f.u = 0 by A42,A43;
          end;
          then reconsider f as Linear_Combination of V by VECTSP_6:def 1;
          Carrier(f) c= B
          proof
            let x be object;
            A44: Carrier(l) c= B \/ {v} by VECTSP_6:def 4;
            assume x in Carrier(f);
            then consider u being Vector of V such that
            A45: u = x and
            A46: f.u <> 0;
            f.u = l.u by A42,A43,A46;
            then u in Carrier(l) by A46;
            then u in B or u in {v} by A44,XBOOLE_0:def 3;
            hence thesis by A42,A45,A46,TARSKI:def 1;
          end;
          then reconsider f as Linear_Combination of B by VECTSP_6:def 4;
          reconsider lv = -l.v as Element of INT.Ring;
          consider g being Function of the carrier of V,
            the carrier of INT.Ring such that
          A47: g.v = lv and
          A48: for u being Vector of V st u <> v holds g.u = G(u)
          from FUNCT_2:sch 6;
          reconsider g as Element of
            Funcs(the carrier of V, the carrier of INT.Ring) by FUNCT_2:8;
          now
            let u be Vector of V;
            assume not u in {v};
            then u <> v by TARSKI:def 1;
            hence g.u = 0.INT.Ring by A48;
          end;
          then reconsider g as Linear_Combination of V by VECTSP_6:def 1;
          Carrier(g) c= {v}
          proof
            let x be object;
            assume x in Carrier(g);
            then ex u being Vector of V st x = u & g.u <> 0;
            then x = v by A48;
            hence thesis by TARSKI:def 1;
          end;
          then reconsider g as Linear_Combination of {v} by VECTSP_6:def 4;
          A49: Sum(g) = (- l.v) * v by A47,ZMODUL02:21;
          f - g = l
          proof
            let u be Vector of V;
            now
              per cases;
              suppose
                A50: v = u;
                thus (f - g).u = f.u - g.u by ZMODUL02:39
                .= l.u by A42,A47,A50;
              end;
              suppose
                A51: v <> u;
                thus (f - g).u = f.u - g.u by ZMODUL02:39
                .= l.u - g.u by A43,A51
                .= l.u - 0.INT.Ring by A48,A51
                .= l.u;
              end;
            end;
            hence thesis;
          end;
          then 0.V = Sum(f) - Sum(g) by A41,ZMODUL02:55;
          then Sum(f) = 0.V + Sum(g) by RLSUB_2:61
          .= (- l.v) * v by A49,RLVECT_1:4;
          hence thesis by A39,ZMODUL02:64;
        end;
        suppose
          A52: not v in Carrier(l);
          Carrier(l) c= B
          proof
            let x be object;
            assume
            A53: x in Carrier(l);
            Carrier(l) c= B \/ {v} by VECTSP_6:def 4;
            then x in B or x in {v} by A53,XBOOLE_0:def 3;
            hence thesis by A52,A53,TARSKI:def 1;
          end;
          then l is Linear_Combination of B by VECTSP_6:def 4;
          hence thesis by A38,A41;
        end;
      end;
      hence thesis;
    end;
    v in {v} by TARSKI:def 1;
    then
    A54: v in B \/ {v} by XBOOLE_0:def 3;
    not (1.(INT.Ring)) * v in Lin(B) by A39;
    then not v in Lin(B) by VECTSP_1:def 17;
    then A55: not v in B by ZMODUL02:65;
    B c= B \/ {v} by XBOOLE_1:7;
    then B \/ {v} in Q by A2,A37,A40,XBOOLE_1:1;
    hence contradiction by A35,A36,A54,A55,XBOOLE_1:7;
  end;
