 reserve R for Ring;
 reserve x, y, y1 for set;
 reserve a, b for Element of R;
 reserve V for LeftMod of R;
 reserve v, w for Vector of V;
 reserve u,v,w for Vector of V;
 reserve F,G,H,I for FinSequence of V;
 reserve j,k,n for Nat;
 reserve f,f9,g for sequence of V;
 reserve R for Ring;
 reserve V, X, Y for LeftMod of R;
 reserve u, u1, u2, v, v1, v2 for Vector of V;
 reserve a for Element of R;
 reserve V1, V2, V3 for Subset of V;
 reserve x for set;
 reserve W, W1, W2 for Submodule of V;
 reserve w, w1, w2 for Vector of W;
 reserve D for non empty set;
 reserve d1 for Element of D;
 reserve A for BinOp of D;
 reserve M for Function of [:the carrier of R,D:],D;
reserve B,C for Coset of W;
 reserve V for LeftMod of R;
 reserve W, W1, W2, W3 for Submodule of V;
 reserve u, u1, u2, v, v1, v2 for Vector of V;
 reserve a, a1, a2 for Element of R;
 reserve X, Y, y, y1, y2 for set;
 reserve C for Coset of W;
 reserve C1 for Coset of W1;
 reserve C2 for Coset of W2;
reserve A1,A2,B for Element of Submodules(V);

theorem Th158:
  for R being Abelian right_zeroed add-associative right_complementable
         non empty addLoopStr,
  a being Element of R, i, j being Element of INT.Ring
  st i in NAT & not j in NAT
  holds (Int-mult-left(R)).(i+j,a)
  = (Int-mult-left(R)).(i,a) + (Int-mult-left(R)).(j,a)
  proof
    let R be Abelian right_zeroed add-associative
      right_complementable non empty addLoopStr,
    a be Element of R, i, j be Element of INT.Ring;
    reconsider jj = j, ii = i, ij = i+j as Element of INT;
    assume A1: i in NAT & not j in NAT; then
    reconsider i1=i as Element of NAT;
A2: jj < 0 by A1,INT_1:3; then
    reconsider j1=-jj as Element of NAT by INT_1:3;
    per cases;
    suppose A4: j1 <= i1;
      reconsider k1=i1-j1 as Element of NAT by A4,INT_1:5;
      set IT = Int-mult-left(R);
W1:   (Int-mult-left(R)).(jj,a) = (Nat-mult-left(R)).(-j,-a) by A2,Def23;
      thus (Int-mult-left(R)).(i+j,a) = (Nat-mult-left(R)).(k1,a) by Def23
      .= (Nat-mult-left(R)).(i1,a) - (Nat-mult-left(R)).(j1,a) by Th156,A4
      .=(Nat-mult-left(R)).(i1,a) + (Nat-mult-left(R)).(j1,-a) by Th157
      .=(Int-mult-left(R)).(i,a) + (Nat-mult-left(R)).(j1,-a) by Def23
      .=(Int-mult-left(R)).(i,a) + (Int-mult-left(R)).(j,a) by W1;
    end;
    suppose A5: j1 > i1; then
      reconsider k1=j1-i1 as Element of NAT by INT_1:5;
      A6: i1-j1 < 0 by A5,XREAL_1:49;
Z1:   (Int-mult-left(R)).(j,a) = (Nat-mult-left(R)).(-j,-a) by Def23,A2;
      thus (Int-mult-left(R)).(i+j,a)
       = (Nat-mult-left(R)).(-(i+j),-a) by A6,Def23
      .= (Nat-mult-left(R)).(k1,-a)
      .= (Nat-mult-left(R)).(j1,-a) - (Nat-mult-left(R)).(i1,-a)
      by Th156,A5
      .=(Nat-mult-left(R)).(j1,-a) + (Nat-mult-left(R)).(i1,-(-a))
      by Th157
      .=(Nat-mult-left(R)).(j1,-a) + (Nat-mult-left(R)).(i1,a)
      by RLVECT_1:17
      .=(Int-mult-left(R)).(j,a) + (Int-mult-left(R)).(i,a)
      by Def23,Z1
      .=(Int-mult-left(R)).(i,a) + (Int-mult-left(R)).(j,a);
    end;
  end;
