reserve x, y, y1, y2 for object;
reserve V for Z_Module;
reserve W, W1, W2 for Submodule of V;
reserve u, v for VECTOR of V;
reserve i, j, k, n for Element of NAT;

theorem
  for V being Z_Module holds
  V is torsion-free iff torsion_part(V) = (0).V
  proof
    let V be Z_Module;
    set W = torsion_part(V);
    hereby
      assume A1: V is torsion-free;
      for x being object holds x in the carrier of W implies x in {0.V}
      proof
        let x be object;
        assume B11: x in the carrier of W;
        then B1: x in W;
        reconsider xx = x as VECTOR of V by B11,ZMODUL01:25;
        xx is torsion by B1,LmTP1;
        then x = 0.V by A1;
        hence x in {0.V} by TARSKI:def 1;
      end;
      then A3: the carrier of W c= {0.V};
      0.V in W by ZMODUL01:33;
      then {0.V} c= the carrier of W by ZFMISC_1:31;
      hence W = (0).V by A3,XBOOLE_0:def 10,VECTSP_4:def 3;
    end;
    assume W = (0).V;
    then A2: the carrier of W = {0.V} by VECTSP_4:def 3;
    for v being VECTOR of V holds
    v is torsion implies v = 0.V
    proof
      let v be VECTOR of V;
      assume v is torsion;
      then v in W by LmTP1;
      hence v = 0.V by A2,TARSKI:def 1;
    end;
    hence V is torsion-free;
  end;
