reserve E, x, y, X for set;
reserve A, B, C for Subset of E^omega;
reserve a, a1, a2, b for Element of E^omega;
reserve i, k, l, m, n for Nat;

theorem Th24:
  (A |^ k) ^^ (A |^.. n) = (A |^.. n) ^^ (A |^ k)
proof
  defpred P[Nat] means (A |^ $1) ^^ (A |^.. n) = (A |^.. n) ^^ (A |^ $1);
A1: now
    let k;
    assume
A2: P[k];
    (A |^ (k + 1)) ^^ (A |^.. n) = ((A |^ k) ^^ A) ^^ (A |^.. n) by FLANG_1:23
      .= (A ^^ (A |^ k)) ^^ (A |^.. n) by FLANG_1:32
      .= A ^^ ((A |^.. n) ^^ (A |^ k)) by A2,FLANG_1:18
      .= (A ^^ (A |^.. n)) ^^ (A |^ k) by FLANG_1:18
      .= (A |^.. n) ^^ A ^^ (A |^ k) by Th23
      .= (A |^.. n) ^^ (A ^^ (A |^ k)) by FLANG_1:18
      .= (A |^.. n) ^^ ((A |^ k) ^^ A) by FLANG_1:32
      .= (A |^.. n) ^^ (A |^ (k + 1)) by FLANG_1:23;
    hence P[k + 1];
  end;
  (A |^ 0) ^^ (A |^.. n) = {<%>E} ^^ (A |^.. n) by FLANG_1:24
    .= (A |^.. n) by FLANG_1:13
    .= (A |^.. n) ^^ {<%>E} by FLANG_1:13
    .= (A |^.. n) ^^ (A |^ 0) by FLANG_1:24;
  then
A3: P[0];
  for k holds P[k] from NAT_1:sch 2(A3, A1);
  hence thesis;
end;
