theorem Th160:
  for R being Abelian right_zeroed add-associative
  right_complementable non empty addLoopStr,
  a, b being Element of R, i being Element of NAT
  holds (Nat-mult-left(R)).(i,a+b)
  = (Nat-mult-left(R)).(i,a) + (Nat-mult-left(R)).(i,b)
  proof
    let R be Abelian right_zeroed add-associative right_complementable
    non empty addLoopStr,
    a, b be Element of R, i being Element of NAT;
    defpred P[Nat] means (Nat-mult-left(R)).($1,a+b)
    = (Nat-mult-left(R)).($1,a) + (Nat-mult-left(R)).($1,b);
    A1: P[0]
    proof
      (Nat-mult-left(R)).(0,a+b) = 0.R by BINOM:def 3
      .= 0.R + 0.R by RLVECT_1:4
      .= (Nat-mult-left(R)).(0,a) + 0.R by BINOM:def 3
      .= (Nat-mult-left(R)).(0,a) + (Nat-mult-left(R)).(0,b) by BINOM:def 3;
      hence thesis;
    end;
    A2: for n be Nat st P[n] holds P[n+1]
    proof
      let n be Nat;
      assume A3:P[n];
      (Nat-mult-left(R)).(n+1,a+b)
      =(a+b) + (Nat-mult-left(R)).(n,a+b) by BINOM:def 3
      .= (a+b) + (Nat-mult-left(R)).(n,a) + (Nat-mult-left(R)).(n,b)
      by A3,RLVECT_1:def 3
      .= a+ (Nat-mult-left(R)).(n,a) + b + (Nat-mult-left(R)).(n,b)
      by RLVECT_1:def 3
      .= (Nat-mult-left(R)).(n+1,a) + b + (Nat-mult-left(R)).(n,b)
      by BINOM:def 3
      .= (Nat-mult-left(R)).(n+1,a) + (b + (Nat-mult-left(R)).(n,b))
      by RLVECT_1:def 3
      .= (Nat-mult-left(R)).(n+1,a) + (Nat-mult-left(R)).(n+1,b)
      by BINOM:def 3;
      hence P[n+1];
    end;
    for n be Nat holds P[n] from NAT_1:sch 2(A1,A2);
    hence thesis;
  end;
