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