reserve X, Y for non empty set;
reserve X for non empty set;
reserve R for RMembership_Func of X,X;

theorem
  for m,n being Nat holds (m*n) iter R = m iter (n iter R)
proof
  let m,n be Nat;
  defpred P[Nat] means ($1 * n) iter R = $1 iter (n iter R);
A1: for m being Nat st P[m] holds P[m+1]
  proof
    let m be Nat;
    assume
A2: (m*n) iter R = m iter (n iter R);
A3: (m+1) iter (n iter R) = (m iter (n iter R)) (#) (1 iter (n iter R)) by Th27
      .= (m iter (n iter R)) (#) (n iter R) by Th25;
    ((m+1)*n) iter R = (m*n + 1*n) iter R
      .= (m iter (n iter R)) (#) (n iter R) by A2,Th27;
    hence thesis by A3;
  end;
  (0*n) iter R = Imf(X,X) by Th24
    .= 0 iter (n iter R) by Th24;
  then
A4: P[0];
  for m being Nat holds P[m] from NAT_1:sch 2(A4,A1);
  hence thesis;
end;
