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

theorem FRds2:
  for V being Z_Module, W1, W2 being free Subspace of V,
  I1 being Basis of W1, I2 being Basis of W2, I being Subset of V
  st V is_the_direct_sum_of W1,W2 & I = I1 \/ I2
  holds Lin(I) = the ModuleStr of V
  proof
    let V being Z_Module, W1, W2 being free Subspace of V,
    I1 being Basis of W1, I2 being Basis of W2, I being Subset of V such that
    A1: V is_the_direct_sum_of W1,W2 and
    A2: I = I1 \/ I2;
    the carrier of W1 c= the carrier of V by VECTSP_4:def 2;
    then reconsider II1 = I1 as Subset of V by XBOOLE_1:1;
    the carrier of W2 c= the carrier of V by VECTSP_4:def 2;
    then reconsider II2 = I2 as Subset of V by XBOOLE_1:1;
    A5: the ModuleStr of W1 = Lin(I1) by VECTSP_7:def 3
    .= Lin(II1) by ZMODUL03:20;
    A6: the ModuleStr of W2 = Lin(I2) by VECTSP_7:def 3
    .= Lin(II2) by ZMODUL03:20;
    for x be Vector of V holds x in W1+W2 iff x in Lin(II1) + Lin(II2)
    proof
      let x be Vector of V;
      hereby
        assume x in W1+W2;
        then consider x1, x2 be Vector of V such that
        B1: x1 in W1 & x2 in W2 & x = x1 + x2 by VECTSP_5:1;
        B2: x1 in Lin(II1) by A5,B1;
        x2 in Lin(II2) by A6,B1;
        hence x in Lin(II1) + Lin(II2) by B1,B2,VECTSP_5:1;
      end;
      assume x in Lin(II1) + Lin(II2);
      then consider x1, x2 be Vector of V such that
      B1: x1 in Lin(II1) & x2 in Lin(II2) & x = x1 + x2 by VECTSP_5:1;
      B2: x1 in W1 by A5,B1;
      x2 in W2 by A6,B1;
      hence x in W1 + W2 by B1,B2,VECTSP_5:1;
    end; then
    A7: W1 + W2 = Lin(II1) + Lin(II2) by VECTSP_4:30;
    thus the ModuleStr of V = W1 + W2 by A1,VECTSP_5:def 4
    .= Lin(I) by A2,A7,ZMODUL02:72;
  end;
