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

theorem Th42:
  (A |^ k) |^ (m, n) c= A |^ (k * m, k * n)
proof
  per cases;
  suppose
A1: m <= n;
    defpred P[Nat] means (A |^ $1) |^ (m, n) c= A |^ ($1 * m, $1 * n);
A2: now
      let l;
A3:   l * m <= l * n by A1,XREAL_1:64;
      assume P[l];
      then
A4:   ((A |^ l) |^ (m, n)) ^^ ((A |^ 1) |^ (m, n)) c= (A |^ (l * m, l * n)
      ) ^^ ((A |^ 1) |^ (m, n)) by FLANG_1:17;
      (A |^ (l + 1)) |^ (m, n) c= ((A |^ l) |^ (m, n)) ^^ (A |^ (m, n)) by Th41
;
      then
A5:   (A |^ (l + 1)) |^ (m, n) c= ((A |^ l) |^ (m, n)) ^^ ((A |^ 1) |^ (m,
      n)) by FLANG_1:25;
      (A |^ (l * m, l * n)) ^^ ((A |^ 1) |^ (m, n)) = (A |^ (l * m, l * n
      )) ^^ (A |^ (m, n)) by FLANG_1:25
        .= A |^ (l * m + m, l * n + n) by A1,A3,Th37
        .= A |^ ((l + 1) * m, (l + 1) * n);
      hence P[l + 1] by A5,A4,XBOOLE_1:1;
    end;
    (A |^ 0) |^ (m, n) = {<%>E} |^ (m, n) by FLANG_1:24
      .= {<%>E} by A1,Th31
      .= A |^ 0 by FLANG_1:24
      .= A |^ (0 * m, 0 * n) by Th22;
    then
A6: P[0];
    for l holds P[l] from NAT_1:sch 2(A6, A2);
    hence thesis;
  end;
  suppose
    m > n;
    then (A |^ k) |^ (m, n) = {} by Th21;
    hence thesis;
  end;
end;
