reserve x, y, z, s for ExtReal;
reserve i, j for Integer;
reserve n, m for Nat;
reserve x, y, v, u for ExtInt;
reserve
  D for non empty doubleLoopStr,
  A for Subset of D;
reserve K for Field-like non degenerated
  associative add-associative right_zeroed right_complementable
  distributive Abelian non empty doubleLoopStr,
  a, b, c for Element of K;

theorem
  a |^ (n + m) = (a |^ n) * (a |^ m)
  proof
    defpred P[Nat] means
    for n holds a |^ (n + $1) = (a |^ n) * (a |^ $1);
A1: P[0] proof let n;
    thus a |^ (n + 0) = a |^ n * 1_K
    .= a |^ n * (a |^ 0) by GROUP_1:def 7;
  end;
A2: for m st P[m] holds P[m+1]
    proof let m;
      assume
A3:   for n holds a |^ (n + m) = a |^ n * (a |^ m);
      let n;
      thus a |^ (n + (m + 1)) = a |^ (n + m + 1)
      .= a |^ (n + m) * a by Lm2
      .= a |^ n * (a |^ m) * a by A3
      .= a |^ n * (a |^ m * a) by GROUP_1:def 3
      .= a |^ n * (a |^ (m + 1)) by Lm2;
    end;
    for m holds P[m] from NAT_1:sch 2(A1,A2);
    hence thesis;
  end;
