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