reserve GF for Field,
  V for VectSp of GF,
  W for Subspace of V,
  x, y, y1, y2 for set,
  i, n, m for Nat;

theorem Th20:
  V is finite-dimensional implies for I being Basis of V holds I is finite
proof
  assume V is finite-dimensional;
  then consider A being finite Subset of V such that
A1: A is Basis of V by MATRLIN:def 1;
  let B be Basis of V;
  consider p being FinSequence such that
A2: rng p = A by FINSEQ_1:52;
  reconsider p as FinSequence of the carrier of V by A2,FINSEQ_1:def 4;
  set Car = {Carrier(L) where L is Linear_Combination of B: ex i st i in dom p
  & Sum(L) = p.i};
  set C = union Car;
A3: C c= B
  proof
    let x be object;
    assume x in C;
    then consider R being set such that
A4: x in R and
A5: R in Car by TARSKI:def 4;
    ex L being Linear_Combination of B st R = Carrier(L) & ex i st i in dom
    p & Sum(L) = p.i by A5;
    then R c= B by VECTSP_6:def 4;
    hence thesis by A4;
  end;
  then reconsider C as Subset of V by XBOOLE_1:1;
  for v being Vector of V holds v in (Omega).V iff v in Lin(C)
  proof
    let v be Vector of V;
    hereby
      assume v in (Omega).V;
      then v in the ModuleStr of V by VECTSP_4:def 4;
      then v in Lin(A) by A1,VECTSP_7:def 3;
      then consider LA being Linear_Combination of A such that
A6:   v = Sum(LA) by VECTSP_7:7;
      Carrier(LA) c= the carrier of Lin(C)
      proof
        let w be object;
        assume
A7:     w in Carrier(LA);
        then reconsider w9= w as Vector of V;
        w9 in Lin(B) by Th10;
        then consider LB being Linear_Combination of B such that
A8:     w = Sum(LB) by VECTSP_7:7;
A9:     Carrier(LA) c= A by VECTSP_6:def 4;
        ex i st i in dom p & w = p.i
        proof
          consider i being object such that
A10:      i in dom p and
A11:      w = p.i by A2,A7,A9,FUNCT_1:def 3;
          reconsider i as Element of NAT by A10;
          take i;
          thus thesis by A10,A11;
        end;
        then
A12:    Carrier(LB) in Car by A8;
        Carrier(LB) c= C
        by A12,TARSKI:def 4;
        then LB is Linear_Combination of C by VECTSP_6:def 4;
        then w in Lin(C) by A8,VECTSP_7:7;
        hence thesis by STRUCT_0:def 5;
      end;
      then ex LC being Linear_Combination of C st Sum(LA) = Sum(LC) by Th6;
      hence v in Lin(C) by A6,VECTSP_7:7;
    end;
    assume v in Lin(C);
    v in the carrier of the ModuleStr of V;
    then v in the carrier of (Omega).V by VECTSP_4:def 4;
    hence thesis by STRUCT_0:def 5;
  end;
  then (Omega).V = Lin(C) by VECTSP_4:30;
  then
A13: the ModuleStr of V = Lin(C) by VECTSP_4:def 4;
A14: B is linearly-independent by VECTSP_7:def 3;
  then C is linearly-independent by A3,VECTSP_7:1;
  then
A15: C is Basis of V by A13,VECTSP_7:def 3;
  B c= C
  proof
    set D = B \ C;
    assume not B c= C;
    then ex v being object st v in B & not v in C;
    then reconsider D as non empty Subset of V by XBOOLE_0:def 5;
    reconsider B as Subset of V;
    C \/ (B \ C) = C \/ B by XBOOLE_1:39
      .= B by A3,XBOOLE_1:12;
    then B = C \/ D;
    hence contradiction by A14,A15,Th15,XBOOLE_1:79;
  end;
  then
A16: B = C by A3,XBOOLE_0:def 10;
  defpred P[set, object] means
ex L being Linear_Combination of B st $2 = Carrier
  (L) & Sum(L) = p.$1;
A17: for i being Nat st i in Seg len p ex x being object st P[i, x]
  proof
    let i be Nat;
    assume i in Seg len p;
    then i in dom p by FINSEQ_1:def 3;
    then p.i in the carrier of V by FINSEQ_2:11;
    then p.i in Lin(B) by Th10;
    then consider L being Linear_Combination of B such that
A18: p.i = Sum(L) by VECTSP_7:7;
    P[i, Carrier(L)] by A18;
    hence thesis;
  end;
  ex q being FinSequence st dom q = Seg len p & for i being Nat st i in
  Seg len p holds P[i, q.i] from FINSEQ_1:sch 1(A17);
  then consider q being FinSequence such that
A19: dom q = Seg len p and
A20: for i being Nat st i in Seg len p holds P[i, q.i];
A21: dom p = dom q by A19,FINSEQ_1:def 3;
A22: for i being Nat, y1, y2 st i in Seg len p & P[i, y1] & P[i, y2] holds
  y1 = y2
  proof
    let i be Nat, y1, y2;
    assume that
    i in Seg len p and
A23: P[i, y1] and
A24: P[i, y2];
    consider L1 being Linear_Combination of B such that
A25: y1 = Carrier(L1) & Sum(L1) = p.i by A23;
    consider L2 being Linear_Combination of B such that
A26: y2 = Carrier(L2) & Sum(L2) = p.i by A24;
    Carrier(L1) c= B & Carrier(L2) c= B by VECTSP_6:def 4;
    hence thesis by A14,A25,A26,MATRLIN:5;
  end;
  now
    let x be object;
    assume x in Car;
    then consider L being Linear_Combination of B such that
A27: x = Carrier(L) and
A28: ex i st i in dom p & Sum(L) = p.i;
    consider i such that
A29: i in dom p and
A30: Sum(L) = p.i by A28;
    P[i, q.i] by A19,A20,A21,A29;
    then x = q.i by A22,A19,A21,A27,A29,A30;
    hence x in rng q by A21,A29,FUNCT_1:def 3;
  end;
  then
A31: Car c= rng q;
  for R being set st R in Car holds R is finite
  proof
    let R be set;
    assume R in Car;
    then ex L being Linear_Combination of B st R = Carrier(L) & ex i st i in
    dom p & Sum(L) = p.i;
    hence thesis;
  end;
  hence thesis by A16,A31,FINSET_1:7;
end;
