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
  (A |^.. n)* = (A |^.. n)?
proof
  now
    let x be object;
    assume x in (A |^.. n)*;
    then consider k such that
A1: x in (A |^.. n) |^ k by FLANG_1:41;
    per cases;
    suppose
      k = 0;
      then x in (A |^.. n) |^ 0 \/ (A |^.. n) |^ 1 by A1,XBOOLE_0:def 3;
      hence x in (A |^.. n)? by FLANG_2:75;
    end;
    suppose
A2:   k > 0;
      then (A |^.. n) |^ k c= A |^.. (n * k) by Th19;
      then consider l such that
A3:   n * k <= l and
A4:   x in A |^ l by A1,Th2;
      k >= 0 + 1 by A2,NAT_1:13;
      then n * k >= n by XREAL_1:151;
      then l >= n by A3,XXREAL_0:2;
      then x in A |^.. n by A4,Th2;
      then x in (A |^.. n) |^ 1 by FLANG_1:25;
      then x in (A |^.. n) |^ 0 \/ (A |^.. n) |^ 1 by XBOOLE_0:def 3;
      hence x in (A |^.. n)? by FLANG_2:75;
    end;
  end;
  then
A5: (A |^.. n)* c= (A |^.. n)?;
  (A |^.. n)? c= (A |^.. n)* by FLANG_2:86;
  hence thesis by A5,XBOOLE_0:def 10;
end;
