deffunc H1( Ordinal, set ) -> Element of bool (bool $2) = bool $2;
deffunc H2( Ordinal, Sequence) -> set = union (rng $2);
( ex x being object ex L being Sequence st
( x = last L & dom L = succ A & L . 0 = {} & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = H1(C,L . C) ) & ( for C being Ordinal st C in succ A & C <> 0 & C is limit_ordinal holds
L . C = H2(C,L | C) ) ) & ( for x1, x2 being set st ex L being Sequence st
( x1 = last L & dom L = succ A & L . 0 = {} & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = H1(C,L . C) ) & ( for C being Ordinal st C in succ A & C <> 0 & C is limit_ordinal holds
L . C = H2(C,L | C) ) ) & ex L being Sequence st
( x2 = last L & dom L = succ A & L . 0 = {} & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = H1(C,L . C) ) & ( for C being Ordinal st C in succ A & C <> 0 & C is limit_ordinal holds
L . C = H2(C,L | C) ) ) holds
x1 = x2 ) )
from ORDINAL2:sch 7();
hence
( ex b1 being set ex L being Sequence st
( b1 = last L & dom L = succ A & L . 0 = {} & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = bool (L . C) ) & ( for C being Ordinal st C in succ A & C <> 0 & C is limit_ordinal holds
L . C = union (rng (L | C)) ) ) & ( for b1, b2 being set st ex L being Sequence st
( b1 = last L & dom L = succ A & L . 0 = {} & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = bool (L . C) ) & ( for C being Ordinal st C in succ A & C <> 0 & C is limit_ordinal holds
L . C = union (rng (L | C)) ) ) & ex L being Sequence st
( b2 = last L & dom L = succ A & L . 0 = {} & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = bool (L . C) ) & ( for C being Ordinal st C in succ A & C <> 0 & C is limit_ordinal holds
L . C = union (rng (L | C)) ) ) holds
b1 = b2 ) )
; verum