 reserve RNS1,RNS2 for RealLinearSpace;

theorem Th20:
the RLSStruct of RNS1 = the RLSStruct of RNS2
implies
for X be set
  holds
  X is Basis of RNS1
    iff
  X is Basis of RNS2
proof
assume A1:the RLSStruct of RNS1 = the RLSStruct of RNS2;
let X be set;
set V = RNS1;
set W = RNS2;
hereby assume
  X is Basis of V; then
  reconsider A = X as Basis of V;
  reconsider B = A as Subset of W by A1;
  A is linearly-independent
    & Lin A = RLSStruct(# the carrier of V, the ZeroF of V,
                          the addF of V, the Mult of V #) by RLVECT_3:def 3;
  then
  A3: B is linearly-independent by A1,Th17;
  set W0 = (Omega).W;
  A4: W0 = RLSStruct(# the carrier of W, the ZeroF of W,
                       the addF of W, the Mult of W #) by RLSUB_1:def 4;
  A5: Lin B is strict Subspace of W0 by REAL_NS2:49;
  A6: [#]Lin A = the carrier of W by A1,RLVECT_3:def 3;
  the carrier of Lin B = [#](Lin B)
                      .= the carrier of W0 by Th16,A1,A6,A4; then
  Lin B = W0 by A5,RLSUB_1:32
       .= RLSStruct(# the carrier of W, the ZeroF of W,
                      the addF of W, the Mult of W #) by RLSUB_1:def 4;
  hence X is Basis of W by A3, 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 by A1;
  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
A8: B is linearly-independent by A1,Th17;
set V0 = (Omega).V;
A9: V0 = RLSStruct(# the carrier of V, the ZeroF of V,
                     the addF of V, the Mult of V #) by RLSUB_1:def 4;
A10: Lin B is strict Subspace of V0 by REAL_NS2:49;
A11: [#]Lin A = the carrier of V by A1,RLVECT_3:def 3;
the carrier of Lin B = [#](Lin B)
                    .= the carrier of V0 by A9,Th16,A11,A1; then
Lin B = V0 by A10,RLSUB_1:32
     .= RLSStruct(# the carrier of V, the ZeroF of V,
                    the addF of V, the Mult of V #) by RLSUB_1:def 4;
hence X is Basis of V by A8,RLVECT_3:def 3;
end;
