deffunc H1( object ) -> set = {$1};
defpred S1[ object ] means $1 is Ordinal;
let X be set ; ex R being Relation st R well_orders X
consider Class being set such that
A1:
X in Class
and
A2:
for Y, Z being set st Y in Class & Z c= Y holds
Z in Class
and
for Y being set st Y in Class holds
bool Y in Class
and
A3:
for Y being set holds
( not Y c= Class or Y,Class are_equipotent or Y in Class )
by ZFMISC_1:112;
consider ON being set such that
A4:
for x being object holds
( x in ON iff ( x in Class & S1[x] ) )
from XBOOLE_0:sch 1();
for Y being set st Y in ON holds
( Y is Ordinal & Y c= ON )
then reconsider ON = ON as epsilon-transitive epsilon-connected set by ORDINAL1:19;
A8:
ON c= Class
by A4;
A9:
ON,Class are_equipotent
field (RelIncl ON) = ON
by Def1;
then consider R being Relation such that
A10:
R well_orders Class
by A9, Lm1;
consider f being Function such that
A11:
( dom f = X & ( for x being object st x in X holds
f . x = H1(x) ) )
from FUNCT_1:sch 3();
A12:
rng f c= Class
A16:
X, rng f are_equipotent
set Q = R |_2 Class;
field (R |_2 Class) = Class
by A10, Th10;
then A19:
field ((R |_2 Class) |_2 (rng f)) = rng f
by A10, A12, Th10, WELLORD1:31;
R |_2 Class is well-ordering
by A10, Th10;
hence
ex R being Relation st R well_orders X
by A16, A19, Lm1, WELLORD1:25; verum