 reserve m,n for Nat;
 reserve i,j for Integer;
 reserve S for non empty multMagma;
 reserve r,r1,r2,s,s1,s2,t for Element of S;
 reserve G for Group-like non empty multMagma;
 reserve e,h for Element of G;
 reserve G for Group;
 reserve f,g,h for Element of G;
 reserve u for UnOp of G;

theorem Th32:
  h |^ (i + j) = (h |^ i) * (h |^ j)
proof
  defpred P[Integer] means for i holds h |^ (i + $1) = h |^ i * (h |^ $1);
A1: for j holds P[j] implies P[j - 1] & P[j + 1]
  proof
    let j;
    assume
A2: for i holds h |^ (i + j) = h |^ i * (h |^ j);
    thus for i holds h |^ (i + (j - 1)) = h |^ i * (h |^ (j - 1))
    proof
      let i;
      thus h |^ (i + (j - 1)) = h |^ ((i - 1) + j)
        .= h |^ (i - 1) * (h |^ j) by A2
        .= h |^ i * (h |^ (-1)) * (h |^ j) by Lm14
        .= h |^ i * ((h |^ (-1)) * (h |^ j)) by Def3
        .= h |^ i * (h |^ (j + (-1))) by A2
        .= h |^ i * (h |^ (j - 1));
    end;
    let i;
    thus h |^ (i + (j + 1)) = h |^ ((i + 1) + j)
      .= h |^ (i + 1) * (h |^ j) by A2
      .= h |^ i * (h |^ 1) * (h |^ j) by Lm16
      .= h |^ i * ((h |^ 1) * (h |^ j)) by Def3
      .= h |^ i * (h |^ (j + 1)) by A2;
  end;
A3: P[0]
  proof
    let i;
    thus h |^ (i + 0) = h |^ i * 1_G by Def4
      .= h |^ i * (h |^ 0) by Def7;
  end;
  for j holds P[j] from INT_1:sch 4(A3,A1);
  hence thesis;
end;
