reserve X for set,
        n,m,k for Nat,
        K for Field,
        f for n-element real-valued FinSequence,
        M for Matrix of n,m,F_Real;

theorem Th80:
  for W be RealLinearSpace,
      X be set
  holds
    X is Basis of RLSp2RVSp(W)
      iff
    X is Basis of W
  proof
    let W be RealLinearSpace,
        X be set;
    set V = RLSp2RVSp(W);

    hereby
      assume X is Basis of V;
      then reconsider A = X as Basis of V;
      reconsider B = A as Subset of W;

      A is linearly-independent
        &
      Lin A = ModuleStr(# the carrier of V,
                          the addF of V,
                          the ZeroF of V,
                          the lmult of V #) by VECTSP_7:def 3;

      then
      A1: B is linearly-independent by Th78;

      set W0 = Lin B;

      A2: the carrier of W0 c= the carrier of W
        & 0. W0 = 0. W
        & the addF of W0 = (the addF of W) || (the carrier of W0)
        & the Mult of W0 = (the Mult of W) | [:REAL, the carrier of W0:]
          by RLSUB_1:def 2;

      A3: the carrier of W0
      = [#] W0
      .= [#] Lin A by Th77
      .= the carrier of W by VECTSP_7:def 3;

      thus X is Basis of W by A2,A3,A1,RLVECT_3:def 3;
    end;
    assume X is Basis of W; then
    reconsider A = X as Basis of W;
    reconsider B = A as Subset of V;

    A4: A is linearly-independent
      & Lin A = RLSStruct(# the carrier of W,
                            the ZeroF of W,
                            the addF of W,
                            the Mult of W #) by RLVECT_3:def 3;
    then
    A5: B is linearly-independent by Th78;

    set V0 = Lin B;

    A6: the carrier of V0 c= the carrier of V
      & 0. V0 = 0. V
      & the addF of V0 = (the addF of V) || the carrier of V0
      & the lmult of V0 = (the lmult of V) |
        [: the carrier of F_Real, the carrier of V0:] by VECTSP_4:def 2;

    the carrier of V0
     = [#] V0
    .= [#] Lin A by Th77
    .= the carrier of V by A4;

    hence X is Basis of V by A5,A6,VECTSP_7:def 3;
  end;
