reserve
  a,b,c,d,e for Ordinal,
  m,n for Nat,
  f for Ordinal-Sequence,
  x for object;
reserve S,S1,S2 for Sequence;

theorem Th23:
  0 in a & 0 in b implies a c= a |^|^ b proof assume
A1: 0 in a & 0 in b;
    defpred J[Ordinal] means 0 in $1 implies a c= a |^|^ $1;
A2: J[0];
A3: now let b; assume
A4:   J[b];
A5:   a |^|^ succ b = exp(a, a |^|^ b) by Th14;
A6:   succ 0 = 0+1;
      thus J[succ b]
      proof
        per cases by ORDINAL3:8;
        suppose 0 in b; then
          1 c= a |^|^ b by A6,A1,A4,ORDINAL1:21; then
          exp(a, 1) c= exp(a, a |^|^ b) by A1,ORDINAL4:27;
          hence thesis by A5,ORDINAL2:46;
        end;
        suppose
          b = 0; then
          a |^|^ b = 1 by Th13;
          hence thesis by A5,ORDINAL2:46;
        end;
      end;
    end;
A7: now let c such that
A8:   c <> 0 & c is limit_ordinal & for b st b in c holds J[b];
      deffunc F(Ordinal) = a |^|^ $1;
      consider phi being Ordinal-Sequence such that
A9:   dom phi = c & for b st b in c holds phi.b = F(b) from ORDINAL2:sch 3;
      phi is non-decreasing
      proof
        let e,b; assume
A10:     e in b & b in dom phi; then
A11:     phi.b = F(b) & e in c by A9,ORDINAL1:10; then
        phi.e = F(e) & e c= b by A9,A10,ORDINAL1:def 2;
        hence thesis by A1,A11,Th21;
      end; then
A12:   Union phi is_limes_of phi by A8,A9,Th6;
      lim phi = F(c) by A8,A9,Th15; then
A13:   F(c) = Union phi by A12,ORDINAL2:def 10;
      thus J[c]
      proof
        assume 0 in c; then
        succ 0 in c by A8,ORDINAL1:28; then
        phi.1 in rng phi & phi.1 = F(1) & F(1) = a by A9,Th16,FUNCT_1:def 3;
        hence thesis by A13,ZFMISC_1:74;
      end;
    end;
    for b holds J[b] from ORDINAL2:sch 1(A2,A3,A7);
    hence thesis by A1;
  end;
