 reserve x, y, y1, y2 for set;
 reserve V for Z_Module;
 reserve u, v, w for Vector of V;
 reserve F, G, H, I for FinSequence of V;
 reserve W, W1, W2, W3 for Submodule of V;

theorem Th2:
  for G be Z_Module, i being Element of INT.Ring,
  w be Element of INT, v be Element of G
  st G = ModuleStr(# the carrier of INT.Ring, the addF of INT.Ring,
    the ZeroF of INT.Ring, Int-mult-left(INT.Ring) #) & v = w
  holds i*v = i*w
  proof
    let G be Z_Module, i be Element of INT.Ring,
    w be Element of INT, v be Element of G;
    assume A1: G = ModuleStr(# the carrier of INT.Ring,
    the addF of INT.Ring, the ZeroF of INT.Ring,
    Int-mult-left(INT.Ring) #) & v = w;
    reconsider r = v as Element of INT.Ring by A1;
    per cases;
    suppose 0 <= i;
      then reconsider n=i as Element of NAT by INT_1:3;
      thus i*v = n*r by A1,ZMODUL01:def 20
      .= i*w by A1,Lm1;
    end;
    suppose A2: not 0 <= i;
      then reconsider n = -i as Element of NAT by INT_1:3;
      thus i*v = n*(-r) by A1,A2,ZMODUL01:def 20
      .= (-i)*(-r) by Lm1
      .= i*w by A1;
    end;
  end;
