reserve a,b,c,d for Ordinal;
reserve l for non empty limit_ordinal Ordinal;
reserve u for Element of l;
reserve A for non empty Ordinal;
reserve e for Element of A;
reserve X,Y,x,y,z for set;
reserve n,m for Nat;
reserve f for Ordinal-Sequence;

theorem Th36:
  f is normal & union X in dom f & X is non empty &
  (for x st x in X ex y st x c= y & y in X & y is_a_fixpoint_of f)
  implies union X = f.union X
  proof assume that
A1: f is normal and
A2: union X in dom f & X is non empty and
A3: for x st x in X ex y st x c= y & y in X & y is_a_fixpoint_of f;
    reconsider l = union X as Ordinal by A2;
    per cases;
    suppose
      ex a st a in X & for b st b in X holds b c= a; then
      consider a such that
A4:   a in X & for b st b in X holds b c= a;
      now
        let x; assume
        x in X; then
        consider y such that
A5:     x c= y & y in X & y is_a_fixpoint_of f by A3;
        y c= a by A4,A5;
        hence x c= a by A5;
      end; then
      union X c= a & a c= union X by A4,ZFMISC_1:74,76; then
A6:   union X = a; then
      consider y such that
A7:   union X c= y & y in X & y is_a_fixpoint_of f by A3,A4;
      y c= union X by A6,A7,A4; then
      y = union X by A7;
      hence union X = f.union X by A7;
    end;
    suppose
A8:   not ex a st a in X & for b st b in X holds b c= a;
      set y0 = the Element of X;
      consider x0 being set such that
A9:   y0 c= x0 & x0 in X & x0 is_a_fixpoint_of f by A2,A3;
      consider b such that
A10:   b in X & b c/= x0 by A9,A8;
      now
        let a; assume a in l; then
        consider x such that
A11:     a in x & x in X by TARSKI:def 4;
        consider y such that
A12:     x c= y & y in X & y is_a_fixpoint_of f by A3,A11;
        consider b such that
A13:     b in X & b c/= y by A8,A12;
        succ a c= y & y in b by A11,A12,A13,Th4,ORDINAL1:21; then
        succ a in b by ORDINAL1:12;
        hence succ a in l by A13,TARSKI:def 4;
      end; then
      reconsider l as non empty limit_ordinal Ordinal
      by A10,ORDINAL1:28,TARSKI:def 4;
      thus union X c= f.union X by A2,A1,ORDINAL4:10;
      reconsider g = f|l as increasing Ordinal-Sequence by A1,ORDINAL4:15;
      l c= dom f by A2,ORDINAL1:def 2; then
A14:   dom g = l by RELAT_1:62; then
A15:   Union g is_limes_of g by ORDINAL5:6;
      f.l is_limes_of g by A1,A2,ORDINAL2:def 13; then
A16:   f.l = lim g & Union g = lim g by A15,ORDINAL2:def 10;
      let x be object; assume x in f.union X; then
      consider z being object such that
A17:   z in dom g & x in g.z by A16,CARD_5:2;
      consider y such that
A18:   z in y & y in X by A14,A17,TARSKI:def 4;
      consider t being set such that
A19:   y c= t & t in X & t is_a_fixpoint_of f by A18,A3;
A20:   t in dom f & t = f.t by A19; then
      reconsider z,t as Ordinal by A17;
      f.z = g.z & z in t by A17,A18,A19,FUNCT_1:47; then
      g.z in t by A1,A20,ORDINAL2:def 12; then
      x in t by A17,ORDINAL1:10;
      hence x in union X by A19,TARSKI:def 4;
    end;
  end;
