reserve k,m,n for Nat,
  a, b, c for object,
  x, y, X, Y, Z for set,
  D for non empty set;
reserve p, q, r, s, t, u, v for FinSequence;
reserve P, Q, R, P1, P2, Q1, Q2, R1, R2 for FinSequence-membered set;
reserve S, T for non empty FinSequence-membered set;
reserve A for Function of P, NAT;
reserve U, V, W for Subset of P*;

theorem Th24:
  for P, A, n holds
      Polish-expression-hierarchy(P, A, n)
          c= Polish-expression-hierarchy(P, A, n+1)
proof
  let P, A, n;
  defpred S[ Nat ] means
      Polish-expression-hierarchy(P, A, $1)
          c= Polish-expression-hierarchy(P, A, $1+1);
  A1: S[ 0 ]
    proof
    set U = Polish-expression-hierarchy(P, A, 0);
    set V = Polish-expression-hierarchy(P, A, 1);
    A3: V = Polish-expression-hierarchy(P, A, 0+1)
        .= Polish-expression-layer(P, A, U) by Th23;
    U = Polish-atoms(P, A) by Def9;
    hence thesis by A3, Th19;
    end;
  A10: for k holds S[ k ] implies S[ k + 1 ]
  proof
    let k;
    assume A11: S[ k ];
    set U = Polish-expression-hierarchy(P, A, k);
    set V = Polish-expression-hierarchy(P, A, (k+1));
    A13: Polish-expression-hierarchy(P, A, k+1)
        = Polish-expression-layer(P, A, U) by Th23;
    Polish-expression-hierarchy(P, A, k+1+1)
        = Polish-expression-layer(P, A, V) by Th23;
    hence thesis by A11, A13, Th20;
  end;
  for k holds S[ k ] from NAT_1:sch 2(A1, A10);
  hence thesis;
end;
