
theorem Th16:
  for R being right_zeroed add-associative non empty addLoopStr,
a being Element of R, n,m being Element of NAT holds a * (n + m) = a * n + a *
  m
proof
  let R be right_zeroed add-associative non empty addLoopStr, a be Element
  of R, n,m be Element of NAT;
  defpred P[Nat] means a * (n + $1) = a * n + a * $1;
A1: now
    let k be Nat;
    assume
A2: P[k];
    reconsider kk=k as Element of NAT by ORDINAL1:def 12;
    a * (n + (k+1)) = a * ((n+kk) + 1) .= (a * n + a * kk) + a by A2,Def4
      .= a * n + (a * k + a) by RLVECT_1:def 3
      .= a * n + a * (kk+1) by Def4;
    hence P[k+1];
  end;
  a * (n + 0) = a * n + 0.R by RLVECT_1:def 4
    .= a * n + a * 0 by Def4;
  then
A3: P[0];
  for m being Nat holds P[m] from NAT_1:sch 2(A3,A1);
  hence thesis;
end;
