:: SURREALR semantic presentation

definition
let f be Function;
redefine attr f is Function-yielding means :Def1: :: SURREALR:def 1
rng f is functional ;
compatibility
( f is Function-yielding iff rng f is functional )
proof
thus ( f is Function-yielding implies rng f is functional ) :: thesis: ( rng f is functional implies f is Function-yielding )
proof
assume A1: f is Function-yielding ; :: thesis: rng f is functional
let o be object ; :: according to FUNCT_1:def 13 :: thesis: ( not o in rng f or o is set )
assume o in rng f ; :: thesis: o is set
then ex x being object st
( x in dom f & f . x = o )
by FUNCT_1:def 3;
hence o is set by A1; :: thesis: verum
end;
assume A2: rng f is functional ; :: thesis: f is Function-yielding
now :: thesis: for o being object st o in dom f holds
f . o is Function
let o be object ; :: thesis: ( o in dom f implies f . o is Function )
assume o in dom f ; :: thesis: f . o is Function
then f . o in rng f by FUNCT_1:def 3;
hence f . o is Function by A2; :: thesis: verum
end;
hence f is Function-yielding by FUNCOP_1:def 6; :: thesis: verum
end;
end;

:: deftheorem Def1 defines Function-yielding SURREALR:def 1 :
for f being Function holds
( f is Function-yielding iff rng f is functional );

registration
cluster Relation-like Function-like Function-yielding Sequence-like c=-monotone for set ;
existence
ex b1 being Sequence st
( b1 is c=-monotone & b1 is Function-yielding )
proof
take F = {} ; :: thesis: ( F is c=-monotone & F is Function-yielding )
for a, b being set st a in dom F & b in dom F & a c= b holds
F . a c= F . b
;
hence ( F is c=-monotone & F is Function-yielding ) by COHSP_1:def 11; :: thesis: verum
end;
end;

registration
let f be c=-monotone Function;
let X be set ;
cluster f | X -> c=-monotone ;
coherence
f | X is c=-monotone
proof
for a, b being set st a in dom (f | X) & b in dom (f | X) & a c= b holds
(f | X) . a c= (f | X) . b
proof
let a, b be set ; :: thesis: ( a in dom (f | X) & b in dom (f | X) & a c= b implies (f | X) . a c= (f | X) . b )
assume that
A1: ( a in dom (f | X) & b in dom (f | X) ) and
A2: a c= b ; :: thesis: (f | X) . a c= (f | X) . b
( a in dom f & b in dom f ) by A1, RELAT_1:57;
then ( (f | X) . a = f . a & f . a c= f . b ) by A1, A2, COHSP_1:def 11, FUNCT_1:47;
hence (f | X) . a c= (f | X) . b by A1, FUNCT_1:47; :: thesis: verum
end;
hence f | X is c=-monotone by COHSP_1:def 11; :: thesis: verum
end;
end;

registration
let f be Function-yielding c=-monotone Sequence;
cluster union (rng f) -> Relation-like Function-like ;
coherence
( union (rng f) is Function-like & union (rng f) is Relation-like )
proof
set U = union (rng f);
union (rng f) is Relation-like
proof
let x be object ; :: according to RELAT_1:def 1 :: thesis: ( not x in union (rng f) or ex b1, b2 being object st x = [b1,b2] )
assume x in union (rng f) ; :: thesis: ex b1, b2 being object st x = [b1,b2]
then consider Y being set such that
A1: ( x in Y & Y in rng f ) by TARSKI:def 4;
consider X being object such that
A2: ( X in dom f & f . X = Y ) by A1, FUNCT_1:def 3;
thus ex b1, b2 being object st x = [b1,b2] by A1, A2, RELAT_1:def 1; :: thesis: verum
end;
then reconsider U = union (rng f) as Relation ;
for x, y1, y2 being object st [x,y1] in U & [x,y2] in U holds
y1 = y2
proof
let x, y1, y2 be object ; :: thesis: ( [x,y1] in U & [x,y2] in U implies y1 = y2 )
assume A3: ( [x,y1] in U & [x,y2] in U ) ; :: thesis: y1 = y2
consider Y1 being set such that
A4: ( [x,y1] in Y1 & Y1 in rng f ) by A3, TARSKI:def 4;
consider z1 being object such that
A5: ( z1 in dom f & f . z1 = Y1 ) by FUNCT_1:def 3, A4;
consider Y2 being set such that
A6: ( [x,y2] in Y2 & Y2 in rng f ) by A3, TARSKI:def 4;
consider z2 being object such that
A7: ( z2 in dom f & f . z2 = Y2 ) by FUNCT_1:def 3, A6;
reconsider z1 = z1, z2 = z2 as Ordinal by A5, A7;
( z1 c= z2 or z2 c= z1 ) ;
then ( f . z1 c= f . z2 or f . z2 c= f . z1 ) by A5, A7, COHSP_1:def 11;
hence y1 = y2 by FUNCT_1:def 1, A4, A6, A5, A7; :: thesis: verum
end;
hence ( union (rng f) is Function-like & union (rng f) is Relation-like ) by FUNCT_1:def 1; :: thesis: verum
end;
end;

theorem Th1: :: SURREALR:1
for f being Function-yielding c=-monotone Sequence
for o being object st o in dom (union (rng f)) holds
ex A being Ordinal st
( A in dom f & o in dom (f . A) )
proof
let f be Function-yielding c=-monotone Sequence; :: thesis: for o being object st o in dom (union (rng f)) holds
ex A being Ordinal st
( A in dom f & o in dom (f . A) )

set U = union (rng f);
let x be object ; :: thesis: ( x in dom (union (rng f)) implies ex A being Ordinal st
( A in dom f & x in dom (f . A) ) )

assume x in dom (union (rng f)) ; :: thesis: ex A being Ordinal st
( A in dom f & x in dom (f . A) )

then [x,((union (rng f)) . x)] in union (rng f) by FUNCT_1:def 2;
then consider Y being set such that
A1: ( [x,((union (rng f)) . x)] in Y & Y in rng f ) by TARSKI:def 4;
consider z being object such that
A2: ( z in dom f & f . z = Y ) by FUNCT_1:def 3, A1;
reconsider z = z as Ordinal by A2;
take z ; :: thesis: ( z in dom f & x in dom (f . z) )
thus ( z in dom f & x in dom (f . z) ) by A2, A1, FUNCT_1:1; :: thesis: verum
end;

theorem Th2: :: SURREALR:2
for f being Function-yielding c=-monotone Sequence
for A being Ordinal st A in dom f holds
( dom (f . A) c= dom (union (rng f)) & ( for o being object st o in dom (f . A) holds
(f . A) . o = (union (rng f)) . o ) )
proof
let f be Function-yielding c=-monotone Sequence; :: thesis: for A being Ordinal st A in dom f holds
( dom (f . A) c= dom (union (rng f)) & ( for o being object st o in dom (f . A) holds
(f . A) . o = (union (rng f)) . o ) )

set U = union (rng f);
let A be Ordinal; :: thesis: ( A in dom f implies ( dom (f . A) c= dom (union (rng f)) & ( for o being object st o in dom (f . A) holds
(f . A) . o = (union (rng f)) . o ) ) )

assume A1: A in dom f ; :: thesis: ( dom (f . A) c= dom (union (rng f)) & ( for o being object st o in dom (f . A) holds
(f . A) . o = (union (rng f)) . o ) )

A2: f . A in rng f by A1, FUNCT_1:def 3;
thus dom (f . A) c= dom (union (rng f)) :: thesis: for o being object st o in dom (f . A) holds
(f . A) . o = (union (rng f)) . o
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in dom (f . A) or y in dom (union (rng f)) )
assume y in dom (f . A) ; :: thesis: y in dom (union (rng f))
then [y,((f . A) . y)] in f . A by FUNCT_1:def 2;
then [y,((f . A) . y)] in union (rng f) by A2, TARSKI:def 4;
hence y in dom (union (rng f)) by FUNCT_1:1; :: thesis: verum
end;
let y be object ; :: thesis: ( y in dom (f . A) implies (f . A) . y = (union (rng f)) . y )
assume y in dom (f . A) ; :: thesis: (f . A) . y = (union (rng f)) . y
then [y,((f . A) . y)] in f . A by FUNCT_1:def 2;
then [y,((f . A) . y)] in union (rng f) by A2, TARSKI:def 4;
hence (f . A) . y = (union (rng f)) . y by FUNCT_1:1; :: thesis: verum
end;

theorem Th3: :: SURREALR:3
for f being Function-yielding c=-monotone Sequence
for A being Ordinal
for X being set st ( for o being object st o in X holds
ex B being Ordinal st
( o in dom (f . B) & B in A ) ) holds
(union (rng (f | A))) .: X = (union (rng f)) .: X
proof
let f be Function-yielding c=-monotone Sequence; :: thesis: for A being Ordinal
for X being set st ( for o being object st o in X holds
ex B being Ordinal st
( o in dom (f . B) & B in A ) ) holds
(union (rng (f | A))) .: X = (union (rng f)) .: X

let A be Ordinal; :: thesis: for X being set st ( for o being object st o in X holds
ex B being Ordinal st
( o in dom (f . B) & B in A ) ) holds
(union (rng (f | A))) .: X = (union (rng f)) .: X

let X be set ; :: thesis: ( ( for o being object st o in X holds
ex B being Ordinal st
( o in dom (f . B) & B in A ) ) implies (union (rng (f | A))) .: X = (union (rng f)) .: X )

assume A1: for x being object st x in X holds
ex B being Ordinal st
( x in dom (f . B) & B in A )
; :: thesis: (union (rng (f | A))) .: X = (union (rng f)) .: X
union (rng (f | A)) c= union (rng f) by ZFMISC_1:77;
hence (union (rng (f | A))) .: X c= (union (rng f)) .: X by RELAT_1:124; :: according to XBOOLE_0:def 10 :: thesis: (union (rng f)) .: X c= (union (rng (f | A))) .: X
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in (union (rng f)) .: X or y in (union (rng (f | A))) .: X )
assume A2: y in (union (rng f)) .: X ; :: thesis: y in (union (rng (f | A))) .: X
consider x being object such that
A3: ( x in dom (union (rng f)) & x in X & (union (rng f)) . x = y ) by A2, FUNCT_1:def 6;
consider B being Ordinal such that
A4: ( x in dom (f . B) & B in A ) by A3, A1;
A5: f . B <> {} by A4;
then B in dom f by FUNCT_1:def 2;
then A6: (f . B) . x = (union (rng f)) . x by A4, Th2;
A7: (f | A) . B = f . B by A4, FUNCT_1:49;
then A8: B in dom (f | A) by A5, FUNCT_1:def 2;
then A9: dom ((f | A) . B) c= dom (union (rng (f | A))) by Th2;
y = (union (rng (f | A))) . x by A8, Th2, A7, A4, A3, A6;
hence y in (union (rng (f | A))) .: X by A9, A7, A4, A3, FUNCT_1:def 6; :: thesis: verum
end;

scheme :: SURREALR:sch 1
MonoFvSExists{ F1() -> Ordinal, F2( Ordinal) -> set , F3( object , Function-yielding c=-monotone Sequence) -> object } :
ex S being Function-yielding c=-monotone Sequence st
( dom S = succ F1() & ( for A being Ordinal st A in succ F1() holds
ex SA being ManySortedSet of F2(A) st
( S . A = SA & ( for o being object st o in F2(A) holds
SA . o = F3(o,(S | A)) ) ) ) )
provided
A1: for S being Function-yielding c=-monotone Sequence st ( for A being Ordinal st A in dom S holds
dom (S . A) = F2(A) ) holds
for A being Ordinal
for o being object st o in dom (S . A) holds
F3(o,(S | A)) = F3(o,S)
and
A2: for A, B being Ordinal st A c= B holds
F2(A) c= F2(B)
proof
defpred S1[ Ordinal] means ex S being Function-yielding c=-monotone Sequence st
( dom S = succ $1 & ( for B being Ordinal st B in succ $1 holds
ex fB being ManySortedSet of F2(B) st
( S . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(S | B)) ) ) ) );
A3: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A4: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
defpred S2[ object , object ] means ( $1 is Ordinal & $2 is Function-yielding c=-monotone Sequence & ( for A being Ordinal st A = $1 holds
for S being Function-yielding c=-monotone Sequence st $2 = S holds
( dom S = succ A & ( for B being Ordinal st B in succ A holds
ex fB being ManySortedSet of F2(B) st
( S . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(S | B)) ) ) ) ) ) );
A5: for e being object st e in D holds
ex u being object st S2[e,u]
proof
let e be object ; :: thesis: ( e in D implies ex u being object st S2[e,u] )
assume A6: e in D ; :: thesis: ex u being object st S2[e,u]
then reconsider E = e as Ordinal ;
consider S being Function-yielding c=-monotone Sequence such that
A7: ( dom S = succ E & ( for B being Ordinal st B in succ E holds
ex fB being ManySortedSet of F2(B) st
( S . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(S | B)) ) ) ) )
by A4, A6;
take S ; :: thesis: S2[e,S]
thus S2[e,S] by A7; :: thesis: verum
end;
consider f being Function such that
A8: dom f = D and
A9: for e being object st e in D holds
S2[e,f . e]
from CLASSES1:sch 1(A5);
reconsider f = f as Sequence by A8, ORDINAL1:def 7;
A10: for A, B being Ordinal st A c= B & A in D & B in D holds
f . A c= f . B
proof
let A, B be Ordinal; :: thesis: ( A c= B & A in D & B in D implies f . A c= f . B )
assume A11: ( A c= B & A in D & B in D ) ; :: thesis: f . A c= f . B
A in succ B by A11, ORDINAL1:22;
then A12: succ A c= succ B by ORDINAL1:21;
reconsider fA = f . A, fB = f . B as Function-yielding c=-monotone Sequence by A11, A9;
A13: dom fA = succ A by A9, A11;
A14: dom fB = succ B by A9, A11;
A15: for C being Ordinal st C in succ B holds
ex fC being ManySortedSet of F2(C) st
( fB . C = fC & ( for x being object st x in F2(C) holds
fC . x = F3(x,(fB | C)) ) )
by A9, A11;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in f . A or x in f . B )
assume A16: x in f . A ; :: thesis: x in f . B
x in fA by A16;
then consider a, z being object such that
A17: x = [a,z] by RELAT_1:def 1;
A18: ( a in dom fA & fA . a = z ) by A17, FUNCT_1:1, A16;
then reconsider a = a as Ordinal ;
defpred S3[ Ordinal] means ( $1 c= a implies fA . $1 = fB . $1 );
A19: for F being Ordinal st ( for G being Ordinal st G in F holds
S3[G] ) holds
S3[F]
proof
let F be Ordinal; :: thesis: ( ( for G being Ordinal st G in F holds
S3[G] ) implies S3[F] )

assume A20: for G being Ordinal st G in F holds
S3[G]
; :: thesis: S3[F]
assume A21: F c= a ; :: thesis: fA . F = fB . F
then A22: F in dom fA by A17, FUNCT_1:1, A16, ORDINAL1:12;
then consider fCF being ManySortedSet of F2(F) such that
A23: fA . F = fCF and
A24: for x being object st x in F2(F) holds
fCF . x = F3(x,(fA | F))
by A13, A9, A11;
consider fBF being ManySortedSet of F2(F) such that
A25: fB . F = fBF and
A26: for x being object st x in F2(F) holds
fBF . x = F3(x,(fB | F))
by A15, A12, A21, A13, A18, ORDINAL1:12;
A27: ( dom (fA | F) = F & F = dom (fB | F) ) by RELAT_1:62, A22, A12, A13, A14, ORDINAL1:def 2;
for x being object st x in F holds
(fA | F) . x = (fB | F) . x
proof
let x be object ; :: thesis: ( x in F implies (fA | F) . x = (fB | F) . x )
assume A28: x in F ; :: thesis: (fA | F) . x = (fB | F) . x
reconsider x = x as Ordinal by A28;
(fA | F) . x = fA . x by A28, FUNCT_1:49
.= fB . x by A20, A28, A21, ORDINAL1:def 2 ;
hence (fA | F) . x = (fB | F) . x by A28, FUNCT_1:49; :: thesis: verum
end;
then A29: fA | F = fB | F by A27, FUNCT_1:2;
A30: ( dom fCF = F2(F) & F2(F) = dom fBF ) by PARTFUN1:def 2;
for x being object st x in F2(F) holds
fCF . x = fBF . x
proof
let x be object ; :: thesis: ( x in F2(F) implies fCF . x = fBF . x )
assume A31: x in F2(F) ; :: thesis: fCF . x = fBF . x
fCF . x = F3(x,(fA | F)) by A31, A24;
hence fCF . x = fBF . x by A31, A26, A29; :: thesis: verum
end;
hence fA . F = fB . F by A23, A25, A30, FUNCT_1:2; :: thesis: verum
end;
for D being Ordinal holds S3[D] from ORDINAL1:sch 2(A19);
then fA . a = fB . a ;
hence x in f . B by A12, A18, A13, A14, FUNCT_1:1, A17; :: thesis: verum
end;
A32: for A, B being set st A in D & B in D & A c= B holds
f . A c= f . B
by A10;
for x being object st x in rng f holds
x is Function
proof
let x be object ; :: thesis: ( x in rng f implies x is Function )
assume x in rng f ; :: thesis: x is Function
then ex y being object st
( y in dom f & f . y = x )
by FUNCT_1:def 3;
hence x is Function by A8, A9; :: thesis: verum
end;
then reconsider f = f as Function-yielding c=-monotone Sequence by A32, Def1, A8, COHSP_1:def 11, FUNCT_1:def 13;
A33: for x, y being set st x in rng f & y in rng f holds
x,y are_c=-comparable
proof
let x, y be set ; :: thesis: ( x in rng f & y in rng f implies x,y are_c=-comparable )
assume A34: ( x in rng f & y in rng f ) ; :: thesis: x,y are_c=-comparable
consider A being object such that
A35: ( A in dom f & f . A = x ) by A34, FUNCT_1:def 3;
consider B being object such that
A36: ( B in dom f & f . B = y ) by A34, FUNCT_1:def 3;
reconsider A = A, B = B as Ordinal by A35, A36;
( A c= B or B c= A ) ;
then ( f . A c= f . B or f . B c= f . A ) by A10, A35, A36, A8;
hence x,y are_c=-comparable by A35, A36, XBOOLE_0:def 9; :: thesis: verum
end;
A37: for x being object st x in rng f holds
x is Sequence
proof
let x be object ; :: thesis: ( x in rng f implies x is Sequence )
assume x in rng f ; :: thesis: x is Sequence
then ex y being object st
( y in dom f & f . y = x )
by FUNCT_1:def 3;
hence x is Sequence by A8, A9; :: thesis: verum
end;
reconsider U = union (rng f) as Sequence by A33, A37, ORDINAL1:def 8, ORDINAL1:34;
A38: for x being object st x in rng U holds
x is Function
proof
let x be object ; :: thesis: ( x in rng U implies x is Function )
assume x in rng U ; :: thesis: x is Function
then consider y being object such that
A39: ( y in dom U & U . y = x ) by FUNCT_1:def 3;
consider A being Ordinal such that
A40: ( A in dom f & y in dom (f . A) ) by Th1, A39;
A41: (f . A) . y = U . y by A40, Th2;
reconsider fA = f . A as Function-yielding c=-monotone Sequence by A40, A8, A9;
dom fA = succ A by A8, A9, A40;
then reconsider y = y as Ordinal by A40;
for y being Ordinal st y in succ A holds
ex fC being ManySortedSet of F2(y) st
( fA . y = fC & ( for x being object st x in F2(y) holds
fC . x = F3(x,(fA | y)) ) )
by A8, A9, A40;
hence x is Function by A41, A39; :: thesis: verum
end;
then A42: rng U is functional by FUNCT_1:def 13;
A43: U is Function-yielding by A38, FUNCT_1:def 13;
A44: for a, b being set st a in dom U & b in dom U & a c= b holds
U . a c= U . b
proof
let a, b be set ; :: thesis: ( a in dom U & b in dom U & a c= b implies U . a c= U . b )
assume A45: ( a in dom U & b in dom U & a c= b ) ; :: thesis: U . a c= U . b
consider A being Ordinal such that
A46: ( A in dom f & a in dom (f . A) ) by Th1, A45;
consider B being Ordinal such that
A47: ( B in dom f & b in dom (f . B) ) by Th1, A45;
reconsider fA = f . A, fB = f . B as Function-yielding c=-monotone Sequence by A46, A47, A8, A9;
A48: ( (f . B) . b = U . b & (f . A) . a = U . a ) by A46, A47, Th2;
per cases ( B c= A or A c= B ) ;
suppose B c= A ; :: thesis: U . a c= U . b
then A49: fB c= fA by A10, A46, A47, A8;
[b,(fB . b)] in fB by A47, FUNCT_1:1;
then ( b in dom fA & fA . b = fB . b ) by A49, FUNCT_1:1;
hence U . a c= U . b by A48, COHSP_1:def 11, A45, A46; :: thesis: verum
end;
suppose A c= B ; :: thesis: U . a c= U . b
then A50: fA c= fB by A10, A46, A47, A8;
[a,(fA . a)] in fA by A46, FUNCT_1:1;
then ( a in dom fB & fB . a = fA . a ) by A50, FUNCT_1:1;
hence U . a c= U . b by A45, A47, A48, COHSP_1:def 11; :: thesis: verum
end;
end;
end;
then reconsider U = U as Function-yielding c=-monotone Sequence by A43, COHSP_1:def 11;
A51: for A being Ordinal st A in dom U holds
dom (U . A) = F2(A)
proof
let y be Ordinal; :: thesis: ( y in dom U implies dom (U . y) = F2(y) )
assume A52: y in dom U ; :: thesis: dom (U . y) = F2(y)
consider A being Ordinal such that
A53: ( A in dom f & y in dom (f . A) ) by Th1, A52;
A54: (f . A) . y = U . y by A53, Th2;
reconsider fA = f . A as Function-yielding c=-monotone Sequence by A53, A8, A9;
A55: dom fA = succ A by A8, A9, A53;
reconsider y = y as Ordinal ;
ex fC being ManySortedSet of F2(y) st
( fA . y = fC & ( for x being object st x in F2(y) holds
fC . x = F3(x,(fA | y)) ) )
by A55, A8, A9, A53;
hence dom (U . y) = F2(y) by A54, PARTFUN1:def 2; :: thesis: verum
end;
A56: dom U c= D
proof
let a be Ordinal; :: according to ORDINAL1:def 5 :: thesis: ( not a in dom U or a in D )
assume A57: a in dom U ; :: thesis: a in D
consider A being Ordinal such that
A58: ( A in dom f & a in dom (f . A) ) by Th1, A57;
reconsider fA = f . A as Function-yielding c=-monotone Sequence by A58, A8, A9;
A59: dom fA = succ A by A8, A9, A58;
succ A c= D by A58, A8, ORDINAL1:21;
hence a in D by A58, A59; :: thesis: verum
end;
A60: D c= dom U
proof
let A be Ordinal; :: according to ORDINAL1:def 5 :: thesis: ( not A in D or A in dom U )
assume A61: A in D ; :: thesis: A in dom U
reconsider fA = f . A as Function-yielding c=-monotone Sequence by A61, A9;
( dom fA = succ A & ( for B being Ordinal st B in succ A holds
ex fB being ManySortedSet of F2(B) st
( fA . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(fA | B)) ) ) ) )
by A61, A9;
then succ A c= dom U by Th2, A61, A8;
hence A in dom U by ORDINAL1:21; :: thesis: verum
end;
then A62: D = dom U by A56, XBOOLE_0:def 10;
set UU = union (rng U);
defpred S3[ object , object ] means ( ( $1 in dom (union (rng U)) implies $2 = (union (rng U)) . $1 ) & ( not $1 in dom (union (rng U)) implies $2 = F3($1,U) ) );
A63: for e being object st e in F2(D) holds
ex u being object st S3[e,u]
proof
let e be object ; :: thesis: ( e in F2(D) implies ex u being object st S3[e,u] )
( e in dom (union (rng U)) or not e in dom (union (rng U)) ) ;
hence ( e in F2(D) implies ex u being object st S3[e,u] ) ; :: thesis: verum
end;
consider d being Function such that
A64: dom d = F2(D) and
A65: for e being object st e in F2(D) holds
S3[e,d . e]
from CLASSES1:sch 1(A63);
reconsider d = d as ManySortedSet of F2(D) by PARTFUN1:def 2, A64, RELAT_1:def 18;
set d1 = 1 --> d;
set U1 = U ^ (1 --> d);
A66: dom (1 --> d) = 1 ;
then A67: ( dom (U ^ (1 --> d)) = D +^ 1 & D +^ 1 = succ D ) by A62, ORDINAL4:def 1, ORDINAL2:31;
A68: (rng U) \/ {d} is functional by A42;
0 in 1 by TARSKI:def 1, CARD_1:49;
then A69: ( (U ^ (1 --> d)) . (D +^ 0) = (1 --> d) . 0 & (1 --> d) . 0 = d ) by A66, A62, ORDINAL4:def 1, FUNCOP_1:7;
rng (1 --> d) = {d} by FUNCOP_1:8;
then A70: U ^ (1 --> d) is Function-yielding by A68, ORDINAL4:2;
for A, B being set st A in dom (U ^ (1 --> d)) & B in dom (U ^ (1 --> d)) & A c= B holds
(U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B
proof
let A, B be set ; :: thesis: ( A in dom (U ^ (1 --> d)) & B in dom (U ^ (1 --> d)) & A c= B implies (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B )
assume A71: ( A in dom (U ^ (1 --> d)) & B in dom (U ^ (1 --> d)) & A c= B ) ; :: thesis: (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B
reconsider A = A, B = B as Ordinal by A71;
per cases ( ( A in D & B in D ) or ( A in D & B = D ) or ( A = D & B in D ) or ( A = D & B = D ) ) by A67, A71, ORDINAL1:8;
suppose A72: ( A in D & B in D ) ; :: thesis: (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B
then ( (U ^ (1 --> d)) . A = U . A & (U ^ (1 --> d)) . B = U . B ) by ORDINAL4:def 1, A60;
hence (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B by A44, A60, A71, A72; :: thesis: verum
end;
suppose A73: ( A in D & B = D ) ; :: thesis: (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B
then A74: ( (U ^ (1 --> d)) . A = U . A & (U ^ (1 --> d)) . B = d ) by ORDINAL2:27, A69, ORDINAL4:def 1, A60;
consider E being Ordinal such that
A75: ( E in dom f & A in dom (f . E) ) by Th1, A73, A60;
reconsider fE = f . E as Function-yielding c=-monotone Sequence by A75, A8, A9;
dom fE = succ E by A8, A9, A75;
then consider fC being ManySortedSet of F2(A) such that
A76: fE . A = fC and
for x being object st x in F2(A) holds
fC . x = F3(x,(fE | A))
by A8, A9, A75;
A77: fC = U . A by A76, A75, Th2;
U . A c= d
proof
let x, y be object ; :: according to RELAT_1:def 3 :: thesis: ( not [x,y] in U . A or [x,y] in d )
assume A78: [x,y] in U . A ; :: thesis: [x,y] in d
A79: dom fC = F2(A) by PARTFUN1:def 2;
A80: ( x in dom fC & fC . x = y ) by A77, A78, FUNCT_1:1;
A81: F2(A) c= F2(D) by A2, A73, ORDINAL1:def 2;
dom fC c= dom (union (rng U)) by A77, Th2, A60, A73;
then d . x = (union (rng U)) . x by A80, A65, A79, A81;
hence [x,y] in d by A80, A77, Th2, A60, A73, FUNCT_1:1, A81, A79, A64; :: thesis: verum
end;
hence (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B by A74; :: thesis: verum
end;
suppose ( A = D & B in D ) ; :: thesis: (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B
hence (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B by A71, ORDINAL1:12; :: thesis: verum
end;
suppose ( A = D & B = D ) ; :: thesis: (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B
hence (U ^ (1 --> d)) . A c= (U ^ (1 --> d)) . B ; :: thesis: verum
end;
end;
end;
then reconsider U1 = U ^ (1 --> d) as Function-yielding c=-monotone Sequence by A70, COHSP_1:def 11;
take U1 ; :: thesis: ( dom U1 = succ D & ( for B being Ordinal st B in succ D holds
ex fB being ManySortedSet of F2(B) st
( U1 . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(U1 | B)) ) ) ) )

thus dom U1 = succ D by A67; :: thesis: for B being Ordinal st B in succ D holds
ex fB being ManySortedSet of F2(B) st
( U1 . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(U1 | B)) ) )

let B be Ordinal; :: thesis: ( B in succ D implies ex fB being ManySortedSet of F2(B) st
( U1 . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(U1 | B)) ) ) )

assume A82: B in succ D ; :: thesis: ex fB being ManySortedSet of F2(B) st
( U1 . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(U1 | B)) ) )

A83: dom U = (dom U1) /\ (dom U) by A62, A67, XBOOLE_1:7, XBOOLE_1:28;
for x being object st x in dom U holds
U . x = U1 . x
by ORDINAL4:def 1;
then A84: U = U1 | D by A62, A83, FUNCT_1:46;
per cases ( B in D or B = D ) by A82, ORDINAL1:8;
suppose A85: B in D ; :: thesis: ex fB being ManySortedSet of F2(B) st
( U1 . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(U1 | B)) ) )

consider E being Ordinal such that
A86: ( E in dom f & B in dom (f . E) ) by Th1, A85, A60;
reconsider fE = f . E as Function-yielding c=-monotone Sequence by A86, A8, A9;
dom fE = succ E by A8, A9, A86;
then consider fC being ManySortedSet of F2(B) such that
A87: fE . B = fC and
A88: for x being object st x in F2(B) holds
fC . x = F3(x,(fE | B))
by A8, A9, A86;
A89: fC = U . B by A87, A86, Th2;
take fC ; :: thesis: ( U1 . B = fC & ( for x being object st x in F2(B) holds
fC . x = F3(x,(U1 | B)) ) )

thus fC = U1 . B by A85, ORDINAL4:def 1, A60, A89; :: thesis: for x being object st x in F2(B) holds
fC . x = F3(x,(U1 | B))

f . E in rng f by A86, FUNCT_1:def 3;
then f . E c= U by ZFMISC_1:74;
then A90: fE | B tolerates U | B by RELAT_1:76, PARTFUN1:54;
( dom (fE | B) = B & dom (U | B) = B ) by A86, A85, ORDINAL1:def 2, A60, RELAT_1:62;
then A91: fE | B = U | B by A90, PARTFUN1:55;
let x be object ; :: thesis: ( x in F2(B) implies fC . x = F3(x,(U1 | B)) )
assume A92: x in F2(B) ; :: thesis: fC . x = F3(x,(U1 | B))
U1 | B = (U1 | D) | B by A85, ORDINAL1:def 2, RELAT_1:74;
hence fC . x = F3(x,(U1 | B)) by A84, A88, A92, A91; :: thesis: verum
end;
suppose A93: B = D ; :: thesis: ex fB being ManySortedSet of F2(B) st
( U1 . B = fB & ( for x being object st x in F2(B) holds
fB . x = F3(x,(U1 | B)) ) )

then reconsider dB = d as ManySortedSet of F2(B) ;
take dB ; :: thesis: ( U1 . B = dB & ( for x being object st x in F2(B) holds
dB . x = F3(x,(U1 | B)) ) )

thus dB = U1 . B by ORDINAL2:27, A69, A93; :: thesis: for x being object st x in F2(B) holds
dB . x = F3(x,(U1 | B))

let x be object ; :: thesis: ( x in F2(B) implies dB . x = F3(x,(U1 | B)) )
assume A94: x in F2(B) ; :: thesis: dB . x = F3(x,(U1 | B))
per cases ( x in dom (union (rng U)) or not x in dom (union (rng U)) ) ;
suppose A95: x in dom (union (rng U)) ; :: thesis: dB . x = F3(x,(U1 | B))
then A96: d . x = (union (rng U)) . x by A65, A93, A94;
consider A being Ordinal such that
A97: ( A in dom U & x in dom (U . A) ) by A95, Th1;
consider E being Ordinal such that
A98: ( E in dom f & A in dom (f . E) ) by A97, Th1;
reconsider fE = f . E as Function-yielding c=-monotone Sequence by A98, A8, A9;
dom fE = succ E by A8, A9, A98;
then consider fC being ManySortedSet of F2(A) such that
A99: fE . A = fC and
A100: for x being object st x in F2(A) holds
fC . x = F3(x,(fE | A))
by A8, A9, A98;
A101: dom fC = F2(A) by PARTFUN1:def 2;
A102: fC = U . A by A99, A98, Th2;
then A103: fC . x = F3(x,(fE | A)) by A97, A101, A100;
f . E in rng f by A98, FUNCT_1:def 3;
then A104: fE | A c= U | A by RELAT_1:76, ZFMISC_1:74;
( dom (fE | A) = A & dom (U | A) = A ) by RELAT_1:62, A98, A97, ORDINAL1:def 2;
then fC . x = F3(x,(U | A)) by A103, A104, PARTFUN1:54, PARTFUN1:55;
then fC . x = F3(x,(U1 | D)) by A84, A51, A1, A97;
hence dB . x = F3(x,(U1 | B)) by A96, A102, A97, Th2, A93; :: thesis: verum
end;
suppose not x in dom (union (rng U)) ; :: thesis: dB . x = F3(x,(U1 | B))
hence dB . x = F3(x,(U1 | B)) by A94, A65, A93, A84; :: thesis: verum
end;
end;
end;
end;
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A3);
hence ex S being Function-yielding c=-monotone Sequence st
( dom S = succ F1() & ( for A being Ordinal st A in succ F1() holds
ex SA being ManySortedSet of F2(A) st
( S . A = SA & ( for o being object st o in F2(A) holds
SA . o = F3(o,(S | A)) ) ) ) )
; :: thesis: verum
end;

scheme :: SURREALR:sch 2
MonoFvSUniq{ F1() -> Ordinal, F2( Ordinal) -> set , F3() -> Function-yielding c=-monotone Sequence, F4() -> Function-yielding c=-monotone Sequence, F5( object , Function-yielding c=-monotone Sequence) -> object } :
F3() | F1() = F4() | F1()
provided
A1: ( F1() c= dom F3() & F1() c= dom F4() ) and
A2: for A being Ordinal st A in F1() holds
ex SA being ManySortedSet of F2(A) st
( F3() . A = SA & ( for o being object st o in F2(A) holds
SA . o = F5(o,(F3() | A)) ) )
and
A3: for A being Ordinal st A in F1() holds
ex SA being ManySortedSet of F2(A) st
( F4() . A = SA & ( for o being object st o in F2(A) holds
SA . o = F5(o,(F4() | A)) ) )
proof
defpred S1[ Ordinal] means ( $1 in F1() implies F3() . $1 = F4() . $1 );
A4: for F being Ordinal st ( for G being Ordinal st G in F holds
S1[G] ) holds
S1[F]
proof
let B be Ordinal; :: thesis: ( ( for G being Ordinal st G in B holds
S1[G] ) implies S1[B] )

assume A5: for G being Ordinal st G in B holds
S1[G]
; :: thesis: S1[B]
assume A6: B in F1() ; :: thesis: F3() . B = F4() . B
then consider S1B being ManySortedSet of F2(B) such that
A7: ( F3() . B = S1B & ( for x being object st x in F2(B) holds
S1B . x = F5(x,(F3() | B)) ) )
by A2;
consider S2B being ManySortedSet of F2(B) such that
A8: ( F4() . B = S2B & ( for x being object st x in F2(B) holds
S2B . x = F5(x,(F4() | B)) ) )
by A3, A6;
A9: ( dom S1B = F2(B) & F2(B) = dom S2B ) by PARTFUN1:def 2;
for x being object st x in F2(B) holds
S1B . x = S2B . x
proof
let x be object ; :: thesis: ( x in F2(B) implies S1B . x = S2B . x )
assume A10: x in F2(B) ; :: thesis: S1B . x = S2B . x
( S1B <> {} & S2B <> {} ) by A10, A9;
then ( B in dom F3() & B in dom F4() ) by A7, A8, FUNCT_1:def 2;
then A11: ( dom (F3() | B) = B & B = dom (F4() | B) ) by RELAT_1:62, ORDINAL1:def 2;
for y being object st y in B holds
(F3() | B) . y = (F4() | B) . y
proof
let y be object ; :: thesis: ( y in B implies (F3() | B) . y = (F4() | B) . y )
assume A12: y in B ; :: thesis: (F3() | B) . y = (F4() | B) . y
then reconsider Y = y as Ordinal ;
A13: Y in F1() by A12, A6, ORDINAL1:10;
thus (F3() | B) . y = F3() . Y by A12, FUNCT_1:49
.= F4() . Y by A12, A5, A13
.= (F4() | B) . y by A12, FUNCT_1:49 ; :: thesis: verum
end;
then A14: F3() | B = F4() | B by A11, FUNCT_1:2;
S1B . x = F5(x,(F3() | B)) by A10, A7;
hence S1B . x = S2B . x by A14, A10, A8; :: thesis: verum
end;
hence F3() . B = F4() . B by A7, A8, A9, FUNCT_1:2; :: thesis: verum
end;
A15: for F being Ordinal holds S1[F] from ORDINAL1:sch 2(A4);
A16: ( dom (F3() | F1()) = F1() & F1() = dom (F4() | F1()) ) by A1, RELAT_1:62;
for y being object st y in F1() holds
(F3() | F1()) . y = (F4() | F1()) . y
proof
let y be object ; :: thesis: ( y in F1() implies (F3() | F1()) . y = (F4() | F1()) . y )
assume A17: y in F1() ; :: thesis: (F3() | F1()) . y = (F4() | F1()) . y
then reconsider Y = y as Ordinal ;
thus (F3() | F1()) . y = F3() . Y by A17, FUNCT_1:49
.= F4() . Y by A17, A15
.= (F4() | F1()) . y by A17, FUNCT_1:49 ; :: thesis: verum
end;
hence F3() | F1() = F4() | F1() by A16, FUNCT_1:2; :: thesis: verum
end;

definition
let A be Ordinal;
func No_opposite_op A -> ManySortedSet of Day A means :Def2: :: SURREALR:def 2
ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) );
existence
ex b1 being ManySortedSet of Day A ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) )
proof
deffunc H1( Ordinal) -> Element of bool (Games $1) = Day $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [((union (rng $2)) .: (R_ $1)),((union (rng $2)) .: (L_ $1))];
A1: for S being Function-yielding c=-monotone Sequence st ( for A being Ordinal st A in dom S holds
dom (S . A) = H1(A) ) holds
for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)
proof
let S be Function-yielding c=-monotone Sequence; :: thesis: ( ( for A being Ordinal st A in dom S holds
dom (S . A) = H1(A) ) implies for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S) )

assume A2: for A being Ordinal st A in dom S holds
dom (S . A) = H1(A)
; :: thesis: for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)

let A be Ordinal; :: thesis: for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)

let x be object ; :: thesis: ( x in dom (S . A) implies H2(x,S | A) = H2(x,S) )
assume A3: x in dom (S . A) ; :: thesis: H2(x,S | A) = H2(x,S)
S . A <> {} by A3;
then A4: A in dom S by FUNCT_1:def 2;
then A5: dom (S . A) = H1(A) by A2;
then reconsider x = x as Surreal by A3;
A6: x = [(L_ x),(R_ x)] ;
A7: for y being object st y in (L_ x) \/ (R_ x) holds
ex B being Ordinal st
( y in dom (S . B) & B in A )
proof
let y be object ; :: thesis: ( y in (L_ x) \/ (R_ x) implies ex B being Ordinal st
( y in dom (S . B) & B in A ) )

assume y in (L_ x) \/ (R_ x) ; :: thesis: ex B being Ordinal st
( y in dom (S . B) & B in A )

then consider O being Ordinal such that
A8: ( O in A & y in Day O ) by A5, A3, A6, SURREAL0:46;
dom (S . O) = Day O by A2, A4, A8, ORDINAL1:10;
hence ex B being Ordinal st
( y in dom (S . B) & B in A )
by A8; :: thesis: verum
end;
A9: now :: thesis: for y being object st y in L_ x holds
ex B being Ordinal st
( y in dom (S . B) & B in A )
let y be object ; :: thesis: ( y in L_ x implies ex B being Ordinal st
( y in dom (S . B) & B in A ) )

assume y in L_ x ; :: thesis: ex B being Ordinal st
( y in dom (S . B) & B in A )

then y in (L_ x) \/ (R_ x) by XBOOLE_0:def 3;
hence ex B being Ordinal st
( y in dom (S . B) & B in A )
by A7; :: thesis: verum
end;
now :: thesis: for y being object st y in R_ x holds
ex B being Ordinal st
( y in dom (S . B) & B in A )
let y be object ; :: thesis: ( y in R_ x implies ex B being Ordinal st
( y in dom (S . B) & B in A ) )

assume y in R_ x ; :: thesis: ex B being Ordinal st
( y in dom (S . B) & B in A )

then y in (L_ x) \/ (R_ x) by XBOOLE_0:def 3;
hence ex B being Ordinal st
( y in dom (S . B) & B in A )
by A7; :: thesis: verum
end;
then (union (rng (S | A))) .: (R_ x) = (union (rng S)) .: (R_ x) by Th3;
hence H2(x,S | A) = H2(x,S) by A9, Th3; :: thesis: verum
end;
A10: for A, B being Ordinal st A c= B holds
H1(A) c= H1(B)
by SURREAL0:35;
consider S being Function-yielding c=-monotone Sequence such that
A11: ( dom S = succ A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S | B) ) ) ) )
from SURREALR:sch 1(A1, A10);
A in succ A by ORDINAL1:8;
then consider SB being ManySortedSet of H1(A) such that
A12: ( S . A = SB & ( for x being object st x in H1(A) holds
SB . x = H2(x,S | A) ) )
by A11;
take SB ; :: thesis: ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & SB = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) )

take S ; :: thesis: ( dom S = succ A & SB = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) )

thus ( dom S = succ A & SB = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) )
by A11, A12; :: thesis: verum
end;
uniqueness
for b1, b2 being ManySortedSet of Day A st ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) ) & ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) ) holds
b1 = b2
proof
deffunc H1( Ordinal) -> Element of bool (Games $1) = Day $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [((union (rng $2)) .: (R_ $1)),((union (rng $2)) .: (L_ $1))];
let O1, O2 be ManySortedSet of H1(A); :: thesis: ( ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & O1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) ) & ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & O2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) ) implies O1 = O2 )

given S1 being Function-yielding c=-monotone Sequence such that A13: ( dom S1 = succ A & S1 . A = O1 & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) ) ) )
; :: thesis: ( for S being Function-yielding c=-monotone Sequence holds
( not dom S = succ A or not O2 = S . A or ex B being Ordinal st
( B in succ A & ( for SB being ManySortedSet of Day B holds
( not S . B = SB or ex o being object st
( o in Day B & not SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) ) ) or O1 = O2 )

given S2 being Function-yielding c=-monotone Sequence such that A14: ( dom S2 = succ A & S2 . A = O2 & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S2 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S2 | B) ) ) ) )
; :: thesis: O1 = O2
A15: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
by A13;
A16: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S2 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S2 | B) ) )
by A14;
A17: ( succ A c= dom S1 & succ A c= dom S2 ) by A13, A14;
S1 | (succ A) = S2 | (succ A) from SURREALR:sch 2(A17, A15, A16);
then S1 = S2 | (succ A) by A13;
hence O1 = O2 by A13, A14; :: thesis: verum
end;
end;

:: deftheorem Def2 defines No_opposite_op SURREALR:def 2 :
for A being Ordinal
for b2 being ManySortedSet of Day A holds
( b2 = No_opposite_op A iff ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) ) );

theorem Th4: :: SURREALR:4
for S being Function-yielding c=-monotone Sequence st ( for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S | B))) .: (R_ o)),((union (rng (S | B))) .: (L_ o))] ) ) ) holds
for A being Ordinal st A in dom S holds
No_opposite_op A = S . A
proof
deffunc H1( Ordinal) -> Element of bool (Games $1) = Day $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [((union (rng $2)) .: (R_ $1)),((union (rng $2)) .: (L_ $1))];
let S1 be Function-yielding c=-monotone Sequence; :: thesis: ( ( for B being Ordinal st B in dom S1 holds
ex SB being ManySortedSet of Day B st
( S1 . B = SB & ( for o being object st o in Day B holds
SB . o = [((union (rng (S1 | B))) .: (R_ o)),((union (rng (S1 | B))) .: (L_ o))] ) ) ) implies for A being Ordinal st A in dom S1 holds
No_opposite_op A = S1 . A )

assume A1: for B being Ordinal st B in dom S1 holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
; :: thesis: for A being Ordinal st A in dom S1 holds
No_opposite_op A = S1 . A

let A be Ordinal; :: thesis: ( A in dom S1 implies No_opposite_op A = S1 . A )
assume A2: A in dom S1 ; :: thesis: No_opposite_op A = S1 . A
A3: succ A c= dom S1 by A2, ORDINAL1:21;
consider S2 being Function-yielding c=-monotone Sequence such that
A4: ( dom S2 = succ A & S2 . A = No_opposite_op A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S2 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S2 | B) ) ) ) )
by Def2;
A5: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
by A1, A3;
A6: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S2 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S2 | B) ) )
by A4;
A7: ( succ A c= dom S1 & succ A c= dom S2 ) by A2, ORDINAL1:21, A4;
A8: S1 | (succ A) = S2 | (succ A) from SURREALR:sch 2(A7, A5, A6);
A in succ A by ORDINAL1:8;
hence No_opposite_op A = S1 . A by A4, A8, FUNCT_1:49; :: thesis: verum
end;

theorem Th5: :: SURREALR:5
for A, B being Ordinal
for o being object
for f being Function-yielding c=-monotone Sequence st o in dom (f . B) & B in A holds
( o in dom (union (rng (f | A))) & (union (rng (f | A))) . o = (union (rng f)) . o )
proof
let A, B be Ordinal; :: thesis: for o being object
for f being Function-yielding c=-monotone Sequence st o in dom (f . B) & B in A holds
( o in dom (union (rng (f | A))) & (union (rng (f | A))) . o = (union (rng f)) . o )

let o be object ; :: thesis: for f being Function-yielding c=-monotone Sequence st o in dom (f . B) & B in A holds
( o in dom (union (rng (f | A))) & (union (rng (f | A))) . o = (union (rng f)) . o )

let f be Function-yielding c=-monotone Sequence; :: thesis: ( o in dom (f . B) & B in A implies ( o in dom (union (rng (f | A))) & (union (rng (f | A))) . o = (union (rng f)) . o ) )
assume A1: ( o in dom (f . B) & B in A ) ; :: thesis: ( o in dom (union (rng (f | A))) & (union (rng (f | A))) . o = (union (rng f)) . o )
A2: f . B <> {} by A1;
then B in dom f by FUNCT_1:def 2;
then A3: (f . B) . o = (union (rng f)) . o by A1, Th2;
A4: (f | A) . B = f . B by A1, FUNCT_1:49;
then A5: B in dom (f | A) by A2, FUNCT_1:def 2;
then dom ((f | A) . B) c= dom (union (rng (f | A))) by Th2;
hence ( o in dom (union (rng (f | A))) & (union (rng (f | A))) . o = (union (rng f)) . o ) by A3, A4, A5, Th2, A1; :: thesis: verum
end;

theorem Th6: :: SURREALR:6
for o being object
for f being Function-yielding c=-monotone Sequence
for A, B being Ordinal st o in dom (f . B) & B in A holds
(union (rng (f | A))) . o = (union (rng f)) . o
proof
let o be object ; :: thesis: for f being Function-yielding c=-monotone Sequence
for A, B being Ordinal st o in dom (f . B) & B in A holds
(union (rng (f | A))) . o = (union (rng f)) . o

let f be Function-yielding c=-monotone Sequence; :: thesis: for A, B being Ordinal st o in dom (f . B) & B in A holds
(union (rng (f | A))) . o = (union (rng f)) . o

let A, B be Ordinal; :: thesis: ( o in dom (f . B) & B in A implies (union (rng (f | A))) . o = (union (rng f)) . o )
assume A1: ( o in dom (f . B) & B in A ) ; :: thesis: (union (rng (f | A))) . o = (union (rng f)) . o
A2: f . B <> {} by A1;
then B in dom f by FUNCT_1:def 2;
then A3: (f . B) . o = (union (rng f)) . o by A1, Th2;
A4: (f | A) . B = f . B by A1, FUNCT_1:49;
(f | A) . B = f . B by A1, FUNCT_1:49;
then B in dom (f | A) by A2, FUNCT_1:def 2;
hence (union (rng (f | A))) . o = (union (rng f)) . o by A4, A3, Th2, A1; :: thesis: verum
end;

definition
let x be Surreal;
func - x -> set equals :: SURREALR:def 3
(No_opposite_op (born x)) . x;
coherence
(No_opposite_op (born x)) . x is set
;
end;

:: deftheorem defines - SURREALR:def 3 :
for x being Surreal holds - x = (No_opposite_op (born x)) . x;

definition
let X be set ;
func -- X -> set means :Def4: :: SURREALR:def 4
for o being object holds
( o in it iff ex x being Surreal st
( x in X & o = - x ) );
existence
ex b1 being set st
for o being object holds
( o in b1 iff ex x being Surreal st
( x in X & o = - x ) )
proof
defpred S1[ object , object ] means ( $1 is Surreal & ( for x being Surreal st x = $1 holds
$2 = - x ) );
A1: for x, y, z being object st S1[x,y] & S1[x,z] holds
y = z
proof
let x, y, z be object ; :: thesis: ( S1[x,y] & S1[x,z] implies y = z )
assume A2: ( S1[x,y] & S1[x,z] ) ; :: thesis: y = z
reconsider xx = x as Surreal by A2;
( y = - xx & - xx = z ) by A2;
hence y = z ; :: thesis: verum
end;
consider M being set such that
A3: for x being object holds
( x in M iff ex y being object st
( y in X & S1[y,x] ) )
from TARSKI:sch 1(A1);
take M ; :: thesis: for o being object holds
( o in M iff ex x being Surreal st
( x in X & o = - x ) )

let y be object ; :: thesis: ( y in M iff ex x being Surreal st
( x in X & y = - x ) )

thus ( y in M implies ex x being Surreal st
( x in X & y = - x ) )
:: thesis: ( ex x being Surreal st
( x in X & y = - x ) implies y in M )
proof
assume y in M ; :: thesis: ex x being Surreal st
( x in X & y = - x )

then consider yy being object such that
A4: ( yy in X & S1[yy,y] ) by A3;
reconsider yy = yy as Surreal by A4;
take yy ; :: thesis: ( yy in X & y = - yy )
thus ( yy in X & y = - yy ) by A4; :: thesis: verum
end;
given x being Surreal such that A5: ( x in X & y = - x ) ; :: thesis: y in M
S1[x,y] by A5;
hence y in M by A5, A3; :: thesis: verum
end;
uniqueness
for b1, b2 being set st ( for o being object holds
( o in b1 iff ex x being Surreal st
( x in X & o = - x ) ) ) & ( for o being object holds
( o in b2 iff ex x being Surreal st
( x in X & o = - x ) ) ) holds
b1 = b2
proof
let M1, M2 be set ; :: thesis: ( ( for o being object holds
( o in M1 iff ex x being Surreal st
( x in X & o = - x ) ) ) & ( for o being object holds
( o in M2 iff ex x being Surreal st
( x in X & o = - x ) ) ) implies M1 = M2 )

assume that
A6: for y being object holds
( y in M1 iff ex x being Surreal st
( x in X & y = - x ) )
and
A7: for y being object holds
( y in M2 iff ex x being Surreal st
( x in X & y = - x ) )
; :: thesis: M1 = M2
now :: thesis: for y being object holds
( y in M1 iff y in M2 )
let y be object ; :: thesis: ( y in M1 iff y in M2 )
( y in M1 iff ex x being Surreal st
( x in X & y = - x ) )
by A6;
hence ( y in M1 iff y in M2 ) by A7; :: thesis: verum
end;
hence M1 = M2 by TARSKI:2; :: thesis: verum
end;
end;

:: deftheorem Def4 defines -- SURREALR:def 4 :
for X, b2 being set holds
( b2 = -- X iff for o being object holds
( o in b2 iff ex x being Surreal st
( x in X & o = - x ) ) );

theorem Th7: :: SURREALR:7
for x being Surreal holds - x = [(-- (R_ x)),(-- (L_ x))]
proof
let x be Surreal; :: thesis: - x = [(-- (R_ x)),(-- (L_ x))]
set A = born x;
consider S being Function-yielding c=-monotone Sequence such that
A1: ( dom S = succ (born x) & No_opposite_op (born x) = S . (born x) ) and
A2: for B being Ordinal st B in succ (born x) holds
ex SB being ManySortedSet of Day B st
( S . B = SB & ( for x being object st x in Day B holds
SB . x = [((union (rng (S | B))) .: (R_ x)),((union (rng (S | B))) .: (L_ x))] ) )
by Def2;
consider SA being ManySortedSet of Day (born x) such that
A3: S . (born x) = SA and
A4: for x being object st x in Day (born x) holds
SA . x = [((union (rng (S | (born x)))) .: (R_ x)),((union (rng (S | (born x)))) .: (L_ x))]
by A2, ORDINAL1:6;
set U = union (rng (S | (born x)));
x in Day (born x) by SURREAL0:def 18;
then A5: [((union (rng (S | (born x)))) .: (R_ x)),((union (rng (S | (born x)))) .: (L_ x))] = - x by A1, A3, A4;
A6: -- (R_ x) c= (union (rng (S | (born x)))) .: (R_ x)
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in -- (R_ x) or y in (union (rng (S | (born x)))) .: (R_ x) )
assume A7: y in -- (R_ x) ; :: thesis: y in (union (rng (S | (born x)))) .: (R_ x)
consider a being Surreal such that
A8: ( a in R_ x & y = - a ) by Def4, A7;
set B = born a;
A9: a in (L_ x) \/ (R_ x) by A8, XBOOLE_0:def 3;
then A10: born a in born x by SURREALO:1;
A11: born a in succ (born x) by A9, SURREALO:1, ORDINAL1:8;
then consider SB being ManySortedSet of Day (born a) such that
A12: S . (born a) = SB and
for x being object st x in Day (born a) holds
SB . x = [((union (rng (S | (born a)))) .: (R_ x)),((union (rng (S | (born a)))) .: (L_ x))]
by A2;
A13: No_opposite_op (born a) = S . (born a) by A11, A1, A2, Th4;
A14: dom SB = Day (born a) by PARTFUN1:def 2;
A15: a in Day (born a) by SURREAL0:def 18;
A16: SB . a = (union (rng S)) . a by Th2, A12, A14, A15, A11, A1;
( (union (rng S)) . a = (union (rng (S | (born x)))) . a & a in dom (union (rng (S | (born x)))) ) by Th5, A10, A14, A15, A12;
hence y in (union (rng (S | (born x)))) .: (R_ x) by FUNCT_1:def 6, A8, A16, A13, A12; :: thesis: verum
end;
(union (rng (S | (born x)))) .: (R_ x) c= -- (R_ x)
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in (union (rng (S | (born x)))) .: (R_ x) or y in -- (R_ x) )
assume A17: y in (union (rng (S | (born x)))) .: (R_ x) ; :: thesis: y in -- (R_ x)
consider a being object such that
A18: ( a in dom (union (rng (S | (born x)))) & a in R_ x & (union (rng (S | (born x)))) . a = y ) by A17, FUNCT_1:def 6;
reconsider a = a as Surreal by A18, SURREAL0:def 16;
set B = born a;
A19: a in (L_ x) \/ (R_ x) by A18, XBOOLE_0:def 3;
then A20: born a in born x by SURREALO:1;
A21: born a in succ (born x) by SURREALO:1, A19, ORDINAL1:8;
then consider SB being ManySortedSet of Day (born a) such that
A22: S . (born a) = SB and
for x being object st x in Day (born a) holds
SB . x = [((union (rng (S | (born a)))) .: (R_ x)),((union (rng (S | (born a)))) .: (L_ x))]
by A2;
A23: No_opposite_op (born a) = S . (born a) by A21, A1, A2, Th4;
A24: dom SB = Day (born a) by PARTFUN1:def 2;
A25: a in Day (born a) by SURREAL0:def 18;
SB . a = (union (rng S)) . a by Th2, A24, A25, A21, A22, A1;
then - a = y by A18, Th5, A20, A23, A24, A25, A22;
hence y in -- (R_ x) by A18, Def4; :: thesis: verum
end;
then A26: (union (rng (S | (born x)))) .: (R_ x) = -- (R_ x) by A6, XBOOLE_0:def 10;
A27: -- (L_ x) c= (union (rng (S | (born x)))) .: (L_ x)
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in -- (L_ x) or y in (union (rng (S | (born x)))) .: (L_ x) )
assume A28: y in -- (L_ x) ; :: thesis: y in (union (rng (S | (born x)))) .: (L_ x)
consider a being Surreal such that
A29: ( a in L_ x & y = - a ) by Def4, A28;
set B = born a;
A30: a in (L_ x) \/ (R_ x) by A29, XBOOLE_0:def 3;
then A31: born a in born x by SURREALO:1;
A32: born a in succ (born x) by A30, SURREALO:1, ORDINAL1:8;
then consider SB being ManySortedSet of Day (born a) such that
A33: S . (born a) = SB and
for x being object st x in Day (born a) holds
SB . x = [((union (rng (S | (born a)))) .: (R_ x)),((union (rng (S | (born a)))) .: (L_ x))]
by A2;
A34: No_opposite_op (born a) = S . (born a) by A32, A1, A2, Th4;
A35: dom SB = Day (born a) by PARTFUN1:def 2;
A36: a in Day (born a) by SURREAL0:def 18;
A37: SB . a = (union (rng S)) . a by Th2, A33, A35, A36, A32, A1;
( (union (rng S)) . a = (union (rng (S | (born x)))) . a & a in dom (union (rng (S | (born x)))) ) by Th5, A31, A35, A36, A33;
hence y in (union (rng (S | (born x)))) .: (L_ x) by FUNCT_1:def 6, A29, A37, A34, A33; :: thesis: verum
end;
(union (rng (S | (born x)))) .: (L_ x) c= -- (L_ x)
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in (union (rng (S | (born x)))) .: (L_ x) or y in -- (L_ x) )
assume A38: y in (union (rng (S | (born x)))) .: (L_ x) ; :: thesis: y in -- (L_ x)
consider a being object such that
A39: ( a in dom (union (rng (S | (born x)))) & a in L_ x & (union (rng (S | (born x)))) . a = y ) by A38, FUNCT_1:def 6;
reconsider a = a as Surreal by A39, SURREAL0:def 16;
set B = born a;
A40: a in (L_ x) \/ (R_ x) by A39, XBOOLE_0:def 3;
then A41: born a in born x by SURREALO:1;
A42: born a in succ (born x) by SURREALO:1, A40, ORDINAL1:8;
then consider SB being ManySortedSet of Day (born a) such that
A43: S . (born a) = SB and
for x being object st x in Day (born a) holds
SB . x = [((union (rng (S | (born a)))) .: (R_ x)),((union (rng (S | (born a)))) .: (L_ x))]
by A2;
A44: No_opposite_op (born a) = S . (born a) by A42, A1, A2, Th4;
A45: dom SB = Day (born a) by PARTFUN1:def 2;
A46: a in Day (born a) by SURREAL0:def 18;
SB . a = (union (rng S)) . a by Th2, A45, A46, A42, A43, A1;
then - a = y by A39, Th5, A41, A44, A45, A46, A43;
hence y in -- (L_ x) by A39, Def4; :: thesis: verum
end;
hence - x = [(-- (R_ x)),(-- (L_ x))] by A5, A26, A27, XBOOLE_0:def 10; :: thesis: verum
end;

Lm1: for D being Ordinal holds
( ( for x being Surreal st x in Day D holds
( - x is surreal & - x in Day D & ( for x1 being Surreal st x1 = - x holds
- x1 = x ) ) ) & ( for x, x1, y, y1 being Surreal st x in Day D & y in Day D & x1 = - x & y1 = - y holds
( x <= y iff y1 <= x1 ) ) )

proof
defpred S1[ Ordinal] means ( ( for x being Surreal st x in Day $1 holds
( - x is surreal & - x in Day $1 & ( for x1 being Surreal st x1 = - x holds
- x1 = x ) ) ) & ( for x, x1, y, y1 being Surreal st x in Day $1 & y in Day $1 & x1 = - x & y1 = - y holds
( x <= y iff y1 <= x1 ) ) );
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
thus A3: for x being Surreal st x in Day D holds
( - x is surreal & - x in Day D & ( for x1 being Surreal st x1 = - x holds
- x1 = x ) )
:: thesis: for x, x1, y, y1 being Surreal st x in Day D & y in Day D & x1 = - x & y1 = - y holds
( x <= y iff y1 <= x1 )
proof
let x be Surreal; :: thesis: ( x in Day D implies ( - x is surreal & - x in Day D & ( for x1 being Surreal st x1 = - x holds
- x1 = x ) ) )

assume A4: x in Day D ; :: thesis: ( - x is surreal & - x in Day D & ( for x1 being Surreal st x1 = - x holds
- x1 = x ) )

A5: x = [(L_ x),(R_ x)] ;
then A6: L_ x << R_ x by A4, SURREAL0:46;
A7: -- (R_ x) << -- (L_ x)
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in -- (R_ x) or not r in -- (L_ x) or not r <= l )
assume A8: ( l in -- (R_ x) & r in -- (L_ x) ) ; :: thesis: not r <= l
consider L being Surreal such that
A9: ( L in R_ x & l = - L ) by A8, Def4;
consider R being Surreal such that
A10: ( R in L_ x & r = - R ) by A8, Def4;
L in (L_ x) \/ (R_ x) by A9, XBOOLE_0:def 3;
then consider OL being Ordinal such that
A11: ( OL in D & L in Day OL ) by A4, A5, SURREAL0:46;
A12: not L <= R by A6, A10, A9;
R in (L_ x) \/ (R_ x) by A10, XBOOLE_0:def 3;
then consider OR being Ordinal such that
A13: ( OR in D & R in Day OR ) by A4, A5, SURREAL0:46;
set O = OL \/ OR;
A14: ( Day OL c= Day (OL \/ OR) & Day OR c= Day (OL \/ OR) ) by SURREAL0:35, XBOOLE_1:7;
OL \/ OR in D by ORDINAL3:12, A11, A13;
hence not r <= l by A2, A12, A14, A9, A10, A13, A11; :: thesis: verum
end;
for y being object st y in (-- (R_ x)) \/ (-- (L_ x)) holds
ex O being Ordinal st
( O in D & y in Day O )
proof
let y be object ; :: thesis: ( y in (-- (R_ x)) \/ (-- (L_ x)) implies ex O being Ordinal st
( O in D & y in Day O ) )

assume A15: y in (-- (R_ x)) \/ (-- (L_ x)) ; :: thesis: ex O being Ordinal st
( O in D & y in Day O )

per cases ( y in -- (R_ x) or y in -- (L_ x) ) by A15, XBOOLE_0:def 3;
suppose y in -- (R_ x) ; :: thesis: ex O being Ordinal st
( O in D & y in Day O )

then consider L being Surreal such that
A16: ( L in R_ x & y = - L ) by Def4;
L in (L_ x) \/ (R_ x) by A16, XBOOLE_0:def 3;
then consider OL being Ordinal such that
A17: ( OL in D & L in Day OL ) by A4, A5, SURREAL0:46;
S1[OL] by A17, A2;
hence ex O being Ordinal st
( O in D & y in Day O )
by A16, A17; :: thesis: verum
end;
suppose y in -- (L_ x) ; :: thesis: ex O being Ordinal st
( O in D & y in Day O )

then consider L being Surreal such that
A18: ( L in L_ x & y = - L ) by Def4;
L in (L_ x) \/ (R_ x) by A18, XBOOLE_0:def 3;
then consider OL being Ordinal such that
A19: ( OL in D & L in Day OL ) by A4, A5, SURREAL0:46;
S1[OL] by A19, A2;
hence ex O being Ordinal st
( O in D & y in Day O )
by A18, A19; :: thesis: verum
end;
end;
end;
then [(-- (R_ x)),(-- (L_ x))] in Day D by A7, SURREAL0:46;
hence ( - x is surreal & - x in Day D ) by Th7; :: thesis: for x1 being Surreal st x1 = - x holds
- x1 = x

let x1 be Surreal; :: thesis: ( x1 = - x implies - x1 = x )
assume A20: x1 = - x ; :: thesis: - x1 = x
A21: x1 = [(-- (R_ x)),(-- (L_ x))] by A20, Th7;
A22: - x1 = [(-- (R_ x1)),(-- (L_ x1))] by Th7;
A23: -- (R_ x1) c= L_ x
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in -- (R_ x1) or y in L_ x )
assume y in -- (R_ x1) ; :: thesis: y in L_ x
then consider y1 being Surreal such that
A24: ( y1 in R_ x1 & - y1 = y ) by Def4;
consider y2 being Surreal such that
A25: ( y2 in L_ x & - y2 = y1 ) by A21, A24, Def4;
y2 in (L_ x) \/ (R_ x) by A25, XBOOLE_0:def 3;
then A26: ( born y2 in born x & born x c= D ) by A4, SURREALO:1, SURREAL0:def 18;
y2 in Day (born y2) by SURREAL0:def 18;
hence y in L_ x by A25, A2, A26, A24; :: thesis: verum
end;
L_ x c= -- (R_ x1)
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in L_ x or y in -- (R_ x1) )
assume A27: y in L_ x ; :: thesis: y in -- (R_ x1)
then reconsider y = y as Surreal by SURREAL0:def 16;
y in (L_ x) \/ (R_ x) by A27, XBOOLE_0:def 3;
then A28: ( born y in born x & born x c= D & y in Day (born y) ) by A4, SURREALO:1, SURREAL0:def 18;
then reconsider y1 = - y as Surreal by A2;
y1 in R_ x1 by A21, A27, Def4;
then - y1 in -- (R_ x1) by Def4;
hence y in -- (R_ x1) by A28, A2; :: thesis: verum
end;
then A29: L_ x = -- (R_ x1) by A23, XBOOLE_0:def 10;
A30: -- (L_ x1) c= R_ x
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in -- (L_ x1) or y in R_ x )
assume y in -- (L_ x1) ; :: thesis: y in R_ x
then consider y1 being Surreal such that
A31: ( y1 in L_ x1 & - y1 = y ) by Def4;
consider y2 being Surreal such that
A32: ( y2 in R_ x & - y2 = y1 ) by A21, A31, Def4;
y2 in (L_ x) \/ (R_ x) by A32, XBOOLE_0:def 3;
then A33: ( born y2 in born x & born x c= D ) by A4, SURREALO:1, SURREAL0:def 18;
y2 in Day (born y2) by SURREAL0:def 18;
hence y in R_ x by A32, A2, A33, A31; :: thesis: verum
end;
R_ x c= -- (L_ x1)
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in R_ x or y in -- (L_ x1) )
assume A34: y in R_ x ; :: thesis: y in -- (L_ x1)
then reconsider y = y as Surreal by SURREAL0:def 16;
y in (L_ x) \/ (R_ x) by A34, XBOOLE_0:def 3;
then A35: ( born y in born x & born x c= D & y in Day (born y) ) by A4, SURREALO:1, SURREAL0:def 18;
then reconsider y1 = - y as Surreal by A2;
y1 in L_ x1 by A21, A34, Def4;
then - y1 in -- (L_ x1) by Def4;
hence y in -- (L_ x1) by A35, A2; :: thesis: verum
end;
then R_ x = -- (L_ x1) by A30, XBOOLE_0:def 10;
hence - x1 = x by A22, A29; :: thesis: verum
end;
defpred S2[ Ordinal] means for x, x1, y, y1 being Surreal st x in Day D & y in Day D & x1 = - x & y1 = - y & (born x) (+) (born y) c= $1 holds
( x <= y iff y1 <= x1 );
A36: for E being Ordinal st ( for F being Ordinal st F in E holds
S2[F] ) holds
S2[E]
proof
let E be Ordinal; :: thesis: ( ( for F being Ordinal st F in E holds
S2[F] ) implies S2[E] )

assume A37: for C being Ordinal st C in E holds
S2[C]
; :: thesis: S2[E]
A38: for x, x1, y, y1 being Surreal st x in Day D & y in Day D & x1 = - x & y1 = - y & (born x) (+) (born y) c= E & x <= y holds
y1 <= x1
proof
let x, x1, y, y1 be Surreal; :: thesis: ( x in Day D & y in Day D & x1 = - x & y1 = - y & (born x) (+) (born y) c= E & x <= y implies y1 <= x1 )
assume A39: ( x in Day D & y in Day D & x1 = - x & y1 = - y & (born x) (+) (born y) c= E & x <= y ) ; :: thesis: y1 <= x1
A40: ( - x = [(-- (R_ x)),(-- (L_ x))] & - y = [(-- (R_ y)),(-- (L_ y))] ) by Th7;
A41: ( x in Day (born x) & born x c= D ) by A39, SURREAL0:def 18;
A42: ( y in Day (born y) & born y c= D ) by A39, SURREAL0:def 18;
A43: ( L_ x << {y} & {x} << R_ y ) by A39, SURREAL0:43;
A44: {y1} << R_ x1
proof
let r, l1 be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not r in {y1} or not l1 in R_ x1 or not l1 <= r )
assume A45: ( r in {y1} & l1 in R_ x1 ) ; :: thesis: not l1 <= r
consider l being Surreal such that
A46: ( l in L_ x & l1 = - l ) by A45, A39, A40, Def4;
A47: l in (L_ x) \/ (R_ x) by XBOOLE_0:def 3, A46;
then A48: born l in born x by SURREALO:1;
A49: (born l) (+) (born y) in (born x) (+) (born y) by A47, SURREALO:1, ORDINAL7:94;
A50: ( l in Day (born l) & Day (born l) c= Day D ) by A41, A48, SURREAL0:def 18, SURREAL0:35, ORDINAL1:def 2;
A51: r = y1 by A45, TARSKI:def 1;
y in {y} by TARSKI:def 1;
then not y <= l by A43, A46;
hence not l1 <= r by A50, A49, A39, A37, A46, A51; :: thesis: verum
end;
L_ y1 << {x1}
proof
let l1, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l1 in L_ y1 or not r in {x1} or not r <= l1 )
assume A52: ( l1 in L_ y1 & r in {x1} ) ; :: thesis: not r <= l1
consider l being Surreal such that
A53: ( l in R_ y & l1 = - l ) by A52, A39, A40, Def4;
A54: l in (L_ y) \/ (R_ y) by XBOOLE_0:def 3, A53;
then A55: born l in born y by SURREALO:1;
A56: (born l) (+) (born x) in (born x) (+) (born y) by A54, SURREALO:1, ORDINAL7:94;
A57: ( l in Day (born l) & Day (born l) c= Day D ) by A42, A55, SURREAL0:def 18, SURREAL0:35, ORDINAL1:def 2;
A58: r = x1 by A52, TARSKI:def 1;
x in {x} by TARSKI:def 1;
then not l <= x by A43, A53;
hence not r <= l1 by A58, A57, A56, A39, A37, A53; :: thesis: verum
end;
hence y1 <= x1 by A44, SURREAL0:43; :: thesis: verum
end;
let x, x1, y, y1 be Surreal; :: thesis: ( x in Day D & y in Day D & x1 = - x & y1 = - y & (born x) (+) (born y) c= E implies ( x <= y iff y1 <= x1 ) )
assume A59: ( x in Day D & y in Day D & x1 = - x & y1 = - y & (born x) (+) (born y) c= E ) ; :: thesis: ( x <= y iff y1 <= x1 )
thus ( x <= y implies y1 <= x1 ) by A59, A38; :: thesis: ( y1 <= x1 implies x <= y )
A60: x in Day (born x) by SURREAL0:def 18;
born x c= D by A59, SURREAL0:def 18;
then ( born x = D or born x in D ) by ORDINAL1:11, XBOOLE_0:def 8;
then x1 in Day (born x) by A60, A3, A2, A59;
then A61: born x1 c= born x by SURREAL0:def 18;
A62: x1 in Day (born x1) by SURREAL0:def 18;
A63: x1 in Day D by A3, A59;
then born x1 c= D by SURREAL0:def 18;
then A64: ( born x1 = D or born x1 in D ) by ORDINAL1:11, XBOOLE_0:def 8;
A65: - x1 = x by A3, A59;
then x in Day (born x1) by A62, A64, A3, A2;
then born x c= born x1 by SURREAL0:def 18;
then A66: born x = born x1 by A61, XBOOLE_0:def 10;
A67: y in Day (born y) by SURREAL0:def 18;
born y c= D by A59, SURREAL0:def 18;
then ( born y = D or born y in D ) by ORDINAL1:11, XBOOLE_0:def 8;
then y1 in Day (born y) by A67, A3, A2, A59;
then A68: born y1 c= born y by SURREAL0:def 18;
A69: y1 in Day (born y1) by SURREAL0:def 18;
A70: y1 in Day D by A3, A59;
then born y1 c= D by SURREAL0:def 18;
then A71: ( born y1 = D or born y1 in D ) by ORDINAL1:11, XBOOLE_0:def 8;
A72: - y1 = y by A3, A59;
then y in Day (born y1) by A69, A71, A3, A2;
then born y c= born y1 by SURREAL0:def 18;
then born y = born y1 by A68, XBOOLE_0:def 10;
hence ( y1 <= x1 implies x <= y ) by A59, A38, A66, A65, A72, A70, A63; :: thesis: verum
end;
A73: for E being Ordinal holds S2[E] from ORDINAL1:sch 2(A36);
let x, x1, y, y1 be Surreal; :: thesis: ( x in Day D & y in Day D & x1 = - x & y1 = - y implies ( x <= y iff y1 <= x1 ) )
assume A74: ( x in Day D & y in Day D & x1 = - x & y1 = - y ) ; :: thesis: ( x <= y iff y1 <= x1 )
S2[(born x) (+) (born y)] by A73;
hence ( x <= y iff y1 <= x1 ) by A74; :: thesis: verum
end;
for E being Ordinal holds S1[E] from ORDINAL1:sch 2(A1);
hence for D being Ordinal holds
( ( for x being Surreal st x in Day D holds
( - x is surreal & - x in Day D & ( for x1 being Surreal st x1 = - x holds
- x1 = x ) ) ) & ( for x, x1, y, y1 being Surreal st x in Day D & y in Day D & x1 = - x & y1 = - y holds
( x <= y iff y1 <= x1 ) ) )
; :: thesis: verum
end;

registration
let x be Surreal;
cluster - x -> surreal ;
coherence
- x is surreal
proof
x in Day (born x) by SURREAL0:def 18;
hence - x is surreal by Lm1; :: thesis: verum
end;
end;

registration
let X be set ;
cluster -- X -> surreal-membered ;
coherence
-- X is surreal-membered
proof
let y be object ; :: according to SURREAL0:def 16 :: thesis: ( not y in -- X or y is surreal )
assume y in -- X ; :: thesis: y is surreal
then ex x being Surreal st
( x in X & y = - x )
by Def4;
hence y is surreal ; :: thesis: verum
end;
end;

theorem Th8: :: SURREALR:8
for x being Surreal holds
( L_ (- x) = -- (R_ x) & R_ (- x) = -- (L_ x) )
proof
let x be Surreal; :: thesis: ( L_ (- x) = -- (R_ x) & R_ (- x) = -- (L_ x) )
- x = [(-- (R_ x)),(-- (L_ x))] by Th7;
hence ( L_ (- x) = -- (R_ x) & R_ (- x) = -- (L_ x) ) ; :: thesis: verum
end;

theorem Th9: :: SURREALR:9
for x being Surreal holds - (- x) = x
proof
let x be Surreal; :: thesis: - (- x) = x
x in Day (born x) by SURREAL0:def 18;
hence - (- x) = x by Lm1; :: thesis: verum
end;

registration
let x be Surreal;
reduce - (- x) with x;
reducibility
- (- x) = x
by Th9;
end;

theorem Th10: :: SURREALR:10
for x, y being Surreal holds
( x <= y iff - y <= - x )
proof
let x, y be Surreal; :: thesis: ( x <= y iff - y <= - x )
set Bx = born x;
set By = born y;
set B = (born x) \/ (born y);
A1: ( Day (born x) c= Day ((born x) \/ (born y)) & Day (born y) c= Day ((born x) \/ (born y)) ) by SURREAL0:35, XBOOLE_1:7;
( x in Day (born x) & y in Day (born y) ) by SURREAL0:def 18;
hence ( x <= y iff - y <= - x ) by A1, Lm1; :: thesis: verum
end;

theorem :: SURREALR:11
for x being Surreal
for D being Ordinal st x in Day D holds
- x in Day D by Lm1;

theorem Th12: :: SURREALR:12
for x being Surreal holds born x = born (- x)
proof
let x be Surreal; :: thesis: born x = born (- x)
( x in Day (born x) & - x in Day (born (- x)) ) by SURREAL0:def 18;
then ( - x in Day (born x) & - (- x) in Day (born (- x)) & - (- x) = x ) by Lm1;
then ( born (- x) c= born x & born x c= born (- x) ) by SURREAL0:def 18;
hence born x = born (- x) by XBOOLE_0:def 10; :: thesis: verum
end;

theorem Th13: :: SURREALR:13
for x being Surreal holds born_eq x = born_eq (- x)
proof
let x be Surreal; :: thesis: born_eq x = born_eq (- x)
consider y being Surreal such that
A1: ( born y = born_eq x & y == x ) by SURREALO:def 5;
A2: - y == - x by A1, Th10;
A3: born y = born (- y) by Th12;
for z being Surreal st z == - x holds
born y c= born z
proof
let z be Surreal; :: thesis: ( z == - x implies born y c= born z )
assume z == - x ; :: thesis: born y c= born z
then ( - z == - (- x) & - (- x) = x ) by Th10;
then born_eq x c= born (- z) by SURREALO:def 5;
hence born y c= born z by A1, Th12; :: thesis: verum
end;
hence born_eq x = born_eq (- x) by A1, A2, A3, SURREALO:def 5; :: thesis: verum
end;

theorem :: SURREALR:14
for x, y being Surreal st x in born_eq_set y holds
- x in born_eq_set (- y)
proof
let x, y be Surreal; :: thesis: ( x in born_eq_set y implies - x in born_eq_set (- y) )
assume A1: x in born_eq_set y ; :: thesis: - x in born_eq_set (- y)
then x == y by SURREALO:def 6;
then A2: - x == - y by Th10;
x in Day (born_eq y) by A1, SURREALO:def 6;
then ( born (- x) = born x & born x c= born_eq y & born_eq y = born_eq (- y) ) by SURREAL0:def 18, Th13, Th12;
then ( - x in Day (born (- x)) & Day (born (- x)) c= Day (born_eq (- y)) ) by SURREAL0:def 18, SURREAL0:35;
hence - x in born_eq_set (- y) by A2, SURREALO:def 6; :: thesis: verum
end;

theorem Th15: :: SURREALR:15
for X being surreal-membered set holds -- (-- X) = X
proof
let X be surreal-membered set ; :: thesis: -- (-- X) = X
thus -- (-- X) c= X :: according to XBOOLE_0:def 10 :: thesis: X c= -- (-- X)
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in -- (-- X) or x in X )
assume x in -- (-- X) ; :: thesis: x in X
then consider y being Surreal such that
A1: ( y in -- X & x = - y ) by Def4;
ex z being Surreal st
( z in X & y = - z )
by A1, Def4;
hence x in X by A1; :: thesis: verum
end;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in X or x in -- (-- X) )
assume A2: x in X ; :: thesis: x in -- (-- X)
then reconsider x = x as Surreal by SURREAL0:def 16;
- x in -- X by A2, Def4;
then - (- x) in -- (-- X) by Def4;
hence x in -- (-- X) ; :: thesis: verum
end;

theorem Th16: :: SURREALR:16
for X being set holds card (-- X) c= card X
proof
let X be set ; :: thesis: card (-- X) c= card X
defpred S1[ object , object ] means for x being Surreal st x = $1 holds
$2 = - x;
A1: for o being object st o in -- X holds
ex u being object st S1[o,u]
proof
let o be object ; :: thesis: ( o in -- X implies ex u being object st S1[o,u] )
assume o in -- X ; :: thesis: ex u being object st S1[o,u]
then consider x being Surreal such that
A2: ( x in X & o = - x ) by Def4;
take x ; :: thesis: S1[o,x]
let y be Surreal; :: thesis: ( y = o implies x = - y )
thus ( y = o implies x = - y ) by A2; :: thesis: verum
end;
consider f being Function such that
A3: dom f = -- X and
A4: for o being object st o in -- X holds
S1[o,f . o]
from CLASSES1:sch 1(A1);
A5: rng f c= X
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in rng f or y in X )
assume y in rng f ; :: thesis: y in X
then consider x being object such that
A6: ( x in dom f & f . x = y ) by FUNCT_1:def 3;
consider z being Surreal such that
A7: ( z in X & x = - z ) by A3, A6, Def4;
( f . x = - (- z) & - (- z) = z ) by A6, A7, A3, A4;
hence y in X by A7, A6; :: thesis: verum
end;
f is one-to-one
proof
let x1, x2 be object ; :: according to FUNCT_1:def 4 :: thesis: ( not x1 in proj1 f or not x2 in proj1 f or not f . x1 = f . x2 or x1 = x2 )
assume A8: ( x1 in dom f & x2 in dom f & f . x1 = f . x2 ) ; :: thesis: x1 = x2
consider y1 being Surreal such that
A9: ( y1 in X & x1 = - y1 ) by A8, A3, Def4;
consider y2 being Surreal such that
A10: ( y2 in X & x2 = - y2 ) by A8, A3, Def4;
( f . x1 = - (- y1) & - (- y1) = y1 & f . x2 = - (- y2) & - (- y2) = y2 ) by A10, A9, A3, A8, A4;
hence x1 = x2 by A8, A9, A10; :: thesis: verum
end;
hence card (-- X) c= card X by CARD_1:10, A3, A5; :: thesis: verum
end;

theorem :: SURREALR:17
for X being surreal-membered set holds card X = card (-- X)
proof
let X be surreal-membered set ; :: thesis: card X = card (-- X)
-- (-- X) = X by Th15;
then ( card (-- X) c= card X & card X c= card (-- X) ) by Th16;
hence card X = card (-- X) by XBOOLE_0:def 10; :: thesis: verum
end;

Lm2: for X, Y being surreal-membered set st X <<= Y holds
-- Y <<= -- X

proof
let X, Y be surreal-membered set ; :: thesis: ( X <<= Y implies -- Y <<= -- X )
assume A1: X <<= Y ; :: thesis: -- Y <<= -- X
let l1, r1 be Surreal; :: according to SURREAL0:def 19 :: thesis: ( not l1 in -- X or not r1 in -- Y or r1 <= l1 )
assume A2: ( l1 in -- X & r1 in -- Y ) ; :: thesis: r1 <= l1
consider l being Surreal such that
A3: ( l in X & l1 = - l ) by A2, Def4;
ex r being Surreal st
( r in Y & r1 = - r )
by A2, Def4;
hence r1 <= l1 by A3, A1, Th10; :: thesis: verum
end;

theorem :: SURREALR:18
for X, Y being surreal-membered set holds
( X <<= Y iff -- Y <<= -- X )
proof
let X, Y be surreal-membered set ; :: thesis: ( X <<= Y iff -- Y <<= -- X )
( -- (-- X) = X & -- (-- Y) = Y ) by Th15;
hence ( X <<= Y iff -- Y <<= -- X ) by Lm2; :: thesis: verum
end;

Lm3: for X, Y being surreal-membered set st X << Y holds
-- Y << -- X

proof
let X, Y be surreal-membered set ; :: thesis: ( X << Y implies -- Y << -- X )
assume A1: X << Y ; :: thesis: -- Y << -- X
let l1, r1 be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l1 in -- Y or not r1 in -- X or not r1 <= l1 )
assume A2: ( l1 in -- Y & r1 in -- X ) ; :: thesis: not r1 <= l1
A3: ex l being Surreal st
( l in Y & l1 = - l )
by A2, Def4;
ex r being Surreal st
( r in X & r1 = - r )
by A2, Def4;
hence not r1 <= l1 by A3, A1, Th10; :: thesis: verum
end;

theorem :: SURREALR:19
for X, Y being surreal-membered set holds
( X << Y iff -- Y << -- X )
proof
let X, Y be surreal-membered set ; :: thesis: ( X << Y iff -- Y << -- X )
( -- (-- X) = X & -- (-- Y) = Y ) by Th15;
hence ( X << Y iff -- Y << -- X ) by Lm3; :: thesis: verum
end;

theorem Th20: :: SURREALR:20
for X1, X2 being set holds -- (X1 \/ X2) = (-- X1) \/ (-- X2)
proof
let X1, X2 be set ; :: thesis: -- (X1 \/ X2) = (-- X1) \/ (-- X2)
thus -- (X1 \/ X2) c= (-- X1) \/ (-- X2) :: according to XBOOLE_0:def 10 :: thesis: (-- X1) \/ (-- X2) c= -- (X1 \/ X2)
proof
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in -- (X1 \/ X2) or xy in (-- X1) \/ (-- X2) )
assume xy in -- (X1 \/ X2) ; :: thesis: xy in (-- X1) \/ (-- X2)
then consider x being Surreal such that
A1: ( x in X1 \/ X2 & xy = - x ) by Def4;
( x in X1 or x in X2 ) by A1, XBOOLE_0:def 3;
then ( xy in -- X1 or xy in -- X2 ) by A1, Def4;
hence xy in (-- X1) \/ (-- X2) by XBOOLE_0:def 3; :: thesis: verum
end;
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in (-- X1) \/ (-- X2) or xy in -- (X1 \/ X2) )
assume xy in (-- X1) \/ (-- X2) ; :: thesis: xy in -- (X1 \/ X2)
per cases then ( xy in -- X1 or xy in -- X2 ) by XBOOLE_0:def 3;
suppose xy in -- X1 ; :: thesis: xy in -- (X1 \/ X2)
then consider x being Surreal such that
A2: ( x in X1 & xy = - x ) by Def4;
x in X1 \/ X2 by A2, XBOOLE_0:def 3;
hence xy in -- (X1 \/ X2) by A2, Def4; :: thesis: verum
end;
suppose xy in -- X2 ; :: thesis: xy in -- (X1 \/ X2)
then consider x being Surreal such that
A3: ( x in X2 & xy = - x ) by Def4;
x in X1 \/ X2 by A3, XBOOLE_0:def 3;
hence xy in -- (X1 \/ X2) by A3, Def4; :: thesis: verum
end;
end;
end;

theorem Th21: :: SURREALR:21
for x being Surreal holds {(- x)} = -- {x}
proof
let x be Surreal; :: thesis: {(- x)} = -- {x}
for o being object st o in {(- x)} holds
o in -- {x}
proof
let o be object ; :: thesis: ( o in {(- x)} implies o in -- {x} )
assume o in {(- x)} ; :: thesis: o in -- {x}
then ( o = - x & x in {x} ) by TARSKI:def 1;
hence o in -- {x} by Def4; :: thesis: verum
end;
hence {(- x)} c= -- {x} by TARSKI:def 3; :: according to XBOOLE_0:def 10 :: thesis: -- {x} c= {(- x)}
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in -- {x} or xy in {(- x)} )
assume xy in -- {x} ; :: thesis: xy in {(- x)}
then consider y being Surreal such that
A1: ( y in {x} & xy = - y ) by Def4;
x = y by A1, TARSKI:def 1;
hence xy in {(- x)} by A1, TARSKI:def 1; :: thesis: verum
end;

theorem Th22: :: SURREALR:22
-- {} = {}
proof
assume -- {} <> {} ; :: thesis: contradiction
then consider x being object such that
A1: x in -- {} by XBOOLE_0:def 1;
ex y being Surreal st
( y in {} & x = - y )
by A1, Def4;
hence contradiction ; :: thesis: verum
end;

theorem Th23: :: SURREALR:23
- 0_No = 0_No
proof
- 0_No = [(-- (R_ 0_No)),(-- (L_ 0_No))] by Th7;
hence - 0_No = 0_No by Th22; :: thesis: verum
end;

registration
reduce - 0_No with 0_No ;
reducibility
- 0_No = 0_No
by Th23;
end;

theorem :: SURREALR:24
for x being Surreal holds
( x == 0_No iff - x == 0_No ) by Th23, Th10;

definition
let A be Ordinal;
func Triangle A -> Subset of [:(Day A),(Day A):] means :Def5: :: SURREALR:def 5
for x, y being Surreal holds
( [x,y] in it iff (born x) (+) (born y) c= A );
existence
ex b1 being Subset of [:(Day A),(Day A):] st
for x, y being Surreal holds
( [x,y] in b1 iff (born x) (+) (born y) c= A )
proof
set IT = { [x,y] where x, y is Element of Day A : (born x) (+) (born y) c= A } ;
{ [x,y] where x, y is Element of Day A : (born x) (+) (born y) c= A } c= [:(Day A),(Day A):]
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in { [x,y] where x, y is Element of Day A : (born x) (+) (born y) c= A } or a in [:(Day A),(Day A):] )
assume a in { [x,y] where x, y is Element of Day A : (born x) (+) (born y) c= A } ; :: thesis: a in [:(Day A),(Day A):]
then ex x1, y1 being Element of Day A st
( a = [x1,y1] & (born x1) (+) (born y1) c= A )
;
hence a in [:(Day A),(Day A):] by ZFMISC_1:87; :: thesis: verum
end;
then reconsider IT = { [x,y] where x, y is Element of Day A : (born x) (+) (born y) c= A } as Subset of [:(Day A),(Day A):] ;
take IT ; :: thesis: for x, y being Surreal holds
( [x,y] in IT iff (born x) (+) (born y) c= A )

let x, y be Surreal; :: thesis: ( [x,y] in IT iff (born x) (+) (born y) c= A )
thus ( [x,y] in IT implies (born x) (+) (born y) c= A ) :: thesis: ( (born x) (+) (born y) c= A implies [x,y] in IT )
proof
assume [x,y] in IT ; :: thesis: (born x) (+) (born y) c= A
then consider x1, y1 being Element of Day A such that
A1: ( [x,y] = [x1,y1] & (born x1) (+) (born y1) c= A ) ;
( x = x1 & y = y1 ) by A1, XTUPLE_0:1;
hence (born x) (+) (born y) c= A by A1; :: thesis: verum
end;
A2: ( born x c= (born x) (+) (born y) & born y c= (born x) (+) (born y) ) by ORDINAL7:86;
assume A3: (born x) (+) (born y) c= A ; :: thesis: [x,y] in IT
then ( born x c= A & born y c= A ) by A2, XBOOLE_1:1;
then ( x in Day (born x) & Day (born x) c= Day A & y in Day (born y) & Day (born y) c= Day A ) by SURREAL0:35, SURREAL0:def 18;
hence [x,y] in IT by A3; :: thesis: verum
end;
uniqueness
for b1, b2 being Subset of [:(Day A),(Day A):] st ( for x, y being Surreal holds
( [x,y] in b1 iff (born x) (+) (born y) c= A ) ) & ( for x, y being Surreal holds
( [x,y] in b2 iff (born x) (+) (born y) c= A ) ) holds
b1 = b2
proof
let IT1, IT2 be Subset of [:(Day A),(Day A):]; :: thesis: ( ( for x, y being Surreal holds
( [x,y] in IT1 iff (born x) (+) (born y) c= A ) ) & ( for x, y being Surreal holds
( [x,y] in IT2 iff (born x) (+) (born y) c= A ) ) implies IT1 = IT2 )

assume that
A4: for x, y being Surreal holds
( [x,y] in IT1 iff (born x) (+) (born y) c= A )
and
A5: for x, y being Surreal holds
( [x,y] in IT2 iff (born x) (+) (born y) c= A )
; :: thesis: IT1 = IT2
let x, y be object ; :: according to RELAT_1:def 2 :: thesis: ( ( not [x,y] in IT1 or [x,y] in IT2 ) & ( not [x,y] in IT2 or [x,y] in IT1 ) )
thus ( [x,y] in IT1 implies [x,y] in IT2 ) :: thesis: ( not [x,y] in IT2 or [x,y] in IT1 )
proof
assume A6: [x,y] in IT1 ; :: thesis: [x,y] in IT2
then reconsider x1 = x, y1 = y as Element of Day A by ZFMISC_1:87;
(born x1) (+) (born y1) c= A by A6, A4;
hence [x,y] in IT2 by A5; :: thesis: verum
end;
assume A7: [x,y] in IT2 ; :: thesis: [x,y] in IT1
then reconsider x1 = x, y1 = y as Element of Day A by ZFMISC_1:87;
(born x1) (+) (born y1) c= A by A7, A5;
hence [x,y] in IT1 by A4; :: thesis: verum
end;
end;

:: deftheorem Def5 defines Triangle SURREALR:def 5 :
for A being Ordinal
for b2 being Subset of [:(Day A),(Day A):] holds
( b2 = Triangle A iff for x, y being Surreal holds
( [x,y] in b2 iff (born x) (+) (born y) c= A ) );

registration
let A be Ordinal;
cluster Triangle A -> non empty ;
coherence
not Triangle A is empty
proof
set x = the Element of Day A;
set y = the Element of Day 0;
born the Element of Day 0 c= 0 by SURREAL0:def 18;
then A1: born the Element of Day 0 = 0 ;
born the Element of Day A c= A by SURREAL0:def 18;
then (born the Element of Day A) (+) (born the Element of Day 0) c= A by A1, ORDINAL7:69;
hence not Triangle A is empty by Def5; :: thesis: verum
end;
end;

theorem Th25: :: SURREALR:25
for A, B being Ordinal st A c= B holds
Triangle A c= Triangle B
proof
let A, B be Ordinal; :: thesis: ( A c= B implies Triangle A c= Triangle B )
assume A1: A c= B ; :: thesis: Triangle A c= Triangle B
let x, y be object ; :: according to RELAT_1:def 3 :: thesis: ( not [x,y] in Triangle A or [x,y] in Triangle B )
assume A2: [x,y] in Triangle A ; :: thesis: [x,y] in Triangle B
reconsider x = x, y = y as Element of Day A by A2, ZFMISC_1:87;
(born x) (+) (born y) c= A by A2, Def5;
then (born x) (+) (born y) c= B by A1, XBOOLE_1:1;
hence [x,y] in Triangle B by Def5; :: thesis: verum
end;

definition
let A be Ordinal;
func No_sum_op A -> ManySortedSet of Triangle A means :Def6: :: SURREALR:def 6
ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) );
existence
ex b1 being ManySortedSet of Triangle A ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) )
proof
deffunc H1( Ordinal) -> Subset of [:(Day $1),(Day $1):] = Triangle $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [((union (rng $2)) .: ([:(L_ (L_ $1)),{(R_ $1)}:] \/ [:{(L_ $1)},(L_ (R_ $1)):])),((union (rng $2)) .: ([:(R_ (L_ $1)),{(R_ $1)}:] \/ [:{(L_ $1)},(R_ (R_ $1)):]))];
A1: for A, B being Ordinal st A c= B holds
H1(A) c= H1(B)
by Th25;
A2: for S being Function-yielding c=-monotone Sequence st ( for A being Ordinal st A in dom S holds
dom (S . A) = H1(A) ) holds
for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)
proof
let S be Function-yielding c=-monotone Sequence; :: thesis: ( ( for A being Ordinal st A in dom S holds
dom (S . A) = H1(A) ) implies for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S) )

assume A3: for A being Ordinal st A in dom S holds
dom (S . A) = H1(A)
; :: thesis: for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)

let A be Ordinal; :: thesis: for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)

let a be object ; :: thesis: ( a in dom (S . A) implies H2(a,S | A) = H2(a,S) )
assume A4: a in dom (S . A) ; :: thesis: H2(a,S | A) = H2(a,S)
S . A <> {} by A4;
then A5: A in dom S by FUNCT_1:def 2;
then A6: dom (S . A) = H1(A) by A3;
then consider x, y being object such that
A7: ( x in Day A & y in Day A & a = [x,y] ) by A4, ZFMISC_1:def 2;
reconsider x = x, y = y as Surreal by A7;
A8: (born x) (+) (born y) c= A by A7, A6, A4, Def5;
set LL = [:(L_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(L_ (R_ a)):];
for b being object st b in [:(L_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(L_ (R_ a)):] holds
ex B being Ordinal st
( b in dom (S . B) & B in A )
proof
let b be object ; :: thesis: ( b in [:(L_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(L_ (R_ a)):] implies ex B being Ordinal st
( b in dom (S . B) & B in A ) )

assume A9: b in [:(L_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(L_ (R_ a)):] ; :: thesis: ex B being Ordinal st
( b in dom (S . B) & B in A )

per cases ( b in [:(L_ (L_ a)),{(R_ a)}:] or b in [:{(L_ a)},(L_ (R_ a)):] ) by A9, XBOOLE_0:def 3;
suppose b in [:(L_ (L_ a)),{(R_ a)}:] ; :: thesis: ex B being Ordinal st
( b in dom (S . B) & B in A )

then consider l, r being object such that
A10: ( l in L_ x & r in {y} & b = [l,r] ) by A7, ZFMISC_1:def 2;
reconsider l = l as Surreal by A10, SURREAL0:def 16;
set B = (born l) (+) (born y);
take (born l) (+) (born y) ; :: thesis: ( b in dom (S . ((born l) (+) (born y))) & (born l) (+) (born y) in A )
l in (L_ x) \/ (R_ x) by A10, XBOOLE_0:def 3;
then A11: (born l) (+) (born y) in (born x) (+) (born y) by ORDINAL7:94, SURREALO:1;
then A12: dom (S . ((born l) (+) (born y))) = H1((born l) (+) (born y)) by A8, A3, A5, ORDINAL1:10;
[l,y] in H1((born l) (+) (born y)) by Def5;
hence ( b in dom (S . ((born l) (+) (born y))) & (born l) (+) (born y) in A ) by A12, A10, A11, A8, TARSKI:def 1; :: thesis: verum
end;
suppose b in [:{(L_ a)},(L_ (R_ a)):] ; :: thesis: ex B being Ordinal st
( b in dom (S . B) & B in A )

then consider l, r being object such that
A13: ( l in {x} & r in L_ y & b = [l,r] ) by A7, ZFMISC_1:def 2;
reconsider r = r as Surreal by A13, SURREAL0:def 16;
set B = (born x) (+) (born r);
take (born x) (+) (born r) ; :: thesis: ( b in dom (S . ((born x) (+) (born r))) & (born x) (+) (born r) in A )
r in (L_ y) \/ (R_ y) by A13, XBOOLE_0:def 3;
then A14: (born x) (+) (born r) in (born x) (+) (born y) by ORDINAL7:94, SURREALO:1;
then A15: dom (S . ((born x) (+) (born r))) = H1((born x) (+) (born r)) by A8, A3, A5, ORDINAL1:10;
[x,r] in H1((born x) (+) (born r)) by Def5;
hence ( b in dom (S . ((born x) (+) (born r))) & (born x) (+) (born r) in A ) by A15, A13, A14, A8, TARSKI:def 1; :: thesis: verum
end;
end;
end;
then A16: (union (rng (S | A))) .: ([:(L_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(L_ (R_ a)):]) = (union (rng S)) .: ([:(L_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(L_ (R_ a)):]) by Th3;
set RR = [:(R_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(R_ (R_ a)):];
for b being object st b in [:(R_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(R_ (R_ a)):] holds
ex B being Ordinal st
( b in dom (S . B) & B in A )
proof
let b be object ; :: thesis: ( b in [:(R_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(R_ (R_ a)):] implies ex B being Ordinal st
( b in dom (S . B) & B in A ) )

assume A17: b in [:(R_ (L_ a)),{(R_ a)}:] \/ [:{(L_ a)},(R_ (R_ a)):] ; :: thesis: ex B being Ordinal st
( b in dom (S . B) & B in A )

per cases ( b in [:(R_ (L_ a)),{(R_ a)}:] or b in [:{(L_ a)},(R_ (R_ a)):] ) by A17, XBOOLE_0:def 3;
suppose b in [:(R_ (L_ a)),{(R_ a)}:] ; :: thesis: ex B being Ordinal st
( b in dom (S . B) & B in A )

then consider l, r being object such that
A18: ( l in R_ x & r in {y} & b = [l,r] ) by A7, ZFMISC_1:def 2;
reconsider l = l as Surreal by A18, SURREAL0:def 16;
set B = (born l) (+) (born y);
take (born l) (+) (born y) ; :: thesis: ( b in dom (S . ((born l) (+) (born y))) & (born l) (+) (born y) in A )
l in (L_ x) \/ (R_ x) by A18, XBOOLE_0:def 3;
then A19: (born l) (+) (born y) in (born x) (+) (born y) by ORDINAL7:94, SURREALO:1;
then A20: dom (S . ((born l) (+) (born y))) = H1((born l) (+) (born y)) by A8, A3, A5, ORDINAL1:10;
[l,y] in H1((born l) (+) (born y)) by Def5;
hence ( b in dom (S . ((born l) (+) (born y))) & (born l) (+) (born y) in A ) by A20, A18, A19, A8, TARSKI:def 1; :: thesis: verum
end;
suppose b in [:{(L_ a)},(R_ (R_ a)):] ; :: thesis: ex B being Ordinal st
( b in dom (S . B) & B in A )

then consider l, r being object such that
A21: ( l in {x} & r in R_ y & b = [l,r] ) by A7, ZFMISC_1:def 2;
reconsider r = r as Surreal by A21, SURREAL0:def 16;
set B = (born x) (+) (born r);
take (born x) (+) (born r) ; :: thesis: ( b in dom (S . ((born x) (+) (born r))) & (born x) (+) (born r) in A )
r in (L_ y) \/ (R_ y) by A21, XBOOLE_0:def 3;
then A22: (born x) (+) (born r) in (born x) (+) (born y) by ORDINAL7:94, SURREALO:1;
then A23: dom (S . ((born x) (+) (born r))) = H1((born x) (+) (born r)) by A8, A3, A5, ORDINAL1:10;
[x,r] in H1((born x) (+) (born r)) by Def5;
hence ( b in dom (S . ((born x) (+) (born r))) & (born x) (+) (born r) in A ) by A23, A21, A22, A8, TARSKI:def 1; :: thesis: verum
end;
end;
end;
hence H2(a,S | A) = H2(a,S) by A16, Th3; :: thesis: verum
end;
consider S being Function-yielding c=-monotone Sequence such that
A24: dom S = succ A and
A25: for A1 being Ordinal st A1 in succ A holds
ex SA1 being ManySortedSet of H1(A1) st
( S . A1 = SA1 & ( for x being object st x in H1(A1) holds
SA1 . x = H2(x,S | A1) ) )
from SURREALR:sch 1(A2, A1);
consider SA being ManySortedSet of H1(A) such that
A26: S . A = SA and
for x being object st x in H1(A) holds
SA . x = H2(x,S | A)
by A25, ORDINAL1:6;
take SA ; :: thesis: ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & SA = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) )

take S ; :: thesis: ( dom S = succ A & SA = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) )

thus ( dom S = succ A & SA = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) )
by A24, A26, A25; :: thesis: verum
end;
uniqueness
for b1, b2 being ManySortedSet of Triangle A st ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) ) & ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) ) holds
b1 = b2
proof
deffunc H1( Ordinal) -> Subset of [:(Day $1),(Day $1):] = Triangle $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [((union (rng $2)) .: ([:(L_ (L_ $1)),{(R_ $1)}:] \/ [:{(L_ $1)},(L_ (R_ $1)):])),((union (rng $2)) .: ([:(R_ (L_ $1)),{(R_ $1)}:] \/ [:{(L_ $1)},(R_ (R_ $1)):]))];
let it1, it2 be ManySortedSet of Triangle A; :: thesis: ( ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) ) & ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) ) implies it1 = it2 )

given S1 being Function-yielding c=-monotone Sequence such that A27: ( dom S1 = succ A & it1 = S1 . A ) and
A28: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
; :: thesis: ( for S being Function-yielding c=-monotone Sequence holds
( not dom S = succ A or not it2 = S . A or ex B being Ordinal st
( B in succ A & ( for SB being ManySortedSet of Triangle B holds
( not S . B = SB or ex x being object st
( x in Triangle B & not SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) ) ) or it1 = it2 )

given S2 being Function-yielding c=-monotone Sequence such that A29: ( dom S2 = succ A & it2 = S2 . A ) and
A30: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S2 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S2 | B) ) )
; :: thesis: it1 = it2
A31: ( succ A c= dom S1 & succ A c= dom S2 ) by A27, A29;
S1 | (succ A) = S2 | (succ A) from SURREALR:sch 2(A31, A28, A30);
then S1 | (succ A) = S2 by A29;
hence it1 = it2 by A27, A29; :: thesis: verum
end;
end;

:: deftheorem Def6 defines No_sum_op SURREALR:def 6 :
for A being Ordinal
for b2 being ManySortedSet of Triangle A holds
( b2 = No_sum_op A iff ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) ) );

theorem Th26: :: SURREALR:26
for S being Function-yielding c=-monotone Sequence st ( for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) holds
for A being Ordinal st A in dom S holds
No_sum_op A = S . A
proof
deffunc H1( Ordinal) -> Subset of [:(Day $1),(Day $1):] = Triangle $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [((union (rng $2)) .: ([:(L_ (L_ $1)),{(R_ $1)}:] \/ [:{(L_ $1)},(L_ (R_ $1)):])),((union (rng $2)) .: ([:(R_ (L_ $1)),{(R_ $1)}:] \/ [:{(L_ $1)},(R_ (R_ $1)):]))];
let S be Function-yielding c=-monotone Sequence; :: thesis: ( ( for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) ) ) implies for A being Ordinal st A in dom S holds
No_sum_op A = S . A )

assume A1: for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of H1(B) st
( S . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S | B) ) )
; :: thesis: for A being Ordinal st A in dom S holds
No_sum_op A = S . A

let A be Ordinal; :: thesis: ( A in dom S implies No_sum_op A = S . A )
assume A2: A in dom S ; :: thesis: No_sum_op A = S . A
consider S1 being Function-yielding c=-monotone Sequence such that
A3: ( dom S1 = succ A & No_sum_op A = S1 . A ) and
A4: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
by Def6;
A5: succ A c= dom S by A2, ORDINAL1:21;
A6: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S | B) ) )
by A1, A5;
A7: ( succ A c= dom S & succ A c= dom S1 ) by A2, ORDINAL1:21, A3;
A8: S | (succ A) = S1 | (succ A) from SURREALR:sch 2(A7, A6, A4);
A in succ A by ORDINAL1:8;
hence No_sum_op A = S . A by A3, A8, FUNCT_1:49; :: thesis: verum
end;

definition
let x, y be Surreal;
func x + y -> set equals :: SURREALR:def 7
(No_sum_op ((born x) (+) (born y))) . [x,y];
coherence
(No_sum_op ((born x) (+) (born y))) . [x,y] is set
;
end;

:: deftheorem defines + SURREALR:def 7 :
for x, y being Surreal holds x + y = (No_sum_op ((born x) (+) (born y))) . [x,y];

definition
let X, Y be set ;
func X ++ Y -> set means :Def8: :: SURREALR:def 8
for o being object holds
( o in it iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) );
existence
ex b1 being set st
for o being object holds
( o in b1 iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) )
proof
defpred S1[ object , object ] means ( L_ $1 is Surreal & $1 `2 is Surreal & ( for x, y being Surreal st x = L_ $1 & y = $1 `2 holds
$2 = x + y ) );
A1: for x, y, z being object st S1[x,y] & S1[x,z] holds
y = z
proof
let x, y, z be object ; :: thesis: ( S1[x,y] & S1[x,z] implies y = z )
assume A2: ( S1[x,y] & S1[x,z] ) ; :: thesis: y = z
reconsider x1 = L_ x, x2 = R_ x as Surreal by A2;
( y = x1 + x2 & x1 + x2 = z ) by A2;
hence y = z ; :: thesis: verum
end;
consider M being set such that
A3: for x being object holds
( x in M iff ex y being object st
( y in [:X,Y:] & S1[y,x] ) )
from TARSKI:sch 1(A1);
take M ; :: thesis: for o being object holds
( o in M iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) )

let a be object ; :: thesis: ( a in M iff ex x, y being Surreal st
( x in X & y in Y & a = x + y ) )

thus ( a in M implies ex x, y being Surreal st
( x in X & y in Y & a = x + y ) )
:: thesis: ( ex x, y being Surreal st
( x in X & y in Y & a = x + y ) implies a in M )
proof
assume a in M ; :: thesis: ex x, y being Surreal st
( x in X & y in Y & a = x + y )

then consider yy being object such that
A4: ( yy in [:X,Y:] & S1[yy,a] ) by A3;
reconsider y1 = L_ yy, y2 = R_ yy as Surreal by A4;
take y1 ; :: thesis: ex y being Surreal st
( y1 in X & y in Y & a = y1 + y )

take y2 ; :: thesis: ( y1 in X & y2 in Y & a = y1 + y2 )
yy is pair by A4;
hence ( y1 in X & y2 in Y & a = y1 + y2 ) by A4, ZFMISC_1:87; :: thesis: verum
end;
given x, y being Surreal such that A5: ( x in X & y in Y & a = x + y ) ; :: thesis: a in M
A6: [x,y] in [:X,Y:] by A5, ZFMISC_1:87;
S1[[x,y],a] by A5;
hence a in M by A6, A3; :: thesis: verum
end;
uniqueness
for b1, b2 being set st ( for o being object holds
( o in b1 iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) ) ) & ( for o being object holds
( o in b2 iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) ) ) holds
b1 = b2
proof
let M1, M2 be set ; :: thesis: ( ( for o being object holds
( o in M1 iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) ) ) & ( for o being object holds
( o in M2 iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) ) ) implies M1 = M2 )

assume that
A7: for z being object holds
( z in M1 iff ex x, y being Surreal st
( x in X & y in Y & z = x + y ) )
and
A8: for z being object holds
( z in M2 iff ex x, y being Surreal st
( x in X & y in Y & z = x + y ) )
; :: thesis: M1 = M2
now :: thesis: for z being object holds
( z in M1 iff z in M2 )
let z be object ; :: thesis: ( z in M1 iff z in M2 )
( z in M1 iff ex x, y being Surreal st
( x in X & y in Y & z = x + y ) )
by A7;
hence ( z in M1 iff z in M2 ) by A8; :: thesis: verum
end;
hence M1 = M2 by TARSKI:2; :: thesis: verum
end;
end;

:: deftheorem Def8 defines ++ SURREALR:def 8 :
for X, Y, b3 being set holds
( b3 = X ++ Y iff for o being object holds
( o in b3 iff ex x, y being Surreal st
( x in X & y in Y & o = x + y ) ) );

theorem Th27: :: SURREALR:27
for X being set holds X ++ {} = {}
proof
let X be set ; :: thesis: X ++ {} = {}
assume X ++ {} <> {} ; :: thesis: contradiction
then consider x being object such that
A1: x in X ++ {} by XBOOLE_0:def 1;
ex a, b being Surreal st
( a in X & b in {} & x = a + b )
by Def8, A1;
hence contradiction ; :: thesis: verum
end;

theorem Th28: :: SURREALR:28
for x, y being Surreal holds x + y = [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))]
proof
let x, y be Surreal; :: thesis: x + y = [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))]
set Bx = born x;
set By = born y;
set A = (born x) (+) (born y);
consider S being Function-yielding c=-monotone Sequence such that
A1: ( dom S = succ ((born x) (+) (born y)) & No_sum_op ((born x) (+) (born y)) = S . ((born x) (+) (born y)) ) and
A2: for B being Ordinal st B in succ ((born x) (+) (born y)) holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [((union (rng (S | B))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | B))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))] ) )
by Def6;
consider SA being ManySortedSet of Triangle ((born x) (+) (born y)) such that
A3: S . ((born x) (+) (born y)) = SA and
A4: for x being object st x in Triangle ((born x) (+) (born y)) holds
SA . x = [((union (rng (S | ((born x) (+) (born y))))) .: ([:(L_ (x `1)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x) (+) (born y))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2, ORDINAL1:6;
set U = union (rng (S | ((born x) (+) (born y))));
A5: [x,y] in Triangle ((born x) (+) (born y)) by Def5;
( [x,y] `1 = x & [x,y] `2 = y ) ;
then A6: x + y = [((union (rng (S | ((born x) (+) (born y))))) .: ([:(L_ x),{y}:] \/ [:{x},(L_ y):])),((union (rng (S | ((born x) (+) (born y))))) .: ([:(R_ x),{y}:] \/ [:{x},(R_ y):]))] by A1, A3, A5, A4;
A7: (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:] c= (L_ x) ++ {y}
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:] or a in (L_ x) ++ {y} )
assume a in (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:] ; :: thesis: a in (L_ x) ++ {y}
then consider b being object such that
A8: ( b in dom (union (rng (S | ((born x) (+) (born y))))) & b in [:(L_ x),{y}:] & (union (rng (S | ((born x) (+) (born y))))) . b = a ) by FUNCT_1:def 6;
consider x1, y1 being object such that
A9: ( x1 in L_ x & y1 in {y} & b = [x1,y1] ) by ZFMISC_1:def 2, A8;
reconsider x1 = x1, y1 = y1 as Surreal by A9, SURREAL0:def 16;
set X1 = born x1;
set C = (born x1) (+) (born y);
x1 in (L_ x) \/ (R_ x) by A9, XBOOLE_0:def 3;
then A10: (born x1) (+) (born y) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A11: (born x1) (+) (born y) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x1) (+) (born y)) such that
A12: S . ((born x1) (+) (born y)) = SC and
for x being object st x in Triangle ((born x1) (+) (born y)) holds
SC . x = [((union (rng (S | ((born x1) (+) (born y))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x1) (+) (born y))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A13: y = y1 by A9, TARSKI:def 1;
A14: dom SC = Triangle ((born x1) (+) (born y)) by PARTFUN1:def 2;
A15: [x1,y] in Triangle ((born x1) (+) (born y)) by Def5;
A16: x1 + y = SC . [x1,y] by A11, A1, A2, A12, Th26;
A17: SC . [x1,y] = (union (rng S)) . [x1,y] by A11, A14, A15, Th2, A1, A12;
(union (rng (S | ((born x) (+) (born y))))) . b = (union (rng S)) . b by A12, Th5, A10, A13, A9, A15, A14;
hence a in (L_ x) ++ {y} by A9, Def8, A8, A17, A16, A13; :: thesis: verum
end;
(L_ x) ++ {y} c= (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:]
proof
let b be object ; :: according to TARSKI:def 3 :: thesis: ( not b in (L_ x) ++ {y} or b in (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:] )
assume b in (L_ x) ++ {y} ; :: thesis: b in (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:]
then consider x1, y1 being Surreal such that
A18: ( x1 in L_ x & y1 in {y} & b = x1 + y1 ) by Def8;
A19: y = y1 by A18, TARSKI:def 1;
set X1 = born x1;
set C = (born x1) (+) (born y);
x1 in (L_ x) \/ (R_ x) by A18, XBOOLE_0:def 3;
then A20: (born x1) (+) (born y) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A21: (born x1) (+) (born y) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x1) (+) (born y)) such that
A22: S . ((born x1) (+) (born y)) = SC and
for x being object st x in Triangle ((born x1) (+) (born y)) holds
SC . x = [((union (rng (S | ((born x1) (+) (born y))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x1) (+) (born y))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A23: dom SC = Triangle ((born x1) (+) (born y)) by PARTFUN1:def 2;
A24: [x1,y] in Triangle ((born x1) (+) (born y)) by Def5;
A25: x1 + y = SC . [x1,y] by A21, A1, A2, A22, Th26;
SC . [x1,y] = (union (rng S)) . [x1,y] by A21, A23, A24, Th2, A1, A22;
then A26: (union (rng (S | ((born x) (+) (born y))))) . [x1,y] = b by A25, A18, A19, A22, Th5, A20, A24, A23;
A27: [x1,y] in dom (union (rng (S | ((born x) (+) (born y))))) by A22, Th5, A20, A24, A23;
[x1,y] in [:(L_ x),{y}:] by A18, A19, ZFMISC_1:87;
hence b in (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:] by A26, A27, FUNCT_1:def 6; :: thesis: verum
end;
then A28: (union (rng (S | ((born x) (+) (born y))))) .: [:(L_ x),{y}:] = (L_ x) ++ {y} by A7, XBOOLE_0:def 10;
A29: (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:] c= (R_ x) ++ {y}
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:] or a in (R_ x) ++ {y} )
assume a in (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:] ; :: thesis: a in (R_ x) ++ {y}
then consider b being object such that
A30: ( b in dom (union (rng (S | ((born x) (+) (born y))))) & b in [:(R_ x),{y}:] & (union (rng (S | ((born x) (+) (born y))))) . b = a ) by FUNCT_1:def 6;
consider x1, y1 being object such that
A31: ( x1 in R_ x & y1 in {y} & b = [x1,y1] ) by ZFMISC_1:def 2, A30;
reconsider x1 = x1, y1 = y1 as Surreal by A31, SURREAL0:def 16;
set X1 = born x1;
set C = (born x1) (+) (born y);
x1 in (L_ x) \/ (R_ x) by A31, XBOOLE_0:def 3;
then A32: (born x1) (+) (born y) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A33: (born x1) (+) (born y) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x1) (+) (born y)) such that
A34: S . ((born x1) (+) (born y)) = SC and
for x being object st x in Triangle ((born x1) (+) (born y)) holds
SC . x = [((union (rng (S | ((born x1) (+) (born y))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x1) (+) (born y))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A35: y = y1 by A31, TARSKI:def 1;
A36: dom SC = Triangle ((born x1) (+) (born y)) by PARTFUN1:def 2;
A37: [x1,y] in Triangle ((born x1) (+) (born y)) by Def5;
A38: x1 + y = SC . [x1,y] by A33, A1, A2, A34, Th26;
A39: SC . [x1,y] = (union (rng S)) . [x1,y] by A33, A36, A37, Th2, A1, A34;
(union (rng (S | ((born x) (+) (born y))))) . b = (union (rng S)) . b by A34, Th5, A32, A35, A31, A37, A36;
hence a in (R_ x) ++ {y} by A31, Def8, A30, A39, A38, A35; :: thesis: verum
end;
(R_ x) ++ {y} c= (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:]
proof
let b be object ; :: according to TARSKI:def 3 :: thesis: ( not b in (R_ x) ++ {y} or b in (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:] )
assume b in (R_ x) ++ {y} ; :: thesis: b in (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:]
then consider x1, y1 being Surreal such that
A40: ( x1 in R_ x & y1 in {y} & b = x1 + y1 ) by Def8;
A41: y = y1 by A40, TARSKI:def 1;
set X1 = born x1;
set C = (born x1) (+) (born y);
x1 in (L_ x) \/ (R_ x) by A40, XBOOLE_0:def 3;
then A42: (born x1) (+) (born y) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A43: (born x1) (+) (born y) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x1) (+) (born y)) such that
A44: S . ((born x1) (+) (born y)) = SC and
for x being object st x in Triangle ((born x1) (+) (born y)) holds
SC . x = [((union (rng (S | ((born x1) (+) (born y))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x1) (+) (born y))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A45: dom SC = Triangle ((born x1) (+) (born y)) by PARTFUN1:def 2;
A46: [x1,y] in Triangle ((born x1) (+) (born y)) by Def5;
A47: x1 + y = SC . [x1,y] by A43, A1, A2, A44, Th26;
SC . [x1,y] = (union (rng S)) . [x1,y] by A43, A45, A46, Th2, A1, A44;
then A48: (union (rng (S | ((born x) (+) (born y))))) . [x1,y] = b by A47, A44, Th5, A42, A46, A45, A40, A41;
A49: [x1,y] in dom (union (rng (S | ((born x) (+) (born y))))) by A44, Th5, A42, A46, A45;
[x1,y] in [:(R_ x),{y}:] by A40, A41, ZFMISC_1:87;
hence b in (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:] by A48, A49, FUNCT_1:def 6; :: thesis: verum
end;
then A50: (union (rng (S | ((born x) (+) (born y))))) .: [:(R_ x),{y}:] = (R_ x) ++ {y} by A29, XBOOLE_0:def 10;
A51: (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):] c= {x} ++ (L_ y)
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):] or a in {x} ++ (L_ y) )
assume a in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):] ; :: thesis: a in {x} ++ (L_ y)
then consider b being object such that
A52: ( b in dom (union (rng (S | ((born x) (+) (born y))))) & b in [:{x},(L_ y):] & (union (rng (S | ((born x) (+) (born y))))) . b = a ) by FUNCT_1:def 6;
consider x1, y1 being object such that
A53: ( x1 in {x} & y1 in L_ y & b = [x1,y1] ) by ZFMISC_1:def 2, A52;
reconsider x1 = x1, y1 = y1 as Surreal by A53, SURREAL0:def 16;
set Y1 = born y1;
set C = (born x) (+) (born y1);
y1 in (L_ y) \/ (R_ y) by A53, XBOOLE_0:def 3;
then A54: (born x) (+) (born y1) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A55: (born x) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x) (+) (born y1)) such that
A56: S . ((born x) (+) (born y1)) = SC and
for x being object st x in Triangle ((born x) (+) (born y1)) holds
SC . x = [((union (rng (S | ((born x) (+) (born y1))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x) (+) (born y1))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A57: x = x1 by A53, TARSKI:def 1;
A58: dom SC = Triangle ((born x) (+) (born y1)) by PARTFUN1:def 2;
A59: [x,y1] in Triangle ((born x) (+) (born y1)) by Def5;
A60: x + y1 = SC . [x,y1] by A55, A1, A2, A56, Th26;
A61: SC . [x,y1] = (union (rng S)) . [x,y1] by A55, A58, A59, Th2, A1, A56;
(union (rng (S | ((born x) (+) (born y))))) . b = (union (rng S)) . b by A56, Th5, A54, A57, A53, A59, A58;
hence a in {x} ++ (L_ y) by A53, Def8, A52, A61, A60, A57; :: thesis: verum
end;
{x} ++ (L_ y) c= (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):]
proof
let b be object ; :: according to TARSKI:def 3 :: thesis: ( not b in {x} ++ (L_ y) or b in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):] )
assume b in {x} ++ (L_ y) ; :: thesis: b in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):]
then consider x1, y1 being Surreal such that
A62: ( x1 in {x} & y1 in L_ y & b = x1 + y1 ) by Def8;
A63: x = x1 by A62, TARSKI:def 1;
set Y1 = born y1;
set C = (born x) (+) (born y1);
y1 in (L_ y) \/ (R_ y) by A62, XBOOLE_0:def 3;
then A64: (born x) (+) (born y1) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A65: (born x) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x) (+) (born y1)) such that
A66: S . ((born x) (+) (born y1)) = SC and
for x being object st x in Triangle ((born x) (+) (born y1)) holds
SC . x = [((union (rng (S | ((born x) (+) (born y1))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x) (+) (born y1))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A67: dom SC = Triangle ((born x) (+) (born y1)) by PARTFUN1:def 2;
A68: [x,y1] in Triangle ((born x) (+) (born y1)) by Def5;
A69: x + y1 = SC . [x,y1] by A65, A1, A2, A66, Th26;
SC . [x,y1] = (union (rng S)) . [x,y1] by A65, A67, A68, Th2, A1, A66;
then A70: (union (rng (S | ((born x) (+) (born y))))) . [x,y1] = b by A69, A66, Th5, A64, A68, A67, A62, A63;
A71: [x,y1] in dom (union (rng (S | ((born x) (+) (born y))))) by A66, Th5, A64, A68, A67;
[x,y1] in [:{x},(L_ y):] by A62, A63, ZFMISC_1:87;
hence b in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):] by A70, A71, FUNCT_1:def 6; :: thesis: verum
end;
then A72: {x} ++ (L_ y) = (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(L_ y):] by A51, XBOOLE_0:def 10;
A73: (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):] c= {x} ++ (R_ y)
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):] or a in {x} ++ (R_ y) )
assume a in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):] ; :: thesis: a in {x} ++ (R_ y)
then consider b being object such that
A74: ( b in dom (union (rng (S | ((born x) (+) (born y))))) & b in [:{x},(R_ y):] & (union (rng (S | ((born x) (+) (born y))))) . b = a ) by FUNCT_1:def 6;
consider x1, y1 being object such that
A75: ( x1 in {x} & y1 in R_ y & b = [x1,y1] ) by ZFMISC_1:def 2, A74;
reconsider x1 = x1, y1 = y1 as Surreal by A75, SURREAL0:def 16;
set Y1 = born y1;
set C = (born x) (+) (born y1);
y1 in (L_ y) \/ (R_ y) by A75, XBOOLE_0:def 3;
then A76: (born x) (+) (born y1) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A77: (born x) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x) (+) (born y1)) such that
A78: S . ((born x) (+) (born y1)) = SC and
for x being object st x in Triangle ((born x) (+) (born y1)) holds
SC . x = [((union (rng (S | ((born x) (+) (born y1))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x) (+) (born y1))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A79: x = x1 by A75, TARSKI:def 1;
A80: dom SC = Triangle ((born x) (+) (born y1)) by PARTFUN1:def 2;
A81: [x,y1] in Triangle ((born x) (+) (born y1)) by Def5;
A82: x + y1 = SC . [x,y1] by A77, A1, A2, A78, Th26;
A83: SC . [x,y1] = (union (rng S)) . [x,y1] by A77, A80, A81, Th2, A1, A78;
(union (rng (S | ((born x) (+) (born y))))) . b = (union (rng S)) . b by A78, Th5, A76, A79, A75, A81, A80;
hence a in {x} ++ (R_ y) by A75, Def8, A74, A83, A82, A79; :: thesis: verum
end;
{x} ++ (R_ y) c= (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):]
proof
let b be object ; :: according to TARSKI:def 3 :: thesis: ( not b in {x} ++ (R_ y) or b in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):] )
assume b in {x} ++ (R_ y) ; :: thesis: b in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):]
then consider x1, y1 being Surreal such that
A84: ( x1 in {x} & y1 in R_ y & b = x1 + y1 ) by Def8;
A85: x = x1 by A84, TARSKI:def 1;
set Y1 = born y1;
set C = (born x) (+) (born y1);
y1 in (L_ y) \/ (R_ y) by A84, XBOOLE_0:def 3;
then A86: (born x) (+) (born y1) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A87: (born x) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC being ManySortedSet of Triangle ((born x) (+) (born y1)) such that
A88: S . ((born x) (+) (born y1)) = SC and
for x being object st x in Triangle ((born x) (+) (born y1)) holds
SC . x = [((union (rng (S | ((born x) (+) (born y1))))) .: ([:(L_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(L_ (R_ x)):])),((union (rng (S | ((born x) (+) (born y1))))) .: ([:(R_ (L_ x)),{(R_ x)}:] \/ [:{(L_ x)},(R_ (R_ x)):]))]
by A2;
A89: dom SC = Triangle ((born x) (+) (born y1)) by PARTFUN1:def 2;
A90: [x,y1] in Triangle ((born x) (+) (born y1)) by Def5;
A91: x + y1 = SC . [x,y1] by A87, A1, A2, A88, Th26;
SC . [x,y1] = (union (rng S)) . [x,y1] by A87, A89, A90, Th2, A1, A88;
then A92: (union (rng (S | ((born x) (+) (born y))))) . [x,y1] = b by A91, A88, Th5, A86, A90, A89, A84, A85;
A93: [x,y1] in dom (union (rng (S | ((born x) (+) (born y))))) by A88, Th5, A86, A90, A89;
[x,y1] in [:{x},(R_ y):] by A84, A85, ZFMISC_1:87;
hence b in (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):] by A92, A93, FUNCT_1:def 6; :: thesis: verum
end;
then A94: {x} ++ (R_ y) = (union (rng (S | ((born x) (+) (born y))))) .: [:{x},(R_ y):] by A73, XBOOLE_0:def 10;
(union (rng (S | ((born x) (+) (born y))))) .: ([:(L_ x),{y}:] \/ [:{x},(L_ y):]) = ((L_ x) ++ {y}) \/ ({x} ++ (L_ y)) by A28, A72, RELAT_1:120;
hence x + y = [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))] by A6, A50, A94, RELAT_1:120; :: thesis: verum
end;

theorem Th29: :: SURREALR:29
for x, y being Surreal holds x + y = y + x
proof
let x, y be Surreal; :: thesis: x + y = y + x
defpred S1[ Ordinal] means for x, y being Surreal st (born x) (+) (born y) c= $1 holds
x + y = y + x;
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
A3: for x, y being Surreal st (born x) (+) (born y) c= D holds
for X, Y being surreal-membered set st ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) holds
X ++ Y c= Y ++ X
proof
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies for X, Y being surreal-membered set st ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) holds
X ++ Y c= Y ++ X )

assume A4: (born x) (+) (born y) c= D ; :: thesis: for X, Y being surreal-membered set st ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) holds
X ++ Y c= Y ++ X

let X, Y be surreal-membered set ; :: thesis: ( ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) implies X ++ Y c= Y ++ X )
assume A5: ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) ; :: thesis: X ++ Y c= Y ++ X
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in X ++ Y or a in Y ++ X )
assume a in X ++ Y ; :: thesis: a in Y ++ X
then consider x1, y1 being Surreal such that
A6: ( x1 in X & y1 in Y & a = x1 + y1 ) by Def8;
( ( born x1 in born x & born y1 = born y ) or ( born x1 = born x & born y1 in born y ) ) by SURREALO:1, A5, A6, TARSKI:def 1;
then (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL7:94;
then x1 + y1 = y1 + x1 by A2, A4;
hence a in Y ++ X by A6, Def8; :: thesis: verum
end;
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies x + y = y + x )
assume A7: (born x) (+) (born y) c= D ; :: thesis: x + y = y + x
L_ x c= (L_ x) \/ (R_ x) by XBOOLE_1:7;
then ( (L_ x) ++ {y} c= {y} ++ (L_ x) & {y} ++ (L_ x) c= (L_ x) ++ {y} ) by A7, A3;
then A8: (L_ x) ++ {y} = {y} ++ (L_ x) by XBOOLE_0:def 10;
R_ x c= (L_ x) \/ (R_ x) by XBOOLE_1:7;
then ( (R_ x) ++ {y} c= {y} ++ (R_ x) & {y} ++ (R_ x) c= (R_ x) ++ {y} ) by A7, A3;
then A9: (R_ x) ++ {y} = {y} ++ (R_ x) by XBOOLE_0:def 10;
L_ y c= (L_ y) \/ (R_ y) by XBOOLE_1:7;
then ( (L_ y) ++ {x} c= {x} ++ (L_ y) & {x} ++ (L_ y) c= (L_ y) ++ {x} ) by A7, A3;
then A10: (L_ y) ++ {x} = {x} ++ (L_ y) by XBOOLE_0:def 10;
R_ y c= (L_ y) \/ (R_ y) by XBOOLE_1:7;
then A11: ( (R_ y) ++ {x} c= {x} ++ (R_ y) & {x} ++ (R_ y) c= (R_ y) ++ {x} ) by A7, A3;
thus x + y = [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))] by Th28
.= [(({y} ++ (L_ x)) \/ ((L_ y) ++ {x})),(({y} ++ (R_ x)) \/ ((R_ y) ++ {x}))] by A8, A9, A10, A11, XBOOLE_0:def 10
.= y + x by Th28 ; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
hence x + y = y + x ; :: thesis: verum
end;

definition
let x, y be Surreal;
:: original: +
redefine func x + y -> set ;
commutativity
for x, y being Surreal holds x + y = y + x
by Th29;
end;

Lm4: for X, Y being set holds X ++ Y c= Y ++ X
proof
let X, Y be set ; :: thesis: X ++ Y c= Y ++ X
let z be object ; :: according to TARSKI:def 3 :: thesis: ( not z in X ++ Y or z in Y ++ X )
assume z in X ++ Y ; :: thesis: z in Y ++ X
then consider x, y being Surreal such that
A1: ( x in X & y in Y & z = x + y ) by Def8;
thus z in Y ++ X by A1, Def8; :: thesis: verum
end;

theorem Th30: :: SURREALR:30
for X, Y being set holds X ++ Y = Y ++ X
proof
let X, Y be set ; :: thesis: X ++ Y = Y ++ X
( X ++ Y c= Y ++ X & Y ++ X c= X ++ Y ) by Lm4;
hence X ++ Y = Y ++ X by XBOOLE_0:def 10; :: thesis: verum
end;

definition
let X, Y be set ;
:: original: ++
redefine func X ++ Y -> set ;
commutativity
for X, Y being set holds X ++ Y = Y ++ X
by Th30;
end;

Lm5: for D being Ordinal holds
( ( for x, y being Surreal st (born x) (+) (born y) c= D holds
( x + y is surreal & x + y in Day ((born x) (+) (born y)) ) ) & ( for x, y, z, xz, yz being Surreal st (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z holds
( xz <= yz iff x <= y ) ) )

proof
defpred S1[ Ordinal] means ( ( for x, y being Surreal st (born x) (+) (born y) c= $1 holds
( x + y is surreal & x + y in Day ((born x) (+) (born y)) ) ) & ( for x, y, z, xz, yz being Surreal st (born x) (+) (born z) c= $1 & (born y) (+) (born z) c= $1 & xz = x + z & yz = y + z holds
( xz <= yz iff x <= y ) ) );
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
thus for x, y being Surreal st (born x) (+) (born y) c= D holds
( x + y is surreal & x + y in Day ((born x) (+) (born y)) )
:: thesis: for x, y, z, xz, yz being Surreal st (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z holds
( xz <= yz iff x <= y )
proof
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies ( x + y is surreal & x + y in Day ((born x) (+) (born y)) ) )
assume A3: (born x) (+) (born y) c= D ; :: thesis: ( x + y is surreal & x + y in Day ((born x) (+) (born y)) )
set Bx = born x;
set By = born y;
set B = (born x) (+) (born y);
A4: ( x in Day (born x) & y in Day (born y) ) by SURREAL0:def 18;
( x = [(L_ x),(R_ x)] & y = [(L_ y),(R_ y)] ) ;
then A5: ( L_ x << R_ x & L_ y << R_ y ) by SURREAL0:46, A4;
A6: (L_ x) ++ {y} << (R_ x) ++ {y}
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in (L_ x) ++ {y} or not r in (R_ x) ++ {y} or not r <= l )
assume A7: ( l in (L_ x) ++ {y} & r in (R_ x) ++ {y} ) ; :: thesis: not r <= l
consider l1, l2 being Surreal such that
A8: ( l1 in L_ x & l2 in {y} & l = l1 + l2 ) by A7, Def8;
consider r1, r2 being Surreal such that
A9: ( r1 in R_ x & r2 in {y} & r = r1 + r2 ) by A7, Def8;
A10: ( l2 = y & y = r2 ) by A8, A9, TARSKI:def 1;
set bl = born l1;
set br = born r1;
set bb = (born l1) \/ (born r1);
set B = ((born l1) \/ (born r1)) (+) (born y);
( l1 in (L_ x) \/ (R_ x) & r1 in (L_ x) \/ (R_ x) ) by A8, A9, XBOOLE_0:def 3;
then ( born l1 in born x & born r1 in born x ) by SURREALO:1;
then (born l1) \/ (born r1) in born x by ORDINAL3:12;
then A11: ((born l1) \/ (born r1)) (+) (born y) in (born x) (+) (born y) by ORDINAL7:94;
A12: (born l1) (+) (born y) c= ((born l1) \/ (born r1)) (+) (born y) by ORDINAL7:95, XBOOLE_1:7;
A13: (born r1) (+) (born y) c= ((born l1) \/ (born r1)) (+) (born y) by ORDINAL7:95, XBOOLE_1:7;
l1 < r1 by A8, A9, A5;
hence l < r by A3, A8, A9, A10, A11, A12, A13, A2; :: thesis: verum
end;
A14: ( L_ x << {x} & {x} << R_ x & L_ y << {y} & {y} << R_ y ) by SURREALO:11;
A15: {x} ++ (L_ y) << (R_ x) ++ {y}
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in {x} ++ (L_ y) or not r in (R_ x) ++ {y} or not r <= l )
assume A16: ( l in {x} ++ (L_ y) & r in (R_ x) ++ {y} ) ; :: thesis: not r <= l
consider l1, l2 being Surreal such that
A17: ( l1 in {x} & l2 in L_ y & l = l1 + l2 ) by A16, Def8;
consider r1, r2 being Surreal such that
A18: ( r1 in R_ x & r2 in {y} & r = r1 + r2 ) by A16, Def8;
A19: ( l1 = x & r2 = y ) by A17, A18, TARSKI:def 1;
A20: ( l2 in (L_ y) \/ (R_ y) & r1 in (L_ x) \/ (R_ x) ) by A17, A18, XBOOLE_0:def 3;
then ( (born r1) (+) (born l2) in (born x) (+) (born l2) & (born x) (+) (born l2) in (born x) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then A21: (born r1) (+) (born l2) in D by A3, ORDINAL1:10;
then reconsider rl = r1 + l2, lr = l2 + r1 as Surreal by A2;
(born l1) (+) (born l2) in (born x) (+) (born y) by A20, SURREALO:1, A19, ORDINAL7:94;
then A22: (born l1) (+) (born l2) in D by A3;
set B1 = ((born r1) (+) (born l2)) \/ ((born l1) (+) (born l2));
A23: ((born r1) (+) (born l2)) \/ ((born l1) (+) (born l2)) in D by A21, A22, ORDINAL3:12;
A24: (born l1) (+) (born l2) c= ((born r1) (+) (born l2)) \/ ((born l1) (+) (born l2)) by XBOOLE_1:7;
A25: (born r1) (+) (born l2) c= ((born r1) (+) (born l2)) \/ ((born l1) (+) (born l2)) by XBOOLE_1:7;
l1 < r1 by A18, A14, A17;
then A26: l < rl by A17, A24, A25, A23, A2;
(born r1) (+) (born r2) in (born x) (+) (born y) by A20, SURREALO:1, A19, ORDINAL7:94;
then A27: (born r1) (+) (born r2) in D by A3;
set B2 = ((born r1) (+) (born l2)) \/ ((born r1) (+) (born r2));
A28: ((born r1) (+) (born l2)) \/ ((born r1) (+) (born r2)) in D by A21, A27, ORDINAL3:12;
A29: (born r1) (+) (born r2) c= ((born r1) (+) (born l2)) \/ ((born r1) (+) (born r2)) by XBOOLE_1:7;
A30: (born r1) (+) (born l2) c= ((born r1) (+) (born l2)) \/ ((born r1) (+) (born r2)) by XBOOLE_1:7;
A31: l2 < r2 by A18, A14, A17;
assume r <= l ; :: thesis: contradiction
then r <= rl by A26, SURREALO:4;
hence contradiction by A18, A29, A30, A28, A2, A31; :: thesis: verum
end;
A32: (L_ x) ++ {y} << {x} ++ (R_ y)
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in (L_ x) ++ {y} or not r in {x} ++ (R_ y) or not r <= l )
assume A33: ( l in (L_ x) ++ {y} & r in {x} ++ (R_ y) ) ; :: thesis: not r <= l
consider l1, l2 being Surreal such that
A34: ( l1 in L_ x & l2 in {y} & l = l1 + l2 ) by A33, Def8;
consider r1, r2 being Surreal such that
A35: ( r1 in {x} & r2 in R_ y & r = r1 + r2 ) by A33, Def8;
A36: ( l2 = y & r1 = x ) by A34, A35, TARSKI:def 1;
A37: ( r2 in (L_ y) \/ (R_ y) & l1 in (L_ x) \/ (R_ x) ) by A34, A35, XBOOLE_0:def 3;
then ( (born l1) (+) (born r2) in (born x) (+) (born r2) & (born x) (+) (born r2) in (born x) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then A38: (born l1) (+) (born r2) in D by A3, ORDINAL1:10;
then reconsider lr = l1 + r2, rl = r2 + l1 as Surreal by A2;
(born r1) (+) (born r2) in (born x) (+) (born y) by A37, SURREALO:1, A36, ORDINAL7:94;
then A39: (born r1) (+) (born r2) in D by A3;
set B1 = ((born l1) (+) (born r2)) \/ ((born r1) (+) (born r2));
A40: ((born l1) (+) (born r2)) \/ ((born r1) (+) (born r2)) in D by A38, A39, ORDINAL3:12;
A41: (born r1) (+) (born r2) c= ((born l1) (+) (born r2)) \/ ((born r1) (+) (born r2)) by XBOOLE_1:7;
A42: (born l1) (+) (born r2) c= ((born l1) (+) (born r2)) \/ ((born r1) (+) (born r2)) by XBOOLE_1:7;
l1 < r1 by A35, A14, A34;
then A43: lr < r by A35, A41, A42, A40, A2;
(born l1) (+) (born l2) in (born x) (+) (born y) by A37, SURREALO:1, A36, ORDINAL7:94;
then A44: (born l1) (+) (born l2) in D by A3;
set B2 = ((born l1) (+) (born r2)) \/ ((born l1) (+) (born l2));
A45: ((born l1) (+) (born r2)) \/ ((born l1) (+) (born l2)) in D by A38, A44, ORDINAL3:12;
A46: (born l1) (+) (born l2) c= ((born l1) (+) (born r2)) \/ ((born l1) (+) (born l2)) by XBOOLE_1:7;
A47: (born l1) (+) (born r2) c= ((born l1) (+) (born r2)) \/ ((born l1) (+) (born l2)) by XBOOLE_1:7;
A48: l2 < r2 by A35, A14, A34;
assume r <= l ; :: thesis: contradiction
then lr <= l by A43, SURREALO:4;
hence contradiction by A34, A46, A47, A45, A2, A48; :: thesis: verum
end;
A49: {x} ++ (L_ y) << {x} ++ (R_ y)
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in {x} ++ (L_ y) or not r in {x} ++ (R_ y) or not r <= l )
assume A50: ( l in {x} ++ (L_ y) & r in {x} ++ (R_ y) ) ; :: thesis: not r <= l
consider l1, l2 being Surreal such that
A51: ( l1 in {x} & l2 in L_ y & l = l1 + l2 ) by A50, Def8;
consider r1, r2 being Surreal such that
A52: ( r1 in {x} & r2 in R_ y & r = r1 + r2 ) by A50, Def8;
A53: ( l1 = x & x = r1 ) by A51, A52, TARSKI:def 1;
set bl = born l2;
set br = born r2;
set bb = (born l2) \/ (born r2);
set B = ((born l2) \/ (born r2)) (+) (born x);
( l2 in (L_ y) \/ (R_ y) & r2 in (L_ y) \/ (R_ y) ) by A51, A52, XBOOLE_0:def 3;
then ( born l2 in born y & born r2 in born y ) by SURREALO:1;
then (born l2) \/ (born r2) in born y by ORDINAL3:12;
then A54: ((born l2) \/ (born r2)) (+) (born x) in (born y) (+) (born x) by ORDINAL7:94;
A55: (born l2) (+) (born x) c= ((born l2) \/ (born r2)) (+) (born x) by ORDINAL7:95, XBOOLE_1:7;
A56: (born r2) (+) (born x) c= ((born l2) \/ (born r2)) (+) (born x) by ORDINAL7:95, XBOOLE_1:7;
l2 < r2 by A51, A52, A5;
hence l < r by A51, A52, A53, A54, A3, A55, A56, A2; :: thesis: verum
end;
A57: ((L_ x) ++ {y}) \/ ({x} ++ (L_ y)) << ((R_ x) ++ {y}) \/ ({x} ++ (R_ y))
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in ((L_ x) ++ {y}) \/ ({x} ++ (L_ y)) or not r in ((R_ x) ++ {y}) \/ ({x} ++ (R_ y)) or not r <= l )
assume ( l in ((L_ x) ++ {y}) \/ ({x} ++ (L_ y)) & r in ((R_ x) ++ {y}) \/ ({x} ++ (R_ y)) ) ; :: thesis: not r <= l
then ( ( l in (L_ x) ++ {y} or l in {x} ++ (L_ y) ) & ( r in (R_ x) ++ {y} or r in {x} ++ (R_ y) ) ) by XBOOLE_0:def 3;
hence not r <= l by A6, A15, A32, A49; :: thesis: verum
end;
for z being object st z in (((L_ x) ++ {y}) \/ ({x} ++ (L_ y))) \/ (((R_ x) ++ {y}) \/ ({x} ++ (R_ y))) holds
ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O )
proof
let z be object ; :: thesis: ( z in (((L_ x) ++ {y}) \/ ({x} ++ (L_ y))) \/ (((R_ x) ++ {y}) \/ ({x} ++ (R_ y))) implies ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O ) )

assume z in (((L_ x) ++ {y}) \/ ({x} ++ (L_ y))) \/ (((R_ x) ++ {y}) \/ ({x} ++ (R_ y))) ; :: thesis: ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O )

then ( z in ((L_ x) ++ {y}) \/ ({x} ++ (L_ y)) or z in ((R_ x) ++ {y}) \/ ({x} ++ (R_ y)) ) by XBOOLE_0:def 3;
per cases then ( z in (L_ x) ++ {y} or z in (R_ x) ++ {y} or z in {x} ++ (L_ y) or z in {x} ++ (R_ y) ) by XBOOLE_0:def 3;
suppose ( z in (L_ x) ++ {y} or z in (R_ x) ++ {y} ) ; :: thesis: ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O )

then ( ex u, w being Surreal st
( u in L_ x & w in {y} & z = u + w ) or ex u, w being Surreal st
( u in R_ x & w in {y} & z = u + w ) )
by Def8;
then consider u, w being Surreal such that
A58: ( ( u in L_ x or u in R_ x ) & w in {y} & z = u + w ) ;
u in (L_ x) \/ (R_ x) by A58, XBOOLE_0:def 3;
then ( born u in born x & w = y ) by A58, SURREALO:1, TARSKI:def 1;
then A59: (born u) (+) (born w) in (born x) (+) (born y) by ORDINAL7:94;
then S1[(born u) (+) (born w)] by A3, A2;
hence ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O )
by A59, A58; :: thesis: verum
end;
suppose ( z in {x} ++ (L_ y) or z in {x} ++ (R_ y) ) ; :: thesis: ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O )

then ( ex u, w being Surreal st
( u in {x} & w in L_ y & z = u + w ) or ex u, w being Surreal st
( u in {x} & w in R_ y & z = u + w ) )
by Def8;
then consider u, w being Surreal such that
A60: ( u in {x} & ( w in L_ y or w in R_ y ) & z = u + w ) ;
w in (L_ y) \/ (R_ y) by A60, XBOOLE_0:def 3;
then ( born w in born y & u = x ) by A60, SURREALO:1, TARSKI:def 1;
then A61: (born u) (+) (born w) in (born x) (+) (born y) by ORDINAL7:94;
then S1[(born u) (+) (born w)] by A3, A2;
hence ex O being Ordinal st
( O in (born x) (+) (born y) & z in Day O )
by A61, A60; :: thesis: verum
end;
end;
end;
then [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))] in Day ((born x) (+) (born y)) by A57, SURREAL0:46;
hence ( x + y is surreal & x + y in Day ((born x) (+) (born y)) ) by Th28; :: thesis: verum
end;
defpred S2[ Ordinal] means for x, y, z, xz, yz being Surreal st ((born x) (+) (born y)) (+) (born z) c= $1 & (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z holds
( xz <= yz iff x <= y );
A62: for E being Ordinal st ( for C being Ordinal st C in E holds
S2[C] ) holds
S2[E]
proof
let E be Ordinal; :: thesis: ( ( for C being Ordinal st C in E holds
S2[C] ) implies S2[E] )

assume A63: for C being Ordinal st C in E holds
S2[C]
; :: thesis: S2[E]
let x, y, z, xz, yz be Surreal; :: thesis: ( ((born x) (+) (born y)) (+) (born z) c= E & (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z implies ( xz <= yz iff x <= y ) )
assume A64: ( ((born x) (+) (born y)) (+) (born z) c= E & (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z ) ; :: thesis: ( xz <= yz iff x <= y )
A65: xz = [(((L_ x) ++ {z}) \/ ({x} ++ (L_ z))),(((R_ x) ++ {z}) \/ ({x} ++ (R_ z)))] by A64, Th28;
A66: yz = [(((L_ y) ++ {z}) \/ ({y} ++ (L_ z))),(((R_ y) ++ {z}) \/ ({y} ++ (R_ z)))] by A64, Th28;
thus ( xz <= yz implies x <= y ) :: thesis: ( x <= y implies xz <= yz )
proof
assume xz <= yz ; :: thesis: x <= y
then A67: ( L_ xz << {yz} & {xz} << R_ yz ) by SURREAL0:43;
A68: L_ x << {y}
proof
let xL, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not xL in L_ x or not r in {y} or not r <= xL )
assume A69: ( xL in L_ x & r in {y} ) ; :: thesis: not r <= xL
A70: xL in (L_ x) \/ (R_ x) by A69, XBOOLE_0:def 3;
then A71: (born xL) (+) (born z) in (born x) (+) (born z) by SURREALO:1, ORDINAL7:94;
then reconsider xLz = xL + z as Surreal by A2, A64;
(born xL) (+) (born y) in (born x) (+) (born y) by A70, SURREALO:1, ORDINAL7:94;
then A72: ((born xL) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94;
A73: (born xL) (+) (born z) c= D by A71, A64, ORDINAL1:def 2;
A74: r = y by A69, TARSKI:def 1;
assume not xL < r ; :: thesis: contradiction
then A75: yz <= xLz by A74, A72, A64, A63, A73;
z in {z} by TARSKI:def 1;
then xLz in (L_ x) ++ {z} by A69, Def8;
then A76: xLz in L_ xz by A65, XBOOLE_0:def 3;
yz in {yz} by TARSKI:def 1;
hence contradiction by A75, A76, A67; :: thesis: verum
end;
{x} << R_ y
proof
let l, yR be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in {x} or not yR in R_ y or not yR <= l )
assume A77: ( l in {x} & yR in R_ y ) ; :: thesis: not yR <= l
A78: yR in (L_ y) \/ (R_ y) by A77, XBOOLE_0:def 3;
then A79: (born yR) (+) (born z) in (born y) (+) (born z) by SURREALO:1, ORDINAL7:94;
then reconsider yRz = yR + z as Surreal by A64, A2;
(born x) (+) (born yR) in (born x) (+) (born y) by A78, SURREALO:1, ORDINAL7:94;
then A80: ((born x) (+) (born yR)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94;
A81: (born yR) (+) (born z) c= D by A79, A64, ORDINAL1:def 2;
A82: l = x by A77, TARSKI:def 1;
assume not l < yR ; :: thesis: contradiction
then A83: yRz <= xz by A82, A80, A63, A64, A81;
z in {z} by TARSKI:def 1;
then yRz in (R_ y) ++ {z} by A77, Def8;
then A84: yRz in R_ yz by A66, XBOOLE_0:def 3;
xz in {xz} by TARSKI:def 1;
hence contradiction by A83, A84, A67; :: thesis: verum
end;
hence x <= y by A68, SURREAL0:43; :: thesis: verum
end;
assume A85: x <= y ; :: thesis: xz <= yz
then A86: ( L_ x << {y} & {x} << R_ y ) by SURREAL0:43;
A87: (L_ x) ++ {z} << {yz}
proof
let L, R be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not L in (L_ x) ++ {z} or not R in {yz} or not R <= L )
assume A88: ( L in (L_ x) ++ {z} & R in {yz} ) ; :: thesis: not R <= L
consider x1, z1 being Surreal such that
A89: ( x1 in L_ x & z1 in {z} & L = x1 + z1 ) by A88, Def8;
A90: ( z1 = z & R = yz ) by A88, A89, TARSKI:def 1;
A91: x1 in (L_ x) \/ (R_ x) by A89, XBOOLE_0:def 3;
then (born x1) (+) (born y) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A92: ((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94;
y in {y} by TARSKI:def 1;
then A93: x1 < y by A89, A86;
(born x1) (+) (born z) in (born x) (+) (born z) by A91, SURREALO:1, ORDINAL7:94;
then (born x1) (+) (born z) c= D by A64, ORDINAL1:def 2;
hence L < R by A93, A90, A64, A92, A63, A89; :: thesis: verum
end;
A94: {x} ++ (L_ z) << {yz}
proof
let L, R be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not L in {x} ++ (L_ z) or not R in {yz} or not R <= L )
assume A95: ( L in {x} ++ (L_ z) & R in {yz} ) ; :: thesis: not R <= L
consider x1, z1 being Surreal such that
A96: ( x1 in {x} & z1 in L_ z & L = x1 + z1 ) by A95, Def8;
A97: ( x1 = x & R = yz ) by A95, A96, TARSKI:def 1;
assume A98: R <= L ; :: thesis: contradiction
A99: z1 in (L_ z) \/ (R_ z) by A96, XBOOLE_0:def 3;
then A100: ( (born x) (+) (born z1) in (born x) (+) (born z) & (born y) (+) (born z1) in (born y) (+) (born z) ) by SURREALO:1, ORDINAL7:94;
then reconsider xz1 = x + z1, yz1 = y + z1 as Surreal by A2, A64;
A101: ((born x) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A99, SURREALO:1, ORDINAL7:94;
A102: ( (born x) (+) (born z1) c= D & (born y) (+) (born z1) c= D ) by A100, A64, ORDINAL1:def 2;
A103: xz1 <= yz1 by A85, A101, A64, A63, A102;
A104: yz = [(((L_ y) ++ {z}) \/ ({y} ++ (L_ z))),(((R_ y) ++ {z}) \/ ({y} ++ (R_ z)))] by Th28, A64;
A105: L_ yz << {yz} by SURREALO:11;
A106: yz in {yz} by TARSKI:def 1;
y in {y} by TARSKI:def 1;
then yz1 in {y} ++ (L_ z) by A96, Def8;
then yz1 in ((L_ y) ++ {z}) \/ ({y} ++ (L_ z)) by XBOOLE_0:def 3;
hence contradiction by A103, A106, A105, A104, A96, A97, A98, SURREALO:4; :: thesis: verum
end;
A107: {xz} << (R_ y) ++ {z}
proof
let L, R be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not L in {xz} or not R in (R_ y) ++ {z} or not R <= L )
assume A108: ( L in {xz} & R in (R_ y) ++ {z} ) ; :: thesis: not R <= L
consider y1, z1 being Surreal such that
A109: ( y1 in R_ y & z1 in {z} & R = y1 + z1 ) by A108, Def8;
A110: ( z1 = z & L = xz ) by A108, A109, TARSKI:def 1;
A111: y1 in (L_ y) \/ (R_ y) by A109, XBOOLE_0:def 3;
then (born x) (+) (born y1) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then A112: ((born x) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94;
x in {x} by TARSKI:def 1;
then A113: x < y1 by A109, A86;
(born y1) (+) (born z) in (born y) (+) (born z) by A111, SURREALO:1, ORDINAL7:94;
then (born y1) (+) (born z) c= D by A64, ORDINAL1:def 2;
hence L < R by A113, A110, A64, A112, A63, A109; :: thesis: verum
end;
A114: {xz} << {y} ++ (R_ z)
proof
let L, R be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not L in {xz} or not R in {y} ++ (R_ z) or not R <= L )
assume A115: ( L in {xz} & R in {y} ++ (R_ z) ) ; :: thesis: not R <= L
consider y1, z2 being Surreal such that
A116: ( y1 in {y} & z2 in R_ z & R = y1 + z2 ) by A115, Def8;
A117: ( y1 = y & L = xz ) by A115, A116, TARSKI:def 1;
assume A118: R <= L ; :: thesis: contradiction
A119: z2 in (L_ z) \/ (R_ z) by A116, XBOOLE_0:def 3;
then A120: ( (born x) (+) (born z2) in (born x) (+) (born z) & (born y) (+) (born z2) in (born y) (+) (born z) ) by SURREALO:1, ORDINAL7:94;
then reconsider xz2 = x + z2, yz2 = y + z2 as Surreal by A2, A64;
A121: ((born x) (+) (born y)) (+) (born z2) in ((born x) (+) (born y)) (+) (born z) by A119, SURREALO:1, ORDINAL7:94;
( (born x) (+) (born z2) c= D & (born y) (+) (born z2) c= D ) by A120, A64, ORDINAL1:def 2;
then A122: xz2 <= yz2 by A64, A63, A121, A85;
A123: xz = [(((L_ x) ++ {z}) \/ ({x} ++ (L_ z))),(((R_ x) ++ {z}) \/ ({x} ++ (R_ z)))] by Th28, A64;
A124: {xz} << R_ xz by SURREALO:11;
A125: xz in {xz} by TARSKI:def 1;
x in {x} by TARSKI:def 1;
then xz2 in {x} ++ (R_ z) by A116, Def8;
then xz2 in ((R_ x) ++ {z}) \/ ({x} ++ (R_ z)) by XBOOLE_0:def 3;
hence contradiction by A123, A122, A125, A124, A116, A117, A118, SURREALO:4; :: thesis: verum
end;
A126: L_ xz << {yz}
proof
let L, R be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not L in L_ xz or not R in {yz} or not R <= L )
assume A127: ( L in L_ xz & R in {yz} ) ; :: thesis: not R <= L
xz = [(((L_ x) ++ {z}) \/ ({x} ++ (L_ z))),(((R_ x) ++ {z}) \/ ({x} ++ (R_ z)))] by Th28, A64;
then ( L in (L_ x) ++ {z} or L in {x} ++ (L_ z) ) by A127, XBOOLE_0:def 3;
hence not R <= L by A127, A87, A94; :: thesis: verum
end;
{xz} << R_ yz
proof
let L, R be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not L in {xz} or not R in R_ yz or not R <= L )
assume A128: ( L in {xz} & R in R_ yz ) ; :: thesis: not R <= L
yz = [(((L_ y) ++ {z}) \/ ({y} ++ (L_ z))),(((R_ y) ++ {z}) \/ ({y} ++ (R_ z)))] by Th28, A64;
then ( R in (R_ y) ++ {z} or R in {y} ++ (R_ z) ) by A128, XBOOLE_0:def 3;
hence not R <= L by A128, A107, A114; :: thesis: verum
end;
hence xz <= yz by A126, SURREAL0:43; :: thesis: verum
end;
A129: for E being Ordinal holds S2[E] from ORDINAL1:sch 2(A62);
let x, y, z, xz, yz be Surreal; :: thesis: ( (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z implies ( xz <= yz iff x <= y ) )
assume A130: ( (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z ) ; :: thesis: ( xz <= yz iff x <= y )
S2[((born x) (+) (born y)) (+) (born z)] by A129;
hence ( xz <= yz iff x <= y ) by A130; :: thesis: verum
end;
for E being Ordinal holds S1[E] from ORDINAL1:sch 2(A1);
hence for D being Ordinal holds
( ( for x, y being Surreal st (born x) (+) (born y) c= D holds
( x + y is surreal & x + y in Day ((born x) (+) (born y)) ) ) & ( for x, y, z, xz, yz being Surreal st (born x) (+) (born z) c= D & (born y) (+) (born z) c= D & xz = x + z & yz = y + z holds
( xz <= yz iff x <= y ) ) )
; :: thesis: verum
end;

registration
let x, y be Surreal;
cluster x + y -> surreal ;
coherence
x + y is surreal
by Lm5;
end;

definition
let x, y be Surreal;
func x - y -> Surreal equals :: SURREALR:def 9
x + (- y);
coherence
x + (- y) is Surreal
;
end;

:: deftheorem defines - SURREALR:def 9 :
for x, y being Surreal holds x - y = x + (- y);

theorem :: SURREALR:31
for x, y being Surreal holds born (x + y) c= (born x) (+) (born y)
proof
let x, y be Surreal; :: thesis: born (x + y) c= (born x) (+) (born y)
x + y in Day ((born x) (+) (born y)) by Lm5;
hence born (x + y) c= (born x) (+) (born y) by SURREAL0:def 18; :: thesis: verum
end;

registration
let X, Y be set ;
cluster X ++ Y -> surreal-membered ;
coherence
X ++ Y is surreal-membered
proof
let z be object ; :: according to SURREAL0:def 16 :: thesis: ( not z in X ++ Y or z is surreal )
assume z in X ++ Y ; :: thesis: z is surreal
then ex x, y being Surreal st
( x in X & y in Y & x + y = z )
by Def8;
hence z is surreal ; :: thesis: verum
end;
end;

theorem Th32: :: SURREALR:32
for x, y, z being Surreal holds
( x <= y iff x + z <= y + z )
proof
let x, y, z be Surreal; :: thesis: ( x <= y iff x + z <= y + z )
set Bx = born x;
set By = born y;
set Bz = born z;
set Bxz = (born x) (+) (born z);
set Byz = (born y) (+) (born z);
( (born x) (+) (born z) c= ((born x) (+) (born z)) \/ ((born y) (+) (born z)) & (born y) (+) (born z) c= ((born x) (+) (born z)) \/ ((born y) (+) (born z)) ) by XBOOLE_1:7;
hence ( x <= y iff x + z <= y + z ) by Lm5; :: thesis: verum
end;

theorem Th33: :: SURREALR:33
for X1, X2, Y being set holds (X1 \/ X2) ++ Y = (X1 ++ Y) \/ (X2 ++ Y)
proof
let X1, X2, Y be set ; :: thesis: (X1 \/ X2) ++ Y = (X1 ++ Y) \/ (X2 ++ Y)
thus (X1 \/ X2) ++ Y c= (X1 ++ Y) \/ (X2 ++ Y) :: according to XBOOLE_0:def 10 :: thesis: (X1 ++ Y) \/ (X2 ++ Y) c= (X1 \/ X2) ++ Y
proof
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in (X1 \/ X2) ++ Y or xy in (X1 ++ Y) \/ (X2 ++ Y) )
assume xy in (X1 \/ X2) ++ Y ; :: thesis: xy in (X1 ++ Y) \/ (X2 ++ Y)
then consider x, y being Surreal such that
A1: ( x in X1 \/ X2 & y in Y & xy = x + y ) by Def8;
( x in X1 or x in X2 ) by A1, XBOOLE_0:def 3;
then ( xy in X1 ++ Y or xy in X2 ++ Y ) by A1, Def8;
hence xy in (X1 ++ Y) \/ (X2 ++ Y) by XBOOLE_0:def 3; :: thesis: verum
end;
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in (X1 ++ Y) \/ (X2 ++ Y) or xy in (X1 \/ X2) ++ Y )
assume xy in (X1 ++ Y) \/ (X2 ++ Y) ; :: thesis: xy in (X1 \/ X2) ++ Y
per cases then ( xy in X1 ++ Y or xy in X2 ++ Y ) by XBOOLE_0:def 3;
suppose xy in X1 ++ Y ; :: thesis: xy in (X1 \/ X2) ++ Y
then consider x, y being Surreal such that
A2: ( x in X1 & y in Y & xy = x + y ) by Def8;
x in X1 \/ X2 by A2, XBOOLE_0:def 3;
hence xy in (X1 \/ X2) ++ Y by A2, Def8; :: thesis: verum
end;
suppose xy in X2 ++ Y ; :: thesis: xy in (X1 \/ X2) ++ Y
then consider x, y being Surreal such that
A3: ( x in X2 & y in Y & xy = x + y ) by Def8;
x in X1 \/ X2 by A3, XBOOLE_0:def 3;
hence xy in (X1 \/ X2) ++ Y by A3, Def8; :: thesis: verum
end;
end;
end;

theorem :: SURREALR:34
for X, Y1, Y2 being set holds X ++ (Y1 \/ Y2) = (X ++ Y1) \/ (X ++ Y2) by Th33;

theorem :: SURREALR:35
for X1, X2, Y1, Y2 being set st X1 <=_ X2 & Y1 <=_ Y2 holds
X1 ++ Y1 <=_ X2 ++ Y2
proof
let X1, X2, Y1, Y2 be set ; :: thesis: ( X1 <=_ X2 & Y1 <=_ Y2 implies X1 ++ Y1 <=_ X2 ++ Y2 )
assume A1: ( X1 <=_ X2 & Y1 <=_ Y2 ) ; :: thesis: X1 ++ Y1 <=_ X2 ++ Y2
let x be Surreal; :: according to SURREALO:def 3 :: thesis: ( not x in X1 ++ Y1 or ex b1, b2 being set st
( b1 in X2 ++ Y2 & b2 in X2 ++ Y2 & b1 <= x & x <= b2 ) )

assume A2: x in X1 ++ Y1 ; :: thesis: ex b1, b2 being set st
( b1 in X2 ++ Y2 & b2 in X2 ++ Y2 & b1 <= x & x <= b2 )

consider x1, y1 being Surreal such that
A3: ( x1 in X1 & y1 in Y1 & x = x1 + y1 ) by A2, Def8;
consider x2, x3 being Surreal such that
A4: ( x2 in X2 & x3 in X2 & x2 <= x1 & x1 <= x3 ) by A3, A1;
consider y2, y3 being Surreal such that
A5: ( y2 in Y2 & y3 in Y2 & y2 <= y1 & y1 <= y3 ) by A3, A1;
take z2 = x2 + y2; :: thesis: ex b1 being set st
( z2 in X2 ++ Y2 & b1 in X2 ++ Y2 & z2 <= x & x <= b1 )

take z3 = x3 + y3; :: thesis: ( z2 in X2 ++ Y2 & z3 in X2 ++ Y2 & z2 <= x & x <= z3 )
( x2 + y2 <= x1 + y2 & x1 + y2 <= x1 + y1 & x1 + y1 <= x3 + y1 & x3 + y1 <= x3 + y3 ) by A4, A5, Th32;
hence ( z2 in X2 ++ Y2 & z3 in X2 ++ Y2 & z2 <= x & x <= z3 ) by A4, A5, Def8, A3, SURREALO:4; :: thesis: verum
end;

theorem Th36: :: SURREALR:36
for x, y being Surreal holds {x} ++ {y} = {(x + y)}
proof
let x, y be Surreal; :: thesis: {x} ++ {y} = {(x + y)}
thus {x} ++ {y} c= {(x + y)} :: according to XBOOLE_0:def 10 :: thesis: {(x + y)} c= {x} ++ {y}
proof
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in {x} ++ {y} or xy in {(x + y)} )
assume xy in {x} ++ {y} ; :: thesis: xy in {(x + y)}
then consider a, b being Surreal such that
A1: ( a in {x} & b in {y} & xy = a + b ) by Def8;
( a = x & b = y ) by A1, TARSKI:def 1;
hence xy in {(x + y)} by A1, TARSKI:def 1; :: thesis: verum
end;
A2: ( x in {x} & y in {y} ) by TARSKI:def 1;
for o being object st o in {(x + y)} holds
o in {x} ++ {y}
proof
let o be object ; :: thesis: ( o in {(x + y)} implies o in {x} ++ {y} )
assume o in {(x + y)} ; :: thesis: o in {x} ++ {y}
then o = x + y by TARSKI:def 1;
hence o in {x} ++ {y} by A2, Def8; :: thesis: verum
end;
hence {(x + y)} c= {x} ++ {y} by TARSKI:def 3; :: thesis: verum
end;

theorem Th37: :: SURREALR:37
for x, y, z being Surreal holds (x + y) + z = x + (y + z)
proof
let x, y, z be Surreal; :: thesis: (x + y) + z = x + (y + z)
defpred S1[ Ordinal] means for x, y, z being Surreal st ((born x) (+) (born y)) (+) (born z) c= $1 holds
(x + y) + z = x + (y + z);
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
A3: for X, Y, Z being set st ( for x, y, z being Surreal st x in X & y in Y & z in Z holds
((born x) (+) (born y)) (+) (born z) in D ) holds
X ++ (Y ++ Z) = (X ++ Y) ++ Z
proof
let X, Y, Z be set ; :: thesis: ( ( for x, y, z being Surreal st x in X & y in Y & z in Z holds
((born x) (+) (born y)) (+) (born z) in D ) implies X ++ (Y ++ Z) = (X ++ Y) ++ Z )

assume A4: for x, y, z being Surreal st x in X & y in Y & z in Z holds
((born x) (+) (born y)) (+) (born z) in D
; :: thesis: X ++ (Y ++ Z) = (X ++ Y) ++ Z
thus X ++ (Y ++ Z) c= (X ++ Y) ++ Z :: according to XBOOLE_0:def 10 :: thesis: (X ++ Y) ++ Z c= X ++ (Y ++ Z)
proof
let xyz be object ; :: according to TARSKI:def 3 :: thesis: ( not xyz in X ++ (Y ++ Z) or xyz in (X ++ Y) ++ Z )
assume xyz in X ++ (Y ++ Z) ; :: thesis: xyz in (X ++ Y) ++ Z
then consider x, yz being Surreal such that
A5: ( x in X & yz in Y ++ Z & xyz = x + yz ) by Def8;
consider y, z being Surreal such that
A6: ( y in Y & z in Z & yz = y + z ) by A5, Def8;
x + y in X ++ Y by A5, A6, Def8;
then A7: (x + y) + z in (X ++ Y) ++ Z by A6, Def8;
((born x) (+) (born y)) (+) (born z) in D by A5, A6, A4;
hence xyz in (X ++ Y) ++ Z by A5, A6, A7, A2; :: thesis: verum
end;
let xyz be object ; :: according to TARSKI:def 3 :: thesis: ( not xyz in (X ++ Y) ++ Z or xyz in X ++ (Y ++ Z) )
assume xyz in (X ++ Y) ++ Z ; :: thesis: xyz in X ++ (Y ++ Z)
then consider xy, z being Surreal such that
A8: ( xy in X ++ Y & z in Z & xyz = xy + z ) by Def8;
consider x, y being Surreal such that
A9: ( x in X & y in Y & xy = x + y ) by A8, Def8;
y + z in Y ++ Z by A8, A9, Def8;
then A10: x + (y + z) in X ++ (Y ++ Z) by A9, Def8;
((born x) (+) (born y)) (+) (born z) in D by A8, A9, A4;
hence xyz in X ++ (Y ++ Z) by A8, A9, A10, A2; :: thesis: verum
end;
let x, y, z be Surreal; :: thesis: ( ((born x) (+) (born y)) (+) (born z) c= D implies (x + y) + z = x + (y + z) )
assume A11: ((born x) (+) (born y)) (+) (born z) c= D ; :: thesis: (x + y) + z = x + (y + z)
set xy = x + y;
set yz = y + z;
A12: x + y = [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))] by Th28;
A13: y + z = [(((L_ y) ++ {z}) \/ ({y} ++ (L_ z))),(((R_ y) ++ {z}) \/ ({y} ++ (R_ z)))] by Th28;
A14: for a, b, c being Surreal st a in L_ x & b in {y} & c in {z} holds
((born a) (+) (born b)) (+) (born c) in D
proof
let a, b, c be Surreal; :: thesis: ( a in L_ x & b in {y} & c in {z} implies ((born a) (+) (born b)) (+) (born c) in D )
assume ( a in L_ x & b in {y} & c in {z} ) ; :: thesis: ((born a) (+) (born b)) (+) (born c) in D
then A15: ( a in (L_ x) \/ (R_ x) & b = y & c = z ) by TARSKI:def 1, XBOOLE_0:def 3;
then (born a) (+) (born b) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then ((born a) (+) (born b)) (+) (born c) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94, A15;
hence ((born a) (+) (born b)) (+) (born c) in D by A11; :: thesis: verum
end;
A16: for a, b, c being Surreal st a in {x} & b in L_ y & c in {z} holds
((born a) (+) (born b)) (+) (born c) in D
proof
let a, b, c be Surreal; :: thesis: ( a in {x} & b in L_ y & c in {z} implies ((born a) (+) (born b)) (+) (born c) in D )
assume ( a in {x} & b in L_ y & c in {z} ) ; :: thesis: ((born a) (+) (born b)) (+) (born c) in D
then A17: ( a = x & b in (L_ y) \/ (R_ y) & c = z ) by TARSKI:def 1, XBOOLE_0:def 3;
then (born a) (+) (born b) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then ((born a) (+) (born b)) (+) (born c) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94, A17;
hence ((born a) (+) (born b)) (+) (born c) in D by A11; :: thesis: verum
end;
A18: for a, b, c being Surreal st a in {x} & b in {y} & c in L_ z holds
((born a) (+) (born b)) (+) (born c) in D
proof
let a, b, c be Surreal; :: thesis: ( a in {x} & b in {y} & c in L_ z implies ((born a) (+) (born b)) (+) (born c) in D )
assume ( a in {x} & b in {y} & c in L_ z ) ; :: thesis: ((born a) (+) (born b)) (+) (born c) in D
then ( a = x & b = y & c in (L_ z) \/ (R_ z) ) by TARSKI:def 1, XBOOLE_0:def 3;
then ((born a) (+) (born b)) (+) (born c) in ((born x) (+) (born y)) (+) (born z) by SURREALO:1, ORDINAL7:94;
hence ((born a) (+) (born b)) (+) (born c) in D by A11; :: thesis: verum
end;
A19: ((((L_ x) ++ {y}) \/ ({x} ++ (L_ y))) ++ {z}) \/ ({(x + y)} ++ (L_ z)) = ((((L_ x) ++ {y}) ++ {z}) \/ (({x} ++ (L_ y)) ++ {z})) \/ ({(x + y)} ++ (L_ z)) by Th33
.= (((L_ x) ++ ({y} ++ {z})) \/ (({x} ++ (L_ y)) ++ {z})) \/ ({(x + y)} ++ (L_ z)) by A14, A3
.= (((L_ x) ++ ({y} ++ {z})) \/ ({x} ++ ((L_ y) ++ {z}))) \/ ({(x + y)} ++ (L_ z)) by A16, A3
.= (((L_ x) ++ ({y} ++ {z})) \/ ({x} ++ ((L_ y) ++ {z}))) \/ (({x} ++ {y}) ++ (L_ z)) by Th36
.= (((L_ x) ++ ({y} ++ {z})) \/ ({x} ++ ((L_ y) ++ {z}))) \/ ({x} ++ ({y} ++ (L_ z))) by A18, A3
.= ((L_ x) ++ ({y} ++ {z})) \/ (({x} ++ ((L_ y) ++ {z})) \/ ({x} ++ ({y} ++ (L_ z)))) by XBOOLE_1:4
.= ((L_ x) ++ ({y} ++ {z})) \/ ({x} ++ (((L_ y) ++ {z}) \/ ({y} ++ (L_ z)))) by Th33
.= ((L_ x) ++ {(y + z)}) \/ ({x} ++ (L_ (y + z))) by A13, Th36 ;
A20: for a, b, c being Surreal st a in R_ x & b in {y} & c in {z} holds
((born a) (+) (born b)) (+) (born c) in D
proof
let a, b, c be Surreal; :: thesis: ( a in R_ x & b in {y} & c in {z} implies ((born a) (+) (born b)) (+) (born c) in D )
assume ( a in R_ x & b in {y} & c in {z} ) ; :: thesis: ((born a) (+) (born b)) (+) (born c) in D
then A21: ( a in (L_ x) \/ (R_ x) & b = y & c = z ) by TARSKI:def 1, XBOOLE_0:def 3;
then (born a) (+) (born b) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then ((born a) (+) (born b)) (+) (born c) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94, A21;
hence ((born a) (+) (born b)) (+) (born c) in D by A11; :: thesis: verum
end;
A22: for a, b, c being Surreal st a in {x} & b in R_ y & c in {z} holds
((born a) (+) (born b)) (+) (born c) in D
proof
let a, b, c be Surreal; :: thesis: ( a in {x} & b in R_ y & c in {z} implies ((born a) (+) (born b)) (+) (born c) in D )
assume ( a in {x} & b in R_ y & c in {z} ) ; :: thesis: ((born a) (+) (born b)) (+) (born c) in D
then A23: ( a = x & b in (L_ y) \/ (R_ y) & c = z ) by TARSKI:def 1, XBOOLE_0:def 3;
then (born a) (+) (born b) in (born x) (+) (born y) by SURREALO:1, ORDINAL7:94;
then ((born a) (+) (born b)) (+) (born c) in ((born x) (+) (born y)) (+) (born z) by ORDINAL7:94, A23;
hence ((born a) (+) (born b)) (+) (born c) in D by A11; :: thesis: verum
end;
A24: for a, b, c being Surreal st a in {x} & b in {y} & c in R_ z holds
((born a) (+) (born b)) (+) (born c) in D
proof
let a, b, c be Surreal; :: thesis: ( a in {x} & b in {y} & c in R_ z implies ((born a) (+) (born b)) (+) (born c) in D )
assume ( a in {x} & b in {y} & c in R_ z ) ; :: thesis: ((born a) (+) (born b)) (+) (born c) in D
then ( a = x & b = y & c in (L_ z) \/ (R_ z) ) by TARSKI:def 1, XBOOLE_0:def 3;
then ((born a) (+) (born b)) (+) (born c) in ((born x) (+) (born y)) (+) (born z) by SURREALO:1, ORDINAL7:94;
hence ((born a) (+) (born b)) (+) (born c) in D by A11; :: thesis: verum
end;
A25: ((((R_ x) ++ {y}) \/ ({x} ++ (R_ y))) ++ {z}) \/ ({(x + y)} ++ (R_ z)) = ((((R_ x) ++ {y}) ++ {z}) \/ (({x} ++ (R_ y)) ++ {z})) \/ ({(x + y)} ++ (R_ z)) by Th33
.= (((R_ x) ++ ({y} ++ {z})) \/ (({x} ++ (R_ y)) ++ {z})) \/ ({(x + y)} ++ (R_ z)) by A20, A3
.= (((R_ x) ++ {(y + z)}) \/ (({x} ++ (R_ y)) ++ {z})) \/ ({(x + y)} ++ (R_ z)) by Th36
.= (((R_ x) ++ {(y + z)}) \/ (({x} ++ (R_ y)) ++ {z})) \/ (({x} ++ {y}) ++ (R_ z)) by Th36
.= (((R_ x) ++ {(y + z)}) \/ ({x} ++ ((R_ y) ++ {z}))) \/ (({x} ++ {y}) ++ (R_ z)) by A22, A3
.= (((R_ x) ++ {(y + z)}) \/ ({x} ++ ((R_ y) ++ {z}))) \/ ({x} ++ ({y} ++ (R_ z))) by A24, A3
.= ((R_ x) ++ {(y + z)}) \/ (({x} ++ ((R_ y) ++ {z})) \/ ({x} ++ ({y} ++ (R_ z)))) by XBOOLE_1:4
.= ((R_ x) ++ {(y + z)}) \/ ({x} ++ (R_ (y + z))) by A13, Th33 ;
(x + y) + z = [(((L_ (x + y)) ++ {z}) \/ ({(x + y)} ++ (L_ z))),(((R_ (x + y)) ++ {z}) \/ ({(x + y)} ++ (R_ z)))] by Th28
.= [(((L_ x) ++ {(y + z)}) \/ ({x} ++ (L_ (y + z)))),(((R_ x) ++ {(y + z)}) \/ ({x} ++ (R_ (y + z))))] by A25, A19, A12 ;
hence (x + y) + z = x + (y + z) by Th28; :: thesis: verum
end;
A26: for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
S1[((born x) (+) (born y)) (+) (born z)] by A26;
hence (x + y) + z = x + (y + z) ; :: thesis: verum
end;

theorem Th38: :: SURREALR:38
for x being Surreal holds x + 0_No = x
proof
let x be Surreal; :: thesis: x + 0_No = x
set y = 0_No ;
defpred S1[ Ordinal] means for x being Surreal st born x = $1 holds
x + 0_No = x;
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
let x be Surreal; :: thesis: ( born x = D implies x + 0_No = x )
assume A3: born x = D ; :: thesis: x + 0_No = x
( {x} ++ (L_ 0_No) = {} & {x} ++ (R_ 0_No) = {} ) by Th27;
then A4: ( ((L_ x) ++ {0_No}) \/ ({x} ++ (L_ 0_No)) = (L_ x) ++ {0_No} & ((R_ x) ++ {0_No}) \/ ({x} ++ (R_ 0_No)) = (R_ x) ++ {0_No} ) ;
A5: for Y being set st Y c= (L_ x) \/ (R_ x) holds
Y ++ {0_No} = Y
proof
let Y be set ; :: thesis: ( Y c= (L_ x) \/ (R_ x) implies Y ++ {0_No} = Y )
assume A6: Y c= (L_ x) \/ (R_ x) ; :: thesis: Y ++ {0_No} = Y
thus Y ++ {0_No} c= Y :: according to XBOOLE_0:def 10 :: thesis: Y c= Y ++ {0_No}
proof
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in Y ++ {0_No} or xy in Y )
assume A7: xy in Y ++ {0_No} ; :: thesis: xy in Y
consider x1, y1 being Surreal such that
A8: ( x1 in Y & y1 in {0_No} & xy = x1 + y1 ) by A7, Def8;
y1 = 0_No by A8, TARSKI:def 1;
hence xy in Y by A2, A8, A6, SURREALO:1, A3; :: thesis: verum
end;
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in Y or xy in Y ++ {0_No} )
assume A9: xy in Y ; :: thesis: xy in Y ++ {0_No}
then reconsider xy = xy as Surreal by SURREAL0:def 16, A6;
A10: 0_No in {0_No} by TARSKI:def 1;
xy + 0_No = xy by A2, A9, A6, A3, SURREALO:1;
hence xy in Y ++ {0_No} by A10, A9, Def8; :: thesis: verum
end;
( (L_ x) ++ {0_No} = L_ x & (R_ x) ++ {0_No} = R_ x ) by XBOOLE_1:7, A5;
then x + 0_No = [(L_ x),(R_ x)] by A4, Th28;
hence x + 0_No = x ; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
hence x + 0_No = x ; :: thesis: verum
end;

registration
let x be Surreal;
reduce x + 0_No with x;
reducibility
x + 0_No = x
by Th38;
end;

theorem Th39: :: SURREALR:39
for x being Surreal holds x - x == 0_No
proof
let x be Surreal; :: thesis: x - x == 0_No
set y = 0_No ;
defpred S1[ Ordinal] means for x being Surreal st born x = $1 holds
x + (- x) == 0_No ;
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
let x be Surreal; :: thesis: ( born x = D implies x + (- x) == 0_No )
assume A3: born x = D ; :: thesis: x + (- x) == 0_No
set X = x + (- x);
A4: - x = [(-- (R_ x)),(-- (L_ x))] by Th7;
then ( L_ (- x) = -- (R_ x) & R_ (- x) = -- (L_ x) ) ;
then A5: x + (- x) = [(((L_ x) ++ {(- x)}) \/ ({x} ++ (-- (R_ x)))),(((R_ x) ++ {(- x)}) \/ ({x} ++ (-- (L_ x))))] by Th28;
A6: L_ (x + (- x)) << {0_No}
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in L_ (x + (- x)) or not r in {0_No} or not r <= l )
assume A7: ( l in L_ (x + (- x)) & r in {0_No} & r <= l ) ; :: thesis: contradiction
A8: r = 0_No by A7, TARSKI:def 1;
A9: {r} << R_ l by A7, SURREAL0:43;
per cases ( l in {x} ++ (-- (R_ x)) or l in (L_ x) ++ {(- x)} ) by A5, A7, XBOOLE_0:def 3;
suppose l in {x} ++ (-- (R_ x)) ; :: thesis: contradiction
then consider ll, lr being Surreal such that
A10: ( ll in {x} & lr in -- (R_ x) & l = ll + lr ) by Def8;
consider xr being Surreal such that
A11: ( xr in R_ x & - xr = lr ) by A10, Def4;
x = ll by A10, TARSKI:def 1;
then A12: l = [(((L_ x) ++ {(- xr)}) \/ ({x} ++ (L_ (- xr)))),(((R_ x) ++ {(- xr)}) \/ ({x} ++ (R_ (- xr))))] by Th28, A10, A11;
xr in (L_ x) \/ (R_ x) by A11, XBOOLE_0:def 3;
then A13: xr + (- xr) == 0_No by A3, A2, SURREALO:1;
- xr in {(- xr)} by TARSKI:def 1;
then xr + (- xr) in (R_ x) ++ {(- xr)} by A11, Def8;
then xr + (- xr) in R_ l by A12, XBOOLE_0:def 3;
hence contradiction by A13, A9, A7, A8; :: thesis: verum
end;
suppose l in (L_ x) ++ {(- x)} ; :: thesis: contradiction
then consider xl, lr being Surreal such that
A14: ( xl in L_ x & lr in {(- x)} & l = xl + lr ) by Def8;
lr = - x by A14, TARSKI:def 1;
then A15: l = [(((L_ xl) ++ {(- x)}) \/ ({xl} ++ (L_ (- x)))),(((R_ xl) ++ {(- x)}) \/ ({xl} ++ (R_ (- x))))] by A14, Th28;
xl in (L_ x) \/ (R_ x) by A14, XBOOLE_0:def 3;
then A16: xl + (- xl) == 0_No by A3, A2, SURREALO:1;
( - xl in -- (L_ x) & xl in {xl} ) by A14, Def4, TARSKI:def 1;
then xl + (- xl) in {xl} ++ (-- (L_ x)) by Def8;
then xl + (- xl) in R_ l by A4, A15, XBOOLE_0:def 3;
hence contradiction by A16, A9, A7, A8; :: thesis: verum
end;
end;
end;
{(x + (- x))} << R_ 0_No ;
hence x + (- x) <= 0_No by A6, SURREAL0:43; :: according to SURREALO:def 2 :: thesis: 0_No <= x + (- x)
A17: {0_No} << R_ (x + (- x))
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in {0_No} or not r in R_ (x + (- x)) or not r <= l )
assume A18: ( l in {0_No} & r in R_ (x + (- x)) & r <= l ) ; :: thesis: contradiction
A19: l = 0_No by A18, TARSKI:def 1;
A20: L_ r << {l} by SURREAL0:43, A18;
per cases ( r in (R_ x) ++ {(- x)} or r in {x} ++ (-- (L_ x)) ) by A5, A18, XBOOLE_0:def 3;
suppose r in (R_ x) ++ {(- x)} ; :: thesis: contradiction
then consider ll, lr being Surreal such that
A21: ( ll in R_ x & lr in {(- x)} & r = ll + lr ) by Def8;
lr = - x by A21, TARSKI:def 1;
then A22: r = [(((L_ ll) ++ {(- x)}) \/ ({ll} ++ (L_ (- x)))),(((R_ ll) ++ {(- x)}) \/ ({ll} ++ (R_ (- x))))] by A21, Th28;
ll in (L_ x) \/ (R_ x) by A21, XBOOLE_0:def 3;
then A23: ll + (- ll) == 0_No by A3, A2, SURREALO:1;
( - ll in L_ (- x) & ll in {ll} ) by A21, Def4, A4, TARSKI:def 1;
then ll + (- ll) in {ll} ++ (L_ (- x)) by Def8;
then ll + (- ll) in L_ r by A22, XBOOLE_0:def 3;
hence contradiction by A23, A20, A19, A18; :: thesis: verum
end;
suppose r in {x} ++ (-- (L_ x)) ; :: thesis: contradiction
then consider ll, lr being Surreal such that
A24: ( ll in {x} & lr in -- (L_ x) & r = ll + lr ) by Def8;
consider xr being Surreal such that
A25: ( xr in L_ x & - xr = lr ) by A24, Def4;
x = ll by A24, TARSKI:def 1;
then A26: r = [(((L_ x) ++ {(- xr)}) \/ ({x} ++ (L_ (- xr)))),(((R_ x) ++ {(- xr)}) \/ ({x} ++ (R_ (- xr))))] by Th28, A24, A25;
xr in (L_ x) \/ (R_ x) by A25, XBOOLE_0:def 3;
then A27: xr + (- xr) == 0_No by A3, A2, SURREALO:1;
- xr in {(- xr)} by TARSKI:def 1;
then xr + (- xr) in (L_ x) ++ {(- xr)} by A25, Def8;
then xr + (- xr) in L_ r by A26, XBOOLE_0:def 3;
hence contradiction by A27, A20, A18, A19; :: thesis: verum
end;
end;
end;
L_ 0_No << {(x + (- x))} ;
hence 0_No <= x + (- x) by SURREAL0:43, A17; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
hence x - x == 0_No ; :: thesis: verum
end;

theorem Th40: :: SURREALR:40
for x, y being Surreal holds - (x + y) = (- x) + (- y)
proof
let x, y be Surreal; :: thesis: - (x + y) = (- x) + (- y)
defpred S1[ Ordinal] means for x, y being Surreal st (born x) (+) (born y) c= $1 holds
- (x + y) = (- x) + (- y);
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
A3: for x, y being Surreal st (born x) (+) (born y) c= D holds
for X, Y being surreal-membered set st ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) holds
-- (X ++ Y) = (-- X) ++ (-- Y)
proof
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies for X, Y being surreal-membered set st ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) holds
-- (X ++ Y) = (-- X) ++ (-- Y) )

assume A4: (born x) (+) (born y) c= D ; :: thesis: for X, Y being surreal-membered set st ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) holds
-- (X ++ Y) = (-- X) ++ (-- Y)

let X, Y be surreal-membered set ; :: thesis: ( ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) implies -- (X ++ Y) = (-- X) ++ (-- Y) )
assume A5: ( ( X c= (L_ x) \/ (R_ x) & Y = {y} ) or ( Y c= (L_ y) \/ (R_ y) & X = {x} ) ) ; :: thesis: -- (X ++ Y) = (-- X) ++ (-- Y)
thus -- (X ++ Y) c= (-- X) ++ (-- Y) :: according to XBOOLE_0:def 10 :: thesis: (-- X) ++ (-- Y) c= -- (X ++ Y)
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in -- (X ++ Y) or a in (-- X) ++ (-- Y) )
assume a in -- (X ++ Y) ; :: thesis: a in (-- X) ++ (-- Y)
then consider z being Surreal such that
A6: ( z in X ++ Y & a = - z ) by Def4;
consider x1, y1 being Surreal such that
A7: ( x1 in X & y1 in Y & z = x1 + y1 ) by A6, Def8;
( ( born x1 in born x & born y1 = born y ) or ( born x1 = born x & born y1 in born y ) ) by SURREALO:1, A5, A7, TARSKI:def 1;
then (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL7:94;
then A8: a = (- x1) + (- y1) by A2, A4, A6, A7;
( - x1 in -- X & - y1 in -- Y ) by A7, Def4;
hence a in (-- X) ++ (-- Y) by A8, Def8; :: thesis: verum
end;
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in (-- X) ++ (-- Y) or a in -- (X ++ Y) )
assume a in (-- X) ++ (-- Y) ; :: thesis: a in -- (X ++ Y)
then consider x2, y2 being Surreal such that
A9: ( x2 in -- X & y2 in -- Y & a = x2 + y2 ) by Def8;
consider x1 being Surreal such that
A10: ( x1 in X & x2 = - x1 ) by A9, Def4;
consider y1 being Surreal such that
A11: ( y1 in Y & y2 = - y1 ) by A9, Def4;
A12: x1 + y1 in X ++ Y by A10, A11, Def8;
( ( born x1 in born x & born y1 = born y ) or ( born x1 = born x & born y1 in born y ) ) by SURREALO:1, A5, A10, A11, TARSKI:def 1;
then (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL7:94;
then - (x1 + y1) = a by A2, A4, A10, A11, A9;
hence a in -- (X ++ Y) by A12, Def4; :: thesis: verum
end;
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies - (x + y) = (- x) + (- y) )
assume A13: (born x) (+) (born y) c= D ; :: thesis: - (x + y) = (- x) + (- y)
A14: L_ x c= (L_ x) \/ (R_ x) by XBOOLE_1:7;
A15: R_ x c= (L_ x) \/ (R_ x) by XBOOLE_1:7;
A16: L_ y c= (L_ y) \/ (R_ y) by XBOOLE_1:7;
A17: R_ y c= (L_ y) \/ (R_ y) by XBOOLE_1:7;
A18: x + y = [(((L_ x) ++ {y}) \/ ({x} ++ (L_ y))),(((R_ x) ++ {y}) \/ ({x} ++ (R_ y)))] by Th28;
A19: ( L_ (- x) = -- (R_ x) & R_ (- x) = -- (L_ x) & (- y) `1 = -- (R_ y) & (- y) `2 = -- (L_ y) ) by Th8;
A20: ( {(- x)} = -- {x} & {(- y)} = -- {y} ) by Th21;
A21: (R_ (- x)) ++ {(- y)} = -- ((L_ x) ++ {y}) by A19, A20, A14, A3, A13;
A22: {(- x)} ++ (R_ (- y)) = -- ({x} ++ (L_ y)) by A19, A20, A16, A3, A13;
A23: (L_ (- x)) ++ {(- y)} = -- ((R_ x) ++ {y}) by A19, A20, A15, A3, A13;
{(- x)} ++ (L_ (- y)) = -- ({x} ++ (R_ y)) by A19, A20, A17, A3, A13;
then A24: ((L_ (- x)) ++ {(- y)}) \/ ({(- x)} ++ (L_ (- y))) = -- (((R_ x) ++ {y}) \/ ({x} ++ (R_ y))) by A23, Th20;
thus (- x) + (- y) = [(((L_ (- x)) ++ {(- y)}) \/ ({(- x)} ++ (L_ (- y)))),(((R_ (- x)) ++ {(- y)}) \/ ({(- x)} ++ (R_ (- y))))] by Th28
.= [(-- (R_ (x + y))),(-- (L_ (x + y)))] by A18, A22, A21, Th20, A24
.= - (x + y) by Th7 ; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
hence - (x + y) = (- x) + (- y) ; :: thesis: verum
end;

theorem Th41: :: SURREALR:41
for x, y, z being Surreal holds
( x + y <= z iff x <= z - y )
proof
let x, y, z be Surreal; :: thesis: ( x + y <= z iff x <= z - y )
thus ( x + y <= z implies x <= z - y ) :: thesis: ( x <= z - y implies x + y <= z )
proof
assume x + y <= z ; :: thesis: x <= z - y
then A1: (x + y) + (- y) <= z + (- y) by Th32;
y - y == 0_No by Th39;
then x + (y + (- y)) >= x + 0_No by Th32;
then (x + y) + (- y) >= x by Th37;
hence x <= z - y by A1, SURREALO:4; :: thesis: verum
end;
assume x <= z - y ; :: thesis: x + y <= z
then x + y <= (z + (- y)) + y by Th32;
then A2: x + y <= z + ((- y) + y) by Th37;
y - y == 0_No by Th39;
then ( z + ((- y) + y) <= z + 0_No & z + 0_No = z ) by Th32;
hence x + y <= z by A2, SURREALO:4; :: thesis: verum
end;

theorem Th42: :: SURREALR:42
for x, y, z being Surreal holds
( x + y < z iff x < z - y )
proof
let x, y, z be Surreal; :: thesis: ( x + y < z iff x < z - y )
thus ( x + y < z implies x < z - y ) :: thesis: ( x < z - y implies x + y < z )
proof
assume A1: ( x + y < z & not x < z - y ) ; :: thesis: contradiction
then x + y >= (z + (- y)) + y by Th32;
then A2: x + y >= z + ((- y) + y) by Th37;
y - y == 0_No by Th39;
then ( z + ((- y) + y) >= z + 0_No & z + 0_No = z ) by Th32;
hence contradiction by A2, A1, SURREALO:4; :: thesis: verum
end;
assume A3: ( x < z - y & z <= x + y ) ; :: thesis: contradiction
then z + (- y) <= (x + y) + (- y) by Th32;
then A4: z + (- y) <= x + (y + (- y)) by Th37;
y - y == 0_No by Th39;
then ( x + (y + (- y)) <= x + 0_No & x + 0_No = x ) by Th32;
hence contradiction by A4, A3, SURREALO:4; :: thesis: verum
end;

theorem Th43: :: SURREALR:43
for x, y, z, t being Surreal st x <= y & z <= t holds
x + z <= y + t
proof
let x, y, z, t be Surreal; :: thesis: ( x <= y & z <= t implies x + z <= y + t )
assume ( x <= y & z <= t ) ; :: thesis: x + z <= y + t
then ( x + z <= y + z & y + z <= y + t ) by Th32;
hence x + z <= y + t by SURREALO:4; :: thesis: verum
end;

theorem Th44: :: SURREALR:44
for x, y, z, t being Surreal st x <= y & z < t holds
x + z < y + t
proof
let x, y, z, t be Surreal; :: thesis: ( x <= y & z < t implies x + z < y + t )
assume A1: ( x <= y & z < t ) ; :: thesis: x + z < y + t
assume not x + z < y + t ; :: thesis: contradiction
then A2: z >= (y + t) - x by Th42;
A3: x - x == 0_No by Th39;
x + (- x) <= y + (- x) by A1, Th32;
then 0_No <= y + (- x) by A3, SURREALO:4;
then A4: t + 0_No <= t + (y + (- x)) by Th32;
(y + t) + (- x) = t + (y + (- x)) by Th37;
hence contradiction by A1, A2, A4, SURREALO:4; :: thesis: verum
end;

theorem :: SURREALR:45
for x, y being Surreal holds
( x < y iff 0_No < y - x )
proof
let x, y be Surreal; :: thesis: ( x < y iff 0_No < y - x )
x = 0_No + x ;
hence ( x < y iff 0_No < y - x ) by Th42; :: thesis: verum
end;

theorem :: SURREALR:46
for x, y being Surreal holds
( x < y iff x - y < 0_No )
proof
let x, y be Surreal; :: thesis: ( x < y iff x - y < 0_No )
y = 0_No + y ;
hence ( x < y iff x - y < 0_No ) by Th41; :: thesis: verum
end;

theorem :: SURREALR:47
for x, y being Surreal st x - y == 0_No holds
x == y
proof
let x, y be Surreal; :: thesis: ( x - y == 0_No implies x == y )
A1: ( (- y) + y = y - y & y - y == 0_No ) by Th39;
assume x - y == 0_No ; :: thesis: x == y
then ( y = 0_No + y & 0_No + y == (x + (- y)) + y & (x + (- y)) + y = x + ((- y) + y) ) by Th37, Th43;
then ( y == x + ((- y) + y) & x + ((- y) + y) == x + 0_No & x + 0_No = x ) by A1, Th43;
hence x == y by SURREALO:4; :: thesis: verum
end;

definition
let x be object ;
assume A1: x is surreal ;
func -' x -> Surreal means :Def10: :: SURREALR:def 10
for x1 being Surreal st x1 = x holds
it = - x1;
existence
ex b1 being Surreal st
for x1 being Surreal st x1 = x holds
b1 = - x1
proof
reconsider xx = x as Surreal by A1;
take - xx ; :: thesis: for x1 being Surreal st x1 = x holds
- xx = - x1

thus for x1 being Surreal st x1 = x holds
- xx = - x1
; :: thesis: verum
end;
uniqueness
for b1, b2 being Surreal st ( for x1 being Surreal st x1 = x holds
b1 = - x1 ) & ( for x1 being Surreal st x1 = x holds
b2 = - x1 ) holds
b1 = b2
proof
reconsider xx = x as Surreal by A1;
let m1, m2 be Surreal; :: thesis: ( ( for x1 being Surreal st x1 = x holds
m1 = - x1 ) & ( for x1 being Surreal st x1 = x holds
m2 = - x1 ) implies m1 = m2 )

assume that
A2: for x1 being Surreal st x1 = x holds
m1 = - x1
and
A3: for x1 being Surreal st x1 = x holds
m2 = - x1
; :: thesis: m1 = m2
m1 = - xx by A2;
hence m1 = m2 by A3; :: thesis: verum
end;
end;

:: deftheorem Def10 defines -' SURREALR:def 10 :
for x being object st x is surreal holds
for b2 being Surreal holds
( b2 = -' x iff for x1 being Surreal st x1 = x holds
b2 = - x1 );

registration
let a be Surreal;
let x be object ;
identify - a with -' x when a = x;
compatibility
( a = x implies - a = -' x )
by Def10;
end;

definition
let x, y be object ;
assume A1: ( x is surreal & y is surreal ) ;
func x +' y -> Surreal means :Def11: :: SURREALR:def 11
for x1, y1 being Surreal st x1 = x & y1 = y holds
it = x1 + y1;
existence
ex b1 being Surreal st
for x1, y1 being Surreal st x1 = x & y1 = y holds
b1 = x1 + y1
proof
reconsider xx = x, yy = y as Surreal by A1;
take xx + yy ; :: thesis: for x1, y1 being Surreal st x1 = x & y1 = y holds
xx + yy = x1 + y1

thus for x1, y1 being Surreal st x1 = x & y1 = y holds
xx + yy = x1 + y1
; :: thesis: verum
end;
uniqueness
for b1, b2 being Surreal st ( for x1, y1 being Surreal st x1 = x & y1 = y holds
b1 = x1 + y1 ) & ( for x1, y1 being Surreal st x1 = x & y1 = y holds
b2 = x1 + y1 ) holds
b1 = b2
proof
reconsider xx = x, yy = y as Surreal by A1;
let a1, a2 be Surreal; :: thesis: ( ( for x1, y1 being Surreal st x1 = x & y1 = y holds
a1 = x1 + y1 ) & ( for x1, y1 being Surreal st x1 = x & y1 = y holds
a2 = x1 + y1 ) implies a1 = a2 )

assume that
A2: for x1, y1 being Surreal st x1 = x & y1 = y holds
a1 = x1 + y1
and
A3: for x1, y1 being Surreal st x1 = x & y1 = y holds
a2 = x1 + y1
; :: thesis: a1 = a2
a1 = xx + yy by A2;
hence a1 = a2 by A3; :: thesis: verum
end;
end;

:: deftheorem Def11 defines +' SURREALR:def 11 :
for x, y being object st x is surreal & y is surreal holds
for b3 being Surreal holds
( b3 = x +' y iff for x1, y1 being Surreal st x1 = x & y1 = y holds
b3 = x1 + y1 );

registration
let a, b be Surreal;
let x, y be object ;
identify a + b with x +' y when a = x, b = y;
compatibility
( a = x & b = y implies a + b = x +' y )
by Def11;
end;

definition
let A be Ordinal;
func No_mult_op A -> ManySortedSet of Triangle A means :Def12: :: SURREALR:def 12
ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) );
existence
ex b1 being ManySortedSet of Triangle A ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) )
proof
deffunc H1( Ordinal) -> Subset of [:(Day $1),(Day $1):] = Triangle $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xL,yL]))) where xL is Element of L_ (L_ $1), yL is Element of L_ (R_ $1) : ( xL in L_ (L_ $1) & yL in L_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xR,yR]))) where xR is Element of R_ (L_ $1), yR is Element of R_ (R_ $1) : ( xR in R_ (L_ $1) & yR in R_ (R_ $1) ) } ),( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xL,yR]))) where xL is Element of L_ (L_ $1), yR is Element of R_ (R_ $1) : ( xL in L_ (L_ $1) & yR in R_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xR,yL]))) where xR is Element of R_ (L_ $1), yL is Element of L_ (R_ $1) : ( xR in R_ (L_ $1) & yL in L_ (R_ $1) ) } )];
A1: for A, B being Ordinal st A c= B holds
H1(A) c= H1(B)
by Th25;
A2: for S being Function-yielding c=-monotone Sequence st ( for A being Ordinal st A in dom S holds
dom (S . A) = H1(A) ) holds
for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)
proof
let S be Function-yielding c=-monotone Sequence; :: thesis: ( ( for A being Ordinal st A in dom S holds
dom (S . A) = H1(A) ) implies for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S) )

assume A3: for A being Ordinal st A in dom S holds
dom (S . A) = H1(A)
; :: thesis: for A being Ordinal
for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)

let A be Ordinal; :: thesis: for x being object st x in dom (S . A) holds
H2(x,S | A) = H2(x,S)

let a be object ; :: thesis: ( a in dom (S . A) implies H2(a,S | A) = H2(a,S) )
assume A4: a in dom (S . A) ; :: thesis: H2(a,S | A) = H2(a,S)
S . A <> {} by A4;
then A5: A in dom S by FUNCT_1:def 2;
then A6: dom (S . A) = H1(A) by A3;
then consider x, y being object such that
A7: ( x in Day A & y in Day A & a = [x,y] ) by A4, ZFMISC_1:def 2;
reconsider x = x, y = y as Surreal by A7;
A8: (born x) (+) (born y) c= A by A7, A6, A4, Def5;
A9: for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
{ ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } = { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
proof
let X, Y be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) implies { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } = { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } )
assume A10: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) ) ; :: thesis: { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } = { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
thus { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } c= { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } :: according to XBOOLE_0:def 10 :: thesis: { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } c= { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
proof
let z be object ; :: according to TARSKI:def 3 :: thesis: ( not z in { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } or z in { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } )
assume z in { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } ; :: thesis: z in { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
then consider xL being Element of X, yL being Element of Y such that
A11: ( z = (((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL])) & xL in X & yL in Y ) ;
reconsider xxL = xL, yyL = yL as Surreal by SURREAL0:def 16, A11;
set Lx = (born xxL) (+) (born y);
A12: (born xxL) (+) (born y) in (born x) (+) (born y) by ORDINAL7:94, SURREALO:1, A10, A11;
then A13: dom (S . ((born xxL) (+) (born y))) = H1((born xxL) (+) (born y)) by A8, A3, A5, ORDINAL1:10;
[xL,y] in H1((born xxL) (+) (born y)) by Def5;
then A14: (union (rng (S | A))) . [xL,y] = (union (rng S)) . [xL,y] by Th6, A13, A12, A8;
set Ly = (born x) (+) (born yyL);
A15: (born x) (+) (born yyL) in (born x) (+) (born y) by A10, A11, ORDINAL7:94, SURREALO:1;
then A16: dom (S . ((born x) (+) (born yyL))) = H1((born x) (+) (born yyL)) by A8, A3, A5, ORDINAL1:10;
[x,yL] in H1((born x) (+) (born yyL)) by Def5;
then A17: (union (rng (S | A))) . [x,yL] = (union (rng S)) . [x,yL] by Th6, A16, A15, A8;
set Lxy = (born xxL) (+) (born yyL);
A18: (born xxL) (+) (born yyL) in (born x) (+) (born yyL) by A10, A11, ORDINAL7:94, SURREALO:1;
then (born xxL) (+) (born yyL) in (born x) (+) (born y) by A15, ORDINAL1:10;
then A19: dom (S . ((born xxL) (+) (born yyL))) = H1((born xxL) (+) (born yyL)) by A8, A3, A5, ORDINAL1:10;
[xL,yL] in H1((born xxL) (+) (born yyL)) by Def5;
then (union (rng (S | A))) . [xL,yL] = (union (rng S)) . [xL,yL] by Th6, A19, A18, A8, A15, ORDINAL1:10;
hence z in { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } by A14, A17, A11; :: thesis: verum
end;
let z be object ; :: according to TARSKI:def 3 :: thesis: ( not z in { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } or z in { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } )
assume z in { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } ; :: thesis: z in { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
then consider xL being Element of X, yL being Element of Y such that
A20: ( z = (((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL])) & xL in X & yL in Y ) ;
reconsider xxL = xL, yyL = yL as Surreal by SURREAL0:def 16, A20;
set Lx = (born xxL) (+) (born y);
A21: (born xxL) (+) (born y) in (born x) (+) (born y) by A10, A20, ORDINAL7:94, SURREALO:1;
then A22: dom (S . ((born xxL) (+) (born y))) = H1((born xxL) (+) (born y)) by A8, A3, A5, ORDINAL1:10;
[xL,y] in H1((born xxL) (+) (born y)) by Def5;
then A23: (union (rng (S | A))) . [xL,y] = (union (rng S)) . [xL,y] by Th6, A22, A21, A8;
set Ly = (born x) (+) (born yyL);
A24: (born x) (+) (born yyL) in (born x) (+) (born y) by A10, A20, ORDINAL7:94, SURREALO:1;
then A25: dom (S . ((born x) (+) (born yyL))) = H1((born x) (+) (born yyL)) by A8, A3, A5, ORDINAL1:10;
[x,yL] in H1((born x) (+) (born yyL)) by Def5;
then A26: (union (rng (S | A))) . [x,yL] = (union (rng S)) . [x,yL] by Th6, A25, A24, A8;
set Lxy = (born xxL) (+) (born yyL);
A27: (born xxL) (+) (born yyL) in (born x) (+) (born yyL) by A10, A20, ORDINAL7:94, SURREALO:1;
then (born xxL) (+) (born yyL) in (born x) (+) (born y) by A24, ORDINAL1:10;
then A28: dom (S . ((born xxL) (+) (born yyL))) = H1((born xxL) (+) (born yyL)) by A8, A3, A5, ORDINAL1:10;
[xL,yL] in H1((born xxL) (+) (born yyL)) by Def5;
then (union (rng (S | A))) . [xL,yL] = (union (rng S)) . [xL,yL] by Th6, A28, A27, A8, A24, ORDINAL1:10;
hence z in { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } by A23, A26, A20; :: thesis: verum
end;
A29: ( L_ x c= (L_ x) \/ (R_ x) & R_ x c= (L_ x) \/ (R_ x) & L_ y c= (L_ y) \/ (R_ y) & R_ y c= (L_ y) \/ (R_ y) ) by XBOOLE_1:7;
then A30: { ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yL])) +' (-' ((union (rng (S | A))) . [xL,yL]))) where xL is Element of L_ x, yL is Element of L_ y : ( xL in L_ x & yL in L_ y ) } = { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yL])) +' (-' ((union (rng S)) . [xL,yL]))) where xL is Element of L_ x, yL is Element of L_ y : ( xL in L_ x & yL in L_ y ) } by A9;
A31: { ((((union (rng (S | A))) . [xR,y]) +' ((union (rng (S | A))) . [x,yR])) +' (-' ((union (rng (S | A))) . [xR,yR]))) where xR is Element of R_ x, yR is Element of R_ y : ( xR in R_ x & yR in R_ y ) } = { ((((union (rng S)) . [xR,y]) +' ((union (rng S)) . [x,yR])) +' (-' ((union (rng S)) . [xR,yR]))) where xR is Element of R_ x, yR is Element of R_ y : ( xR in R_ x & yR in R_ y ) } by A29, A9;
{ ((((union (rng (S | A))) . [xL,y]) +' ((union (rng (S | A))) . [x,yR])) +' (-' ((union (rng (S | A))) . [xL,yR]))) where xL is Element of L_ x, yR is Element of R_ y : ( xL in L_ x & yR in R_ y ) } = { ((((union (rng S)) . [xL,y]) +' ((union (rng S)) . [x,yR])) +' (-' ((union (rng S)) . [xL,yR]))) where xL is Element of L_ x, yR is Element of R_ y : ( xL in L_ x & yR in R_ y ) } by A29, A9;
hence H2(a,S | A) = H2(a,S) by A7, A30, A31, A29, A9; :: thesis: verum
end;
consider S being Function-yielding c=-monotone Sequence such that
A32: dom S = succ A and
A33: for A1 being Ordinal st A1 in succ A holds
ex SA1 being ManySortedSet of H1(A1) st
( S . A1 = SA1 & ( for x being object st x in H1(A1) holds
SA1 . x = H2(x,S | A1) ) )
from SURREALR:sch 1(A2, A1);
consider SA being ManySortedSet of H1(A) such that
A34: S . A = SA and
for x being object st x in H1(A) holds
SA . x = H2(x,S | A)
by A33, ORDINAL1:6;
take SA ; :: thesis: ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & SA = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) )

take S ; :: thesis: ( dom S = succ A & SA = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) )

thus ( dom S = succ A & SA = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) )
by A32, A34, A33; :: thesis: verum
end;
uniqueness
for b1, b2 being ManySortedSet of Triangle A st ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) ) & ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) ) holds
b1 = b2
proof
deffunc H1( Ordinal) -> Subset of [:(Day $1),(Day $1):] = Triangle $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xL,yL]))) where xL is Element of L_ (L_ $1), yL is Element of L_ (R_ $1) : ( xL in L_ (L_ $1) & yL in L_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xR,yR]))) where xR is Element of R_ (L_ $1), yR is Element of R_ (R_ $1) : ( xR in R_ (L_ $1) & yR in R_ (R_ $1) ) } ),( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xL,yR]))) where xL is Element of L_ (L_ $1), yR is Element of R_ (R_ $1) : ( xL in L_ (L_ $1) & yR in R_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xR,yL]))) where xR is Element of R_ (L_ $1), yL is Element of L_ (R_ $1) : ( xR in R_ (L_ $1) & yL in L_ (R_ $1) ) } )];
let it1, it2 be ManySortedSet of Triangle A; :: thesis: ( ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it1 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) ) & ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & it2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) ) implies it1 = it2 )

given S1 being Function-yielding c=-monotone Sequence such that A35: ( dom S1 = succ A & it1 = S1 . A ) and
A36: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
; :: thesis: ( for S being Function-yielding c=-monotone Sequence holds
( not dom S = succ A or not it2 = S . A or ex B being Ordinal st
( B in succ A & ( for SB being ManySortedSet of Triangle B holds
( not S . B = SB or ex x being object st
( x in Triangle B & not SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) ) ) or it1 = it2 )

given S2 being Function-yielding c=-monotone Sequence such that A37: ( dom S2 = succ A & it2 = S2 . A ) and
A38: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S2 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S2 | B) ) )
; :: thesis: it1 = it2
A39: ( succ A c= dom S1 & succ A c= dom S2 ) by A35, A37;
S1 | (succ A) = S2 | (succ A) from SURREALR:sch 2(A39, A36, A38);
then S1 | (succ A) = S2 by A37;
hence it1 = it2 by A35, A37; :: thesis: verum
end;
end;

:: deftheorem Def12 defines No_mult_op SURREALR:def 12 :
for A being Ordinal
for b2 being ManySortedSet of Triangle A holds
( b2 = No_mult_op A iff ex S being Function-yielding c=-monotone Sequence st
( dom S = succ A & b2 = S . A & ( for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) ) );

definition
let x, y be Surreal;
func x * y -> set equals :: SURREALR:def 13
(No_mult_op ((born x) (+) (born y))) . [x,y];
coherence
(No_mult_op ((born x) (+) (born y))) . [x,y] is set
;
end;

:: deftheorem defines * SURREALR:def 13 :
for x, y being Surreal holds x * y = (No_mult_op ((born x) (+) (born y))) . [x,y];

theorem Th48: :: SURREALR:48
for S being Function-yielding c=-monotone Sequence st ( for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) holds
for A being Ordinal st A in dom S holds
No_mult_op A = S . A
proof
deffunc H1( Ordinal) -> Subset of [:(Day $1),(Day $1):] = Triangle $1;
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xL,yL]))) where xL is Element of L_ (L_ $1), yL is Element of L_ (R_ $1) : ( xL in L_ (L_ $1) & yL in L_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xR,yR]))) where xR is Element of R_ (L_ $1), yR is Element of R_ (R_ $1) : ( xR in R_ (L_ $1) & yR in R_ (R_ $1) ) } ),( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xL,yR]))) where xL is Element of L_ (L_ $1), yR is Element of R_ (R_ $1) : ( xL in L_ (L_ $1) & yR in R_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xR,yL]))) where xR is Element of R_ (L_ $1), yL is Element of L_ (R_ $1) : ( xR in R_ (L_ $1) & yL in L_ (R_ $1) ) } )];
let S be Function-yielding c=-monotone Sequence; :: thesis: ( ( for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = [( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xL,yL]))) where xL is Element of L_ (L_ x), yL is Element of L_ (R_ x) : ( xL in L_ (L_ x) & yL in L_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xR,yR]))) where xR is Element of R_ (L_ x), yR is Element of R_ (R_ x) : ( xR in R_ (L_ x) & yR in R_ (R_ x) ) } ),( { ((((union (rng (S | B))) . [xL,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yR])) +' (-' ((union (rng (S | B))) . [xL,yR]))) where xL is Element of L_ (L_ x), yR is Element of R_ (R_ x) : ( xL in L_ (L_ x) & yR in R_ (R_ x) ) } \/ { ((((union (rng (S | B))) . [xR,(R_ x)]) +' ((union (rng (S | B))) . [(L_ x),yL])) +' (-' ((union (rng (S | B))) . [xR,yL]))) where xR is Element of R_ (L_ x), yL is Element of L_ (R_ x) : ( xR in R_ (L_ x) & yL in L_ (R_ x) ) } )] ) ) ) implies for A being Ordinal st A in dom S holds
No_mult_op A = S . A )

assume A1: for B being Ordinal st B in dom S holds
ex SB being ManySortedSet of H1(B) st
( S . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S | B) ) )
; :: thesis: for A being Ordinal st A in dom S holds
No_mult_op A = S . A

let A be Ordinal; :: thesis: ( A in dom S implies No_mult_op A = S . A )
assume A2: A in dom S ; :: thesis: No_mult_op A = S . A
consider S1 being Function-yielding c=-monotone Sequence such that
A3: ( dom S1 = succ A & No_mult_op A = S1 . A ) and
A4: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S1 . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S1 | B) ) )
by Def12;
A5: succ A c= dom S by A2, ORDINAL1:21;
A6: for B being Ordinal st B in succ A holds
ex SB being ManySortedSet of H1(B) st
( S . B = SB & ( for x being object st x in H1(B) holds
SB . x = H2(x,S | B) ) )
by A1, A5;
A7: ( succ A c= dom S & succ A c= dom S1 ) by A2, ORDINAL1:21, A3;
A8: S | (succ A) = S1 | (succ A) from SURREALR:sch 2(A7, A6, A4);
A in succ A by ORDINAL1:8;
hence No_mult_op A = S . A by A3, A8, FUNCT_1:49; :: thesis: verum
end;

definition
let x, y be Surreal;
let X, Y be set ;
func comp (X,x,y,Y) -> set means :Def14: :: SURREALR:def 14
for o being object holds
( o in it iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) );
existence
ex b1 being set st
for o being object holds
( o in b1 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )
proof
defpred S1[ object ] means $1 is surreal ;
consider X1 being set such that
A1: for o being object holds
( o in X1 iff ( o in X & S1[o] ) )
from XBOOLE_0:sch 1();
consider Y1 being set such that
A2: for o being object holds
( o in Y1 iff ( o in Y & S1[o] ) )
from XBOOLE_0:sch 1();
defpred S2[ object , object ] means for a being Surreal st a = $1 holds
$2 = a * y;
defpred S3[ object , object ] means for a being Surreal st a = $1 holds
$2 = x * a;
A3: for o being object st o in X1 holds
ex u being object st S2[o,u]
proof
let o be object ; :: thesis: ( o in X1 implies ex u being object st S2[o,u] )
assume A4: o in X1 ; :: thesis: ex u being object st S2[o,u]
reconsider a = o as Surreal by A4, A1;
take a * y ; :: thesis: S2[o,a * y]
thus S2[o,a * y] ; :: thesis: verum
end;
consider fy being Function such that
A5: ( dom fy = X1 & ( for o being object st o in X1 holds
S2[o,fy . o] ) )
from CLASSES1:sch 1(A3);
A6: for o being object st o in Y1 holds
ex u being object st S3[o,u]
proof
let o be object ; :: thesis: ( o in Y1 implies ex u being object st S3[o,u] )
assume A7: o in Y1 ; :: thesis: ex u being object st S3[o,u]
reconsider a = o as Surreal by A7, A2;
take x * a ; :: thesis: S3[o,x * a]
thus S3[o,x * a] ; :: thesis: verum
end;
consider fx being Function such that
A8: ( dom fx = Y1 & ( for o being object st o in Y1 holds
S3[o,fx . o] ) )
from CLASSES1:sch 1(A6);
defpred S4[ object , object ] means for a, b being Surreal st $1 = [a,b] holds
$2 = a * b;
A9: for o being object st o in [:X1,Y1:] holds
ex u being object st S4[o,u]
proof
let o be object ; :: thesis: ( o in [:X1,Y1:] implies ex u being object st S4[o,u] )
assume A10: o in [:X1,Y1:] ; :: thesis: ex u being object st S4[o,u]
consider a, b being object such that
A11: ( a in X1 & b in Y1 & o = [a,b] ) by A10, ZFMISC_1:def 2;
reconsider a = a, b = b as Surreal by A11, A1, A2;
take a * b ; :: thesis: S4[o,a * b]
let a1, b1 be Surreal; :: thesis: ( o = [a1,b1] implies a * b = a1 * b1 )
assume o = [a1,b1] ; :: thesis: a * b = a1 * b1
then ( a1 = a & b1 = b ) by A11, XTUPLE_0:1;
hence a * b = a1 * b1 ; :: thesis: verum
end;
consider fxy being Function such that
A12: ( dom fxy = [:X1,Y1:] & ( for o being object st o in [:X1,Y1:] holds
S4[o,fxy . o] ) )
from CLASSES1:sch 1(A9);
set IT = { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } ;
take { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } ; :: thesis: for o being object holds
( o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )

let o be object ; :: thesis: ( o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )

thus ( o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } implies ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )
:: thesis: ( ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) implies o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } )
proof
assume o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } ; :: thesis: ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y )

then consider x1 being Element of X, y1 being Element of Y such that
A13: ( o = ((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1])) & x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) ;
reconsider x1 = x1, y1 = y1 as Surreal by A13;
( x1 in X1 & y1 in Y1 ) by A13, A1, A2;
then [x1,y1] in [:X1,Y1:] by ZFMISC_1:def 2;
then A14: fxy . [x1,y1] = x1 * y1 by A12;
A15: fy . x1 = x1 * y by A13, A1, A5;
fx . y1 = x * y1 by A13, A2, A8;
hence ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y )
by A13, A14, A15; :: thesis: verum
end;
given x1, y1 being Surreal such that A16: ( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) ; :: thesis: o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) }
( x1 in X1 & y1 in Y1 ) by A16, A1, A2;
then [x1,y1] in [:X1,Y1:] by ZFMISC_1:def 2;
then A17: fxy . [x1,y1] = x1 * y1 by A12;
A18: fy . x1 = x1 * y by A16, A1, A5;
fx . y1 = x * y1 by A16, A2, A8;
hence o in { (((fy . x1) +' (fx . y1)) +' (-' (fxy . [x1,y1]))) where x1 is Element of X, y1 is Element of Y : ( x1 in X & y1 in Y & x1 is surreal & y1 is surreal ) } by A16, A17, A18; :: thesis: verum
end;
uniqueness
for b1, b2 being set st ( for o being object holds
( o in b1 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) ) ) & ( for o being object holds
( o in b2 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) ) ) holds
b1 = b2
proof
let C1, C2 be set ; :: thesis: ( ( for o being object holds
( o in C1 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) ) ) & ( for o being object holds
( o in C2 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) ) ) implies C1 = C2 )

assume that
A19: for o being object holds
( o in C1 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )
and
A20: for o being object holds
( o in C2 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )
; :: thesis: C1 = C2
now :: thesis: for o being object holds
( o in C1 iff o in C2 )
let o be object ; :: thesis: ( o in C1 iff o in C2 )
( o in C1 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) )
by A19;
hence ( o in C1 iff o in C2 ) by A20; :: thesis: verum
end;
hence C1 = C2 by TARSKI:2; :: thesis: verum
end;
end;

:: deftheorem Def14 defines comp SURREALR:def 14 :
for x, y being Surreal
for X, Y, b5 being set holds
( b5 = comp (X,x,y,Y) iff for o being object holds
( o in b5 iff ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) ) );

theorem Th49: :: SURREALR:49
for x, y being Surreal
for X being set holds comp (X,x,y,{}) = {}
proof
let x, y be Surreal; :: thesis: for X being set holds comp (X,x,y,{}) = {}
let X be set ; :: thesis: comp (X,x,y,{}) = {}
assume comp (X,x,y,{}) <> {} ; :: thesis: contradiction
then consider o being object such that
A1: o in comp (X,x,y,{}) by XBOOLE_0:def 1;
consider x1, y1 being Surreal such that
A2: ( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in {} ) by A1, Def14;
thus contradiction by A2; :: thesis: verum
end;

theorem Th50: :: SURREALR:50
for x, y being Surreal holds x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))]
proof
let x, y be Surreal; :: thesis: x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))]
set Bx = born x;
set By = born y;
set A = (born x) (+) (born y);
deffunc H1( object , object , Function-yielding c=-monotone Sequence) -> object = [(((((union (rng $3)) .: [:(L_ $1),{$2}:]) ++ ((union (rng $3)) .: [:{$1},(L_ $2):])) ++ (-- ((union (rng $3)) .: [:(L_ $1),(L_ $2):]))) \/ ((((union (rng $3)) .: [:(R_ $1),{$2}:]) ++ ((union (rng $3)) .: [:{$1},(R_ $2):])) ++ (-- ((union (rng $3)) .: [:(R_ $1),(R_ $2):])))),(((((union (rng $3)) .: [:(L_ $1),{$2}:]) ++ ((union (rng $3)) .: [:{$1},(R_ $2):])) ++ (-- ((union (rng $3)) .: [:(L_ $1),(R_ $2):]))) \/ ((((union (rng $3)) .: [:(R_ $1),{$2}:]) ++ ((union (rng $3)) .: [:{$1},(L_ $2):])) ++ (-- ((union (rng $3)) .: [:(R_ ($1 `2)),(L_ $2):]))))];
deffunc H2( object , Function-yielding c=-monotone Sequence) -> object = [( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xL,yL]))) where xL is Element of L_ (L_ $1), yL is Element of L_ (R_ $1) : ( xL in L_ (L_ $1) & yL in L_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xR,yR]))) where xR is Element of R_ (L_ $1), yR is Element of R_ (R_ $1) : ( xR in R_ (L_ $1) & yR in R_ (R_ $1) ) } ),( { ((((union (rng $2)) . [xL,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yR])) +' (-' ((union (rng $2)) . [xL,yR]))) where xL is Element of L_ (L_ $1), yR is Element of R_ (R_ $1) : ( xL in L_ (L_ $1) & yR in R_ (R_ $1) ) } \/ { ((((union (rng $2)) . [xR,(R_ $1)]) +' ((union (rng $2)) . [(L_ $1),yL])) +' (-' ((union (rng $2)) . [xR,yL]))) where xR is Element of R_ (L_ $1), yL is Element of L_ (R_ $1) : ( xR in R_ (L_ $1) & yL in L_ (R_ $1) ) } )];
consider S being Function-yielding c=-monotone Sequence such that
A1: ( dom S = succ ((born x) (+) (born y)) & No_mult_op ((born x) (+) (born y)) = S . ((born x) (+) (born y)) ) and
A2: for B being Ordinal st B in succ ((born x) (+) (born y)) holds
ex SB being ManySortedSet of Triangle B st
( S . B = SB & ( for x being object st x in Triangle B holds
SB . x = H2(x,S | B) ) )
by Def12;
consider SA being ManySortedSet of Triangle ((born x) (+) (born y)) such that
A3: S . ((born x) (+) (born y)) = SA and
A4: for x being object st x in Triangle ((born x) (+) (born y)) holds
SA . x = H2(x,S | ((born x) (+) (born y)))
by A2, ORDINAL1:6;
set U = union (rng (S | ((born x) (+) (born y))));
A5: [x,y] in Triangle ((born x) (+) (born y)) by Def5;
A6: x * y = H2([x,y],S | ((born x) (+) (born y))) by A1, A3, A5, A4;
A7: for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
{ ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } = comp (X,x,y,Y)
proof
let X, Y be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) implies { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } = comp (X,x,y,Y) )
assume A8: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) ) ; :: thesis: { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } = comp (X,x,y,Y)
thus { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } c= comp (X,x,y,Y) :: according to XBOOLE_0:def 10 :: thesis: comp (X,x,y,Y) c= { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } or a in comp (X,x,y,Y) )
assume a in { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } ; :: thesis: a in comp (X,x,y,Y)
then consider xL being Element of X, yL being Element of Y such that
A9: ( a = (((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL])) & xL in X & yL in Y ) ;
reconsider x1 = xL, y1 = yL as Surreal by SURREAL0:def 16, A9;
set X1 = born x1;
set C1 = (born x1) (+) (born y);
A10: (born x1) (+) (born y) in (born x) (+) (born y) by A9, A8, SURREALO:1, ORDINAL7:94;
then A11: (born x1) (+) (born y) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC1 being ManySortedSet of Triangle ((born x1) (+) (born y)) such that
A12: S . ((born x1) (+) (born y)) = SC1 and
for x being object st x in Triangle ((born x1) (+) (born y)) holds
SC1 . x = H2(x,S | ((born x1) (+) (born y)))
by A2;
A13: dom SC1 = Triangle ((born x1) (+) (born y)) by PARTFUN1:def 2;
A14: [x1,y] in Triangle ((born x1) (+) (born y)) by Def5;
A15: x1 * y = SC1 . [x1,y] by A11, A1, A2, A12, Th48;
A16: SC1 . [x1,y] = (union (rng S)) . [x1,y] by A11, A13, A14, Th2, A1, A12;
A17: (union (rng (S | ((born x) (+) (born y))))) . [x1,y] = x1 * y by A16, A15, A12, Th5, A10, A14, A13;
set Y1 = born y1;
set C2 = (born x) (+) (born y1);
A18: (born x) (+) (born y1) in (born x) (+) (born y) by A9, A8, SURREALO:1, ORDINAL7:94;
then A19: (born x) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC2 being ManySortedSet of Triangle ((born x) (+) (born y1)) such that
A20: S . ((born x) (+) (born y1)) = SC2 and
for x being object st x in Triangle ((born x) (+) (born y1)) holds
SC2 . x = H2(x,S | ((born x) (+) (born y1)))
by A2;
A21: dom SC2 = Triangle ((born x) (+) (born y1)) by PARTFUN1:def 2;
A22: [x,y1] in Triangle ((born x) (+) (born y1)) by Def5;
A23: x * y1 = SC2 . [x,y1] by A19, A1, A2, A20, Th48;
A24: SC2 . [x,y1] = (union (rng S)) . [x,y1] by A19, A21, A22, Th2, A1, A20;
A25: (union (rng (S | ((born x) (+) (born y))))) . [x,y1] = x * y1 by A24, A23, A20, Th5, A18, A22, A21;
set C3 = (born x1) (+) (born y1);
( (born x1) (+) (born y1) in (born x) (+) (born y1) & (born x) (+) (born y1) in (born x) (+) (born y) ) by A9, A8, SURREALO:1, ORDINAL7:94;
then A26: (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL1:10;
then A27: (born x1) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC3 being ManySortedSet of Triangle ((born x1) (+) (born y1)) such that
A28: S . ((born x1) (+) (born y1)) = SC3 and
for x being object st x in Triangle ((born x1) (+) (born y1)) holds
SC3 . x = H2(x,S | ((born x1) (+) (born y1)))
by A2;
A29: dom SC3 = Triangle ((born x1) (+) (born y1)) by PARTFUN1:def 2;
A30: [x1,y1] in Triangle ((born x1) (+) (born y1)) by Def5;
A31: x1 * y1 = SC3 . [x1,y1] by A27, A1, A2, A28, Th48;
A32: SC3 . [x1,y1] = (union (rng S)) . [x1,y1] by A27, A29, A30, Th2, A1, A28;
a = (((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' (x1 * y1)) by A9, A32, A31, A28, Th5, A26, A30, A29;
hence a in comp (X,x,y,Y) by Def14, A9, A17, A25; :: thesis: verum
end;
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in comp (X,x,y,Y) or a in { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } )
assume a in comp (X,x,y,Y) ; :: thesis: a in { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) }
then consider x1, y1 being Surreal such that
A33: ( a = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) by Def14;
set X1 = born x1;
set C1 = (born x1) (+) (born y);
A34: (born x1) (+) (born y) in (born x) (+) (born y) by A33, A8, SURREALO:1, ORDINAL7:94;
then A35: (born x1) (+) (born y) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC1 being ManySortedSet of Triangle ((born x1) (+) (born y)) such that
A36: S . ((born x1) (+) (born y)) = SC1 and
for x being object st x in Triangle ((born x1) (+) (born y)) holds
SC1 . x = H2(x,S | ((born x1) (+) (born y)))
by A2;
A37: dom SC1 = Triangle ((born x1) (+) (born y)) by PARTFUN1:def 2;
A38: [x1,y] in Triangle ((born x1) (+) (born y)) by Def5;
A39: x1 * y = SC1 . [x1,y] by A35, A1, A2, A36, Th48;
A40: SC1 . [x1,y] = (union (rng S)) . [x1,y] by A35, A37, A38, Th2, A1, A36;
A41: (union (rng (S | ((born x) (+) (born y))))) . [x1,y] = x1 * y by A40, A39, A36, Th5, A34, A38, A37;
set Y1 = born y1;
set C2 = (born x) (+) (born y1);
A42: (born x) (+) (born y1) in (born x) (+) (born y) by A33, A8, SURREALO:1, ORDINAL7:94;
then A43: (born x) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC2 being ManySortedSet of Triangle ((born x) (+) (born y1)) such that
A44: S . ((born x) (+) (born y1)) = SC2 and
for x being object st x in Triangle ((born x) (+) (born y1)) holds
SC2 . x = H2(x,S | ((born x) (+) (born y1)))
by A2;
A45: dom SC2 = Triangle ((born x) (+) (born y1)) by PARTFUN1:def 2;
A46: [x,y1] in Triangle ((born x) (+) (born y1)) by Def5;
A47: x * y1 = SC2 . [x,y1] by A43, A1, A2, A44, Th48;
A48: SC2 . [x,y1] = (union (rng S)) . [x,y1] by A43, A45, A46, Th2, A1, A44;
A49: (union (rng (S | ((born x) (+) (born y))))) . [x,y1] = x * y1 by A48, A47, A44, Th5, A42, A46, A45;
set C3 = (born x1) (+) (born y1);
( (born x1) (+) (born y1) in (born x) (+) (born y1) & (born x) (+) (born y1) in (born x) (+) (born y) ) by A33, A8, SURREALO:1, ORDINAL7:94;
then A50: (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL1:10;
then A51: (born x1) (+) (born y1) in succ ((born x) (+) (born y)) by ORDINAL1:8;
then consider SC3 being ManySortedSet of Triangle ((born x1) (+) (born y1)) such that
A52: S . ((born x1) (+) (born y1)) = SC3 and
for x being object st x in Triangle ((born x1) (+) (born y1)) holds
SC3 . x = H2(x,S | ((born x1) (+) (born y1)))
by A2;
A53: dom SC3 = Triangle ((born x1) (+) (born y1)) by PARTFUN1:def 2;
A54: [x1,y1] in Triangle ((born x1) (+) (born y1)) by Def5;
A55: x1 * y1 = SC3 . [x1,y1] by A51, A1, A2, A52, Th48;
A56: SC3 . [x1,y1] = (union (rng S)) . [x1,y1] by A51, A53, A54, Th2, A1, A52;
a = ((x1 * y) +' (x * y1)) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [x1,y1])) by A33, A56, A55, A52, Th5, A50, A54, A53;
hence a in { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of X, yL is Element of Y : ( xL in X & yL in Y ) } by A33, A49, A41; :: thesis: verum
end;
A57: ( L_ x c= (L_ x) \/ (R_ x) & R_ x c= (L_ x) \/ (R_ x) & L_ y c= (L_ y) \/ (R_ y) & R_ y c= (L_ y) \/ (R_ y) ) by XBOOLE_1:7;
A58: { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yL])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yL]))) where xL is Element of L_ x, yL is Element of L_ y : ( xL in L_ x & yL in L_ y ) } = comp ((L_ x),x,y,(L_ y)) by A57, A7;
A59: { ((((union (rng (S | ((born x) (+) (born y))))) . [xL,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yR])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xL,yR]))) where xL is Element of L_ x, yR is Element of R_ y : ( xL in L_ x & yR in R_ y ) } = comp ((L_ x),x,y,(R_ y)) by A57, A7;
{ ((((union (rng (S | ((born x) (+) (born y))))) . [xR,y]) +' ((union (rng (S | ((born x) (+) (born y))))) . [x,yR])) +' (-' ((union (rng (S | ((born x) (+) (born y))))) . [xR,yR]))) where xR is Element of R_ x, yR is Element of R_ y : ( xR in R_ x & yR in R_ y ) } = comp ((R_ x),x,y,(R_ y)) by A57, A7;
hence x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))] by A6, A58, A59, A57, A7; :: thesis: verum
end;

theorem Th51: :: SURREALR:51
( ( for x, y being Surreal holds x * y is Surreal ) & ( for x, y being Surreal holds x * y = y * x ) & ( for x1, x2, y, x1y, x2y being Surreal st x1 == x2 & x1y = x1 * y & x2y = x2 * y holds
x1y == x2y ) & ( for x1, x2, y1, y2, x1y2, x2y1, x1y1, x2y2 being Surreal st x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 holds
x1y2 + x2y1 < x1y1 + x2y2 ) )
proof
defpred S1[ Ordinal, Surreal, Surreal] means ( (born $2) (+) (born $3) c= $1 implies $2 * $3 = $3 * $2 );
defpred S2[ Ordinal, Surreal, Surreal] means ( (born $2) (+) (born $3) c= $1 implies $2 * $3 is Surreal );
defpred S3[ Ordinal, Surreal, Surreal, Surreal] means for x1y, x2y being Surreal st (born $2) (+) (born $4) c= $1 & (born $3) (+) (born $4) c= $1 & $2 == $3 & x1y = $2 * $4 & x2y = $3 * $4 holds
x1y == x2y;
defpred S4[ Ordinal, Surreal, Surreal, Surreal, Surreal] means for x1y2, x2y1, x1y1, x2y2 being Surreal st (born $2) (+) (born $4) c= $1 & (born $3) (+) (born $4) c= $1 & (born $2) (+) (born $5) c= $1 & (born $3) (+) (born $5) c= $1 & x1y1 = $2 * $4 & x1y2 = $2 * $5 & x2y1 = $3 * $4 & x2y2 = $3 * $5 & $2 < $3 & $4 < $5 holds
x1y2 + x2y1 < x1y1 + x2y2;
defpred S5[ Ordinal, Surreal, Surreal, Surreal] means ( $3 < $4 implies ( ( for x being Surreal st x in L_ $2 holds
S4[$1,x,$2,$3,$4] ) & ( for x being Surreal st x in R_ $2 holds
S4[$1,$2,x,$3,$4] ) ) );
defpred S6[ Ordinal] means for x, y being Surreal holds S1[$1,x,y];
defpred S7[ Ordinal] means for x, y being Surreal holds S2[$1,x,y];
defpred S8[ Ordinal] means for x1, x2, y being Surreal holds S3[$1,x1,x2,y];
defpred S9[ Ordinal] means for x1, x2, y1, y2 being Surreal holds S4[$1,x1,x2,y1,y2];
defpred S10[ Ordinal] means ( S6[$1] & S7[$1] & S8[$1] & S9[$1] );
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S10[C] ) holds
S10[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S10[C] ) implies S10[D] )

assume A2: for C being Ordinal st C in D holds
S10[C]
; :: thesis: S10[D]
thus A3: for x, y being Surreal holds S1[D,x,y] :: thesis: ( S7[D] & S8[D] & S9[D] )
proof
A4: for x, y being Surreal st (born x) (+) (born y) c= D holds
for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) c= comp (Y,y,x,X)
proof
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) c= comp (Y,y,x,X) )

assume A5: (born x) (+) (born y) c= D ; :: thesis: for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) c= comp (Y,y,x,X)

let X, Y be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) implies comp (X,x,y,Y) c= comp (Y,y,x,X) )
assume A6: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) ) ; :: thesis: comp (X,x,y,Y) c= comp (Y,y,x,X)
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in comp (X,x,y,Y) or a in comp (Y,y,x,X) )
assume a in comp (X,x,y,Y) ; :: thesis: a in comp (Y,y,x,X)
then consider x1, y1 being Surreal such that
A7: ( a = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) by Def14;
A8: ( (born x1) (+) (born y1) in (born x1) (+) (born y) & (born x) (+) (born y1) in (born x) (+) (born y) & (born x1) (+) (born y) in (born x) (+) (born y) ) by SURREALO:1, A6, A7, ORDINAL7:94;
then (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL1:10;
then A9: ( x1 * y1 = y1 * x1 & x * y1 = y1 * x & x1 * y = y * x1 ) by A8, A2, A5;
reconsider yx1 = y * x1, y1x = y1 * x as Surreal by A8, A2, A5;
(y * x1) +' (y1 * x) = y1x + yx1 by Def11
.= (y1 * x) +' (y * x1) ;
hence a in comp (Y,y,x,X) by A7, Def14, A9; :: thesis: verum
end;
A10: for x, y being Surreal st (born x) (+) (born y) c= D holds
for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) = comp (Y,y,x,X)
proof
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) = comp (Y,y,x,X) )

assume A11: (born x) (+) (born y) c= D ; :: thesis: for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) = comp (Y,y,x,X)

let X, Y be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) implies comp (X,x,y,Y) = comp (Y,y,x,X) )
assume A12: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) ) ; :: thesis: comp (X,x,y,Y) = comp (Y,y,x,X)
( comp (X,x,y,Y) c= comp (Y,y,x,X) & comp (Y,y,x,X) c= comp (X,x,y,Y) ) by A11, A12, A4;
hence comp (X,x,y,Y) = comp (Y,y,x,X) by XBOOLE_0:def 10; :: thesis: verum
end;
let x, y be Surreal; :: thesis: S1[D,x,y]
assume A13: (born x) (+) (born y) c= D ; :: thesis: x * y = y * x
( L_ x c= (L_ x) \/ (R_ x) & R_ x c= (L_ x) \/ (R_ x) & L_ y c= (L_ y) \/ (R_ y) & R_ y c= (L_ y) \/ (R_ y) ) by XBOOLE_1:7;
then A14: ( comp ((L_ x),x,y,(L_ y)) = comp ((L_ y),y,x,(L_ x)) & comp ((R_ x),x,y,(R_ y)) = comp ((R_ y),y,x,(R_ x)) & comp ((L_ x),x,y,(R_ y)) = comp ((R_ y),y,x,(L_ x)) & comp ((R_ x),x,y,(L_ y)) = comp ((L_ y),y,x,(R_ x)) ) by A10, A13;
x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))] by Th50
.= y * x by A14, Th50 ;
hence x * y = y * x ; :: thesis: verum
end;
thus for x, y being Surreal holds S2[D,x,y] :: thesis: ( S8[D] & S9[D] )
proof
let x, y be Surreal; :: thesis: S2[D,x,y]
assume A15: (born x) (+) (born y) c= D ; :: thesis: x * y is Surreal
set CC = ((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) \/ ((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))));
A16: for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp (X,x,y,Y) is surreal-membered
proof
let X, Y be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) implies comp (X,x,y,Y) is surreal-membered )
assume A17: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) ) ; :: thesis: comp (X,x,y,Y) is surreal-membered
let z be object ; :: according to SURREAL0:def 16 :: thesis: ( not z in comp (X,x,y,Y) or z is surreal )
assume z in comp (X,x,y,Y) ; :: thesis: z is surreal
then consider x1, y1 being Surreal such that
A18: ( z = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) by Def14;
A19: ( (born x1) (+) (born y1) in (born x1) (+) (born y) & (born x) (+) (born y1) in (born x) (+) (born y) & (born x1) (+) (born y) in (born x) (+) (born y) ) by A17, SURREALO:1, A18, ORDINAL7:94;
then (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL1:10;
then reconsider x1y = x1 * y, xy1 = x * y1, x1y1 = x1 * y1 as Surreal by A19, A15, A2;
thus z is surreal by A18; :: thesis: verum
end;
A20: ( L_ x c= (L_ x) \/ (R_ x) & R_ x c= (L_ x) \/ (R_ x) & L_ y c= (L_ y) \/ (R_ y) & R_ y c= (L_ y) \/ (R_ y) ) by XBOOLE_1:7;
defpred S11[ object , object ] means ( $1 is Surreal & ( for z being Surreal st z = $1 holds
$2 = born z ) );
A21: for x, y, z being object st S11[x,y] & S11[x,z] holds
y = z
proof
let x, y, z be object ; :: thesis: ( S11[x,y] & S11[x,z] implies y = z )
assume A22: ( S11[x,y] & S11[x,z] ) ; :: thesis: y = z
reconsider x = x as Surreal by A22;
thus y = born x by A22
.= z by A22 ; :: thesis: verum
end;
consider OO being set such that
A23: for z being object holds
( z in OO iff ex y being object st
( y in ((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) \/ ((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))) & S11[y,z] ) )
from TARSKI_0:sch 1(A21);
for x being set st x in OO holds
x is ordinal
proof
let x be set ; :: thesis: ( x in OO implies x is ordinal )
assume x in OO ; :: thesis: x is ordinal
then consider y being object such that
A24: ( y in ((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) \/ ((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))) & S11[y,x] ) by A23;
reconsider y = y as Surreal by A24;
x = born y by A24;
hence x is ordinal ; :: thesis: verum
end;
then OO is ordinal-membered by ORDINAL6:1;
then reconsider U = union OO as Ordinal ;
A25: for o being object st o in ((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) \/ ((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))) holds
ex O being Ordinal st
( O in succ U & o in Day O )
proof
let o be object ; :: thesis: ( o in ((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) \/ ((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))) implies ex O being Ordinal st
( O in succ U & o in Day O ) )

assume A26: o in ((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) \/ ((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))) ; :: thesis: ex O being Ordinal st
( O in succ U & o in Day O )

A27: ( comp ((L_ x),x,y,(L_ y)) is surreal-membered & comp ((R_ x),x,y,(R_ y)) is surreal-membered & comp ((L_ x),x,y,(R_ y)) is surreal-membered & comp ((R_ x),x,y,(L_ y)) is surreal-membered ) by A16, A20;
( o in (comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y))) or o in (comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))) ) by A26, XBOOLE_0:def 3;
then ( o in comp ((L_ x),x,y,(L_ y)) or o in comp ((R_ x),x,y,(R_ y)) or o in comp ((L_ x),x,y,(R_ y)) or o in comp ((R_ x),x,y,(L_ y)) ) by XBOOLE_0:def 3;
then reconsider o = o as Surreal by A27;
S11[o, born o] ;
then born o c= U by A23, A26, ZFMISC_1:74;
then A28: born o in succ U by ORDINAL1:6, ORDINAL1:12;
o in Day (born o) by SURREAL0:def 18;
hence ex O being Ordinal st
( O in succ U & o in Day O )
by A28; :: thesis: verum
end;
(comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y))) << (comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))
proof
let l, r be Surreal; :: according to SURREAL0:def 20 :: thesis: ( not l in (comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y))) or not r in (comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))) or not r <= l )
assume A29: ( l in (comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y))) & r in (comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))) ) ; :: thesis: not r <= l
per cases ( ( l in comp ((L_ x),x,y,(L_ y)) & r in comp ((L_ x),x,y,(R_ y)) ) or ( l in comp ((R_ x),x,y,(R_ y)) & r in comp ((R_ x),x,y,(L_ y)) ) or ( l in comp ((L_ x),x,y,(L_ y)) & r in comp ((R_ x),x,y,(L_ y)) ) or ( l in comp ((R_ x),x,y,(R_ y)) & r in comp ((L_ x),x,y,(R_ y)) ) ) by A29, XBOOLE_0:def 3;
suppose A30: ( l in comp ((L_ x),x,y,(L_ y)) & r in comp ((L_ x),x,y,(R_ y)) ) ; :: thesis: not r <= l
then consider xL1, yL being Surreal such that
A31: ( l = ((xL1 * y) +' (x * yL)) +' (-' (xL1 * yL)) & xL1 in L_ x & yL in L_ y ) by Def14;
consider xL2, yR being Surreal such that
A32: ( r = ((xL2 * y) +' (x * yR)) +' (-' (xL2 * yR)) & xL2 in L_ x & yR in R_ y ) by Def14, A30;
( xL1 in (L_ x) \/ (R_ x) & xL2 in (L_ x) \/ (R_ x) ) by A31, A32, XBOOLE_0:def 3;
then A33: ( (born xL1) (+) (born y) in (born x) (+) (born y) & (born xL2) (+) (born y) in (born x) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider xL1y = xL1 * y, xL2y = xL2 * y as Surreal by A15, A2;
set BL = ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y));
A34: ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) in (born x) (+) (born y) by A33, ORDINAL3:12;
A35: ( (born xL1) (+) (born y) c= ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) & (born xL2) (+) (born y) c= ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) ) by XBOOLE_1:7;
A36: ( xL1 == xL2 implies xL1y == xL2y ) by A35, A34, A15, A2;
A37: ( yR in (L_ y) \/ (R_ y) & yL in (L_ y) \/ (R_ y) ) by A31, A32, XBOOLE_0:def 3;
then A38: ( (born xL1) (+) (born yL) in (born xL1) (+) (born y) & (born xL1) (+) (born yR) in (born xL1) (+) (born y) & (born xL2) (+) (born yL) in (born xL2) (+) (born y) & (born xL2) (+) (born yR) in (born xL2) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then ( (born xL1) (+) (born yL) in (born x) (+) (born y) & (born xL1) (+) (born yR) in (born x) (+) (born y) & (born xL2) (+) (born yR) in (born x) (+) (born y) & (born xL2) (+) (born yL) in (born x) (+) (born y) ) by A33, ORDINAL1:10;
then reconsider xL1yR = xL1 * yR, xL2yR = xL2 * yR, xL2yL = xL2 * yL, xL1yL = xL1 * yL as Surreal by A15, A2;
set BY = ((born x) (+) (born yL)) \/ ((born x) (+) (born yR));
A39: ( (born x) (+) (born yL) in (born x) (+) (born y) & (born x) (+) (born yR) in (born x) (+) (born y) ) by A37, SURREALO:1, ORDINAL7:94;
then reconsider xyL = x * yL, xyR = x * yR as Surreal by A15, A2;
A40: ( (born xL1) (+) (born yR) c= ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) & (born xL2) (+) (born yR) c= ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) & (born xL2) (+) (born yL) c= ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) & (born xL1) (+) (born yL) c= ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) ) by A38, A35, ORDINAL1:def 2;
A41: ( xL1 == xL2 implies xL1yR == xL2yR ) by A40, A34, A15, A2;
L_ y << R_ y by SURREAL0:45;
then A42: yL < yR by A31, A32;
( x <= x & y <= y ) ;
then A43: ( L_ x << {x} & {x} << R_ x & x in {x} & L_ y << {y} & {y} << R_ y & y in {y} ) by SURREAL0:43, TARSKI:def 1;
then A44: ( xL1 < x & xL2 < x & yL < y ) by A31, A32;
A45: ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) in (born x) (+) (born y) by A39, ORDINAL3:12;
A46: ( (born x) (+) (born yL) c= ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) & (born x) (+) (born yR) c= ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) ) by XBOOLE_1:7;
set BB = (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR)));
A47: (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) in (born x) (+) (born y) by A34, A45, ORDINAL3:12;
A48: ( ((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y)) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by XBOOLE_1:7;
then A49: ( (born xL1) (+) (born yL) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born xL1) (+) (born yR) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born x) (+) (born yL) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born x) (+) (born yR) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A40, A46, XBOOLE_1:1;
A50: ( (born xL1) (+) (born y) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born xL2) (+) (born y) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A35, A48, XBOOLE_1:1;
A51: ( (born yL) (+) (born xL2) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born yR) (+) (born xL2) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A40, A48, XBOOLE_1:1;
xL1yR + xyL < xL1yL + xyR by A47, A15, A2, A49, A42, A44;
then xyL < (xL1yL + xyR) - xL1yR by Th42;
then xyL < xL1yL + (xyR - xL1yR) by Th37;
then A52: xyL - xL1yL < xyR - xL1yR by Th41;
per cases ( xL1 < xL2 or xL2 < xL1 or xL1 == xL2 ) ;
suppose A53: xL1 < xL2 ; :: thesis: not r <= l
xL2yL + xL1y < xL1yL + xL2y by A53, A44, A49, A50, A51, A47, A15, A2;
then xL1y < (xL1yL + xL2y) - xL2yL by Th42;
then xL1y < xL1yL + (xL2y - xL2yL) by Th37;
then xL1y - xL1yL < xL2y - xL2yL by Th41;
then A54: (xL1y + (- xL1yL)) + xyL <= (xL2y - xL2yL) + xyL by Th32;
A55: (xL2y - xL2yL) + xyL = (xyL - xL2yL) + xL2y by Th37;
xL2yR + xyL < xL2yL + xyR by A42, A44, A47, A15, A2, A49, A51;
then xyL < (xL2yL + xyR) - xL2yR by Th42;
then xyL < xL2yL + (xyR - xL2yR) by Th37;
then xyL - xL2yL < xyR - xL2yR by Th41;
then (xyL - xL2yL) + xL2y < (xyR - xL2yR) + xL2y by Th32;
then (xL1y - xL1yL) + xyL < (xyR - xL2yR) + xL2y by SURREALO:4, A54, A55;
then xL1y + ((- xL1yL) + xyL) < (xyR + (- xL2yR)) + xL2y by Th37;
then xL1y + (xyL - xL1yL) < xyR + (xL2y - xL2yR) by Th37;
then (xL1y + xyL) - xL1yL < xyR + (xL2y - xL2yR) by Th37;
then (xL1y + xyL) + (- xL1yL) < (xL2y + xyR) + (- xL2yR) by Th37;
hence l < r by A31, A32; :: thesis: verum
end;
suppose A56: xL2 < xL1 ; :: thesis: not r <= l
A57: ( (born y) (+) (born xL1) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born yR) (+) (born xL1) c= (((born xL1) (+) (born y)) \/ ((born xL2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A48, A40, XBOOLE_1:1, A35;
( y < yR & xL2 < xL1 ) by A56, A43, A32;
then xL1y + xL2yR < xL2y + xL1yR by A50, A51, A57, A47, A15, A2;
then xL1y < (xL2y + xL1yR) - xL2yR by Th42;
then xL1y < xL1yR + (xL2y - xL2yR) by Th37;
then xL1y - xL1yR < xL2y - xL2yR by Th41;
then (xL1y - xL1yR) + xyR < (xL2y + (- xL2yR)) + xyR by Th32;
then (xL1y - xL1yR) + xyR < (xL2y + xyR) + (- xL2yR) by Th37;
then A58: xL1y + (xyR + (- xL1yR)) < (xL2y + xyR) + (- xL2yR) by Th37;
xL1yR + xyL < xL1yL + xyR by A42, A44, A47, A15, A2, A49;
then xyL < (xL1yL + xyR) - xL1yR by Th42;
then xyL < xL1yL + (xyR - xL1yR) by Th37;
then xyL - xL1yL < xyR - xL1yR by Th41;
then xL1y + (xyL - xL1yL) <= xL1y + (xyR - xL1yR) by Th32;
then xL1y + (xyL - xL1yL) < (xL2y + xyR) - xL2yR by A58, SURREALO:4;
then (xL1y + xyL) + (- xL1yL) < (xL2y + xyR) - xL2yR by Th37;
hence l < r by A31, A32; :: thesis: verum
end;
suppose A59: xL1 == xL2 ; :: thesis: not r <= l
then - xL1yR <= - xL2yR by A41, Th10;
then A60: (xL2y + xyR) - xL1yR <= (xL2y + xyR) - xL2yR by Th32;
xL1y + (xyL - xL1yL) < xL2y + (xyR - xL1yR) by A59, A36, A52, Th44;
then xL1y + (xyL - xL1yL) < (xL2y + xyR) - xL1yR by Th37;
then xL1y + (xyL - xL1yL) < (xL2y + xyR) - xL2yR by A60, SURREALO:4;
then (xL1y + xyL) - xL1yL < (xL2y + xyR) - xL2yR by Th37;
hence l < r by A31, A32; :: thesis: verum
end;
end;
end;
suppose A61: ( l in comp ((R_ x),x,y,(R_ y)) & r in comp ((R_ x),x,y,(L_ y)) ) ; :: thesis: not r <= l
then consider xR1, yR being Surreal such that
A62: ( l = ((xR1 * y) +' (x * yR)) +' (-' (xR1 * yR)) & xR1 in R_ x & yR in R_ y ) by Def14;
consider xR2, yL being Surreal such that
A63: ( r = ((xR2 * y) +' (x * yL)) +' (-' (xR2 * yL)) & xR2 in R_ x & yL in L_ y ) by Def14, A61;
( xR1 in (L_ x) \/ (R_ x) & xR2 in (L_ x) \/ (R_ x) ) by A62, A63, XBOOLE_0:def 3;
then A64: ( (born xR1) (+) (born y) in (born x) (+) (born y) & (born xR2) (+) (born y) in (born x) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider xR1y = xR1 * y, xR2y = xR2 * y as Surreal by A15, A2;
set BR = ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y));
A65: ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) in (born x) (+) (born y) by A64, ORDINAL3:12;
A66: ( (born xR1) (+) (born y) c= ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) & (born xR2) (+) (born y) c= ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) ) by XBOOLE_1:7;
A67: ( xR1 == xR2 implies xR1y == xR2y ) by A66, A65, A15, A2;
A68: ( yR in (L_ y) \/ (R_ y) & yL in (L_ y) \/ (R_ y) ) by A62, A63, XBOOLE_0:def 3;
then A69: ( (born xR1) (+) (born yL) in (born xR1) (+) (born y) & (born xR1) (+) (born yR) in (born xR1) (+) (born y) & (born xR2) (+) (born yL) in (born xR2) (+) (born y) & (born xR2) (+) (born yR) in (born xR2) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
( (born xR1) (+) (born yL) in (born x) (+) (born y) & (born xR1) (+) (born yR) in (born x) (+) (born y) & (born xR2) (+) (born yR) in (born x) (+) (born y) & (born xR2) (+) (born yL) in (born x) (+) (born y) ) by A69, A64, ORDINAL1:10;
then reconsider xR1yR = xR1 * yR, xR2yR = xR2 * yR, xR2yL = xR2 * yL, xR1yL = xR1 * yL as Surreal by A15, A2;
set BY = ((born x) (+) (born yL)) \/ ((born x) (+) (born yR));
A70: ( (born x) (+) (born yL) in (born x) (+) (born y) & (born x) (+) (born yR) in (born x) (+) (born y) ) by A68, SURREALO:1, ORDINAL7:94;
then reconsider xyL = x * yL, xyR = x * yR as Surreal by A15, A2;
A71: ( (born xR1) (+) (born yR) c= ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) & (born xR2) (+) (born yR) c= ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) & (born xR2) (+) (born yL) c= ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) & (born xR1) (+) (born yL) c= ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) ) by A69, A66, ORDINAL1:def 2;
A72: ( xR1 == xR2 implies xR1yR == xR2yR ) by A71, A65, A15, A2;
L_ y << R_ y by SURREAL0:45;
then A73: yL < yR by A62, A63;
( x <= x & y <= y ) ;
then A74: ( L_ x << {x} & {x} << R_ x & x in {x} & L_ y << {y} & {y} << R_ y & y in {y} ) by SURREAL0:43, TARSKI:def 1;
then A75: ( x < xR1 & x < xR2 & yL < y ) by A62, A63;
A76: ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) in (born x) (+) (born y) by A70, ORDINAL3:12;
A77: ( (born x) (+) (born yL) c= ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) & (born x) (+) (born yR) c= ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) ) by XBOOLE_1:7;
set BB = (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR)));
A78: (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) in (born x) (+) (born y) by A65, A76, ORDINAL3:12;
A79: ( ((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y)) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & ((born x) (+) (born yL)) \/ ((born x) (+) (born yR)) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by XBOOLE_1:7;
then A80: ( (born xR1) (+) (born yL) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born xR1) (+) (born yR) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born x) (+) (born yL) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born x) (+) (born yR) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A71, A77, XBOOLE_1:1;
A81: ( (born xR1) (+) (born y) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born xR2) (+) (born y) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A66, A79, XBOOLE_1:1;
A82: ( (born xR2) (+) (born yL) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) & (born xR2) (+) (born yR) c= (((born xR1) (+) (born y)) \/ ((born xR2) (+) (born y))) \/ (((born x) (+) (born yL)) \/ ((born x) (+) (born yR))) ) by A71, A79, XBOOLE_1:1;
per cases ( xR1 < xR2 or xR2 < xR1 or xR1 == xR2 ) ;
suppose A83: xR1 < xR2 ; :: thesis: not r <= l
( yL < y & xR1 < xR2 ) by A83, A74, A63;
then xR2yL + xR1y < xR1yL + xR2y by A80, A81, A82, A78, A15, A2;
then xR1y < (xR1yL + xR2y) - xR2yL by Th42;
then xR1y < xR1yL + (xR2y - xR2yL) by Th37;
then xR1y - xR1yL < xR2y - xR2yL by Th41;
then (xR1y - xR1yL) + xyL < (xR2y - xR2yL) + xyL by Th32;
then ((- xR1yL) + xR1y) + xyL < (- xR2yL) + (xR2y + xyL) by Th37;
then A84: (xR1y + xyL) - xR1yL < (xR2y + xyL) - xR2yL by Th37;
xyR + xR1yL < xyL + xR1yR by A73, A75, A80, A78, A15, A2;
then (xyR + xR1yL) - xR1yR < xyL by Th41;
then xR1yL + (xyR - xR1yR) < xyL by Th37;
then xyR + (- xR1yR) < xyL - xR1yL by Th42;
then xR1y + (xyR + (- xR1yR)) < xR1y + (xyL + (- xR1yL)) by Th32;
then (xR1y + xyR) + (- xR1yR) < xR1y + (xyL + (- xR1yL)) by Th37;
then (xR1y + xyR) + (- xR1yR) <= (xR1y + xyL) + (- xR1yL) by Th37;
hence not r <= l by A62, A63, A84, SURREALO:4; :: thesis: verum
end;
suppose A85: xR2 < xR1 ; :: thesis: not r <= l
( y < yR & xR2 < xR1 ) by A85, A74, A62;
then xR1y + xR2yR < xR2y + xR1yR by A80, A81, A82, A78, A15, A2;
then (xR2yR + xR1y) - xR1yR < xR2y by Th41;
then xR2yR + (xR1y - xR1yR) < xR2y by Th37;
then xR1y + (- xR1yR) < xR2y - xR2yR by Th42;
then (xR1y + (- xR1yR)) + xyR < (xR2y + (- xR2yR)) + xyR by Th32;
then A86: (xR1y + xyR) + (- xR1yR) < (xR2y + (- xR2yR)) + xyR by Th37;
xyR + xR2yL < xyL + xR2yR by A73, A75, A78, A15, A2, A80, A82;
then xyR < (xR2yR + xyL) - xR2yL by Th42;
then xyR < xR2yR + (xyL - xR2yL) by Th37;
then xyR - xR2yR < xyL - xR2yL by Th41;
then xR2y + ((- xR2yR) + xyR) < xR2y + (xyL + (- xR2yL)) by Th32;
then (xR2y + (- xR2yR)) + xyR < xR2y + (xyL + (- xR2yL)) by Th37;
then (xR2y + (- xR2yR)) + xyR <= (xR2y + xyL) + (- xR2yL) by Th37;
hence not r <= l by A62, A63, A86, SURREALO:4; :: thesis: verum
end;
suppose A87: xR1 == xR2 ; :: thesis: not r <= l
then - xR1yR <= - xR2yR by A72, Th10;
then A88: (xR1y + xyR) + (- xR1yR) <= (xR1y + xyR) + (- xR2yR) by Th32;
xyR + xR2yL < xyL + xR2yR by A75, A73, A80, A82, A78, A15, A2;
then (xR2yL + xyR) - xR2yR < xyL by Th41;
then xR2yL + (xyR - xR2yR) < xyL by Th37;
then xyR - xR2yR < xyL - xR2yL by Th42;
then xR1y + (xyR - xR2yR) < xR2y + (xyL - xR2yL) by A87, A67, Th44;
then xR1y + (xyR - xR2yR) < (xR2y + xyL) - xR2yL by Th37;
then (xR1y + xyR) + (- xR2yR) < (xR2y + xyL) + (- xR2yL) by Th37;
hence l < r by A88, SURREALO:4, A62, A63; :: thesis: verum
end;
end;
end;
suppose A89: ( l in comp ((L_ x),x,y,(L_ y)) & r in comp ((R_ x),x,y,(L_ y)) ) ; :: thesis: not r <= l
then consider xL, yL1 being Surreal such that
A90: ( l = ((xL * y) +' (x * yL1)) +' (-' (xL * yL1)) & xL in L_ x & yL1 in L_ y ) by Def14;
consider xR, yL2 being Surreal such that
A91: ( r = ((xR * y) +' (x * yL2)) +' (-' (xR * yL2)) & xR in R_ x & yL2 in L_ y ) by Def14, A89;
( yL1 in (L_ y) \/ (R_ y) & yL2 in (L_ y) \/ (R_ y) ) by A90, A91, XBOOLE_0:def 3;
then A92: ( (born yL1) (+) (born x) in (born x) (+) (born y) & (born yL2) (+) (born x) in (born x) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider yL1x = yL1 * x, yL2x = yL2 * x as Surreal by A15, A2;
set BL = ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x));
A93: ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) in (born x) (+) (born y) by A92, ORDINAL3:12;
A94: ( (born yL1) (+) (born x) c= ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) & (born yL2) (+) (born x) c= ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) ) by XBOOLE_1:7;
A95: ( yL1 == yL2 implies yL1x == yL2x ) by A94, A93, A15, A2;
A96: ( xR in (L_ x) \/ (R_ x) & xL in (L_ x) \/ (R_ x) ) by A90, A91, XBOOLE_0:def 3;
A97: ( (born yL1) (+) (born xL) in (born yL1) (+) (born x) & (born yL1) (+) (born xR) in (born yL1) (+) (born x) & (born yL2) (+) (born xL) in (born yL2) (+) (born x) & (born yL2) (+) (born xR) in (born yL2) (+) (born x) ) by A96, SURREALO:1, ORDINAL7:94;
then ( (born yL1) (+) (born xL) in (born x) (+) (born y) & (born yL1) (+) (born xR) in (born x) (+) (born y) & (born yL2) (+) (born xR) in (born x) (+) (born y) & (born yL2) (+) (born xL) in (born x) (+) (born y) ) by A92, ORDINAL1:10;
then reconsider yL1xR = yL1 * xR, yL2xR = yL2 * xR, yL2xL = yL2 * xL, yL1xL = yL1 * xL as Surreal by A15, A2;
set BY = ((born y) (+) (born xL)) \/ ((born y) (+) (born xR));
A98: ( (born y) (+) (born xL) in (born x) (+) (born y) & (born y) (+) (born xR) in (born x) (+) (born y) ) by A96, SURREALO:1, ORDINAL7:94;
then reconsider yxL = y * xL, yxR = y * xR as Surreal by A15, A2;
A99: ( (born yL1) (+) (born xR) c= ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) & (born yL2) (+) (born xR) c= ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) & (born yL2) (+) (born xL) c= ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) & (born yL1) (+) (born xL) c= ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) ) by A97, A94, ORDINAL1:def 2;
A100: ( yL1 == yL2 implies yL1xR == yL2xR ) by A99, A93, A15, A2;
L_ x << R_ x by SURREAL0:45;
then A101: xL < xR by A90, A91;
( x <= x & y <= y ) ;
then A102: ( L_ x << {x} & {x} << R_ x & x in {x} & L_ y << {y} & {y} << R_ y & y in {y} ) by SURREAL0:43, TARSKI:def 1;
then A103: ( yL1 < y & yL2 < y & xL < x ) by A90, A91;
A104: ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) in (born x) (+) (born y) by A98, ORDINAL3:12;
A105: ( (born y) (+) (born xL) c= ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) & (born y) (+) (born xR) c= ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) ) by XBOOLE_1:7;
set BB = (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR)));
A106: (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) in (born x) (+) (born y) by A93, A104, ORDINAL3:12;
A107: ( ((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x)) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by XBOOLE_1:7;
then A108: ( (born yL1) (+) (born xL) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born yL1) (+) (born xR) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born y) (+) (born xL) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born y) (+) (born xR) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A99, A105, XBOOLE_1:1;
A109: ( (born yL1) (+) (born x) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born yL2) (+) (born x) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A94, A107, XBOOLE_1:1;
A110: ( (born xL) (+) (born yL2) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born xR) (+) (born yL2) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A99, A107, XBOOLE_1:1;
yL1xR + yxL < yL1xL + yxR by A106, A15, A2, A108, A101, A103;
then yxL < (yL1xL + yxR) - yL1xR by Th42;
then yxL < yL1xL + (yxR - yL1xR) by Th37;
then A111: yxL - yL1xL < yxR - yL1xR by Th41;
A112: ( xL * yL2 = yL2xL & x * yL2 = yL2x ) by A2, A106, A15, A109, A110;
A113: ( xL * yL1 = yL1xL & x * yL1 = yL1x ) by A2, A106, A15, A108, A109;
A114: ( xR * yL2 = yL2xR & xR * yL1 = yL1xR ) by A2, A106, A15, A108, A110;
A115: l = (yxL + yL1x) + (- yL1xL) by A90, A2, A106, A15, A108, A113
.= (yL1x + yxL) + (- yL1xL) ;
A116: r = (yxR + yL2x) + (- yL2xR) by A91, A2, A106, A15, A108, A112, A114
.= (yL2x + yxR) + (- yL2xR) ;
per cases ( yL1 < yL2 or yL2 < yL1 or yL1 == yL2 ) ;
suppose A117: yL1 < yL2 ; :: thesis: not r <= l
yL2xL + yL1x < yL1xL + yL2x by A117, A103, A108, A109, A110, A106, A15, A2;
then yL1x < (yL1xL + yL2x) - yL2xL by Th42;
then yL1x < yL1xL + (yL2x - yL2xL) by Th37;
then yL1x - yL1xL < yL2x - yL2xL by Th41;
then A118: (yL1x + (- yL1xL)) + yxL <= (yL2x - yL2xL) + yxL by Th32;
A119: (yL2x - yL2xL) + yxL = (yxL - yL2xL) + yL2x by Th37;
yL2xR + yxL < yL2xL + yxR by A101, A103, A106, A15, A2, A108, A110;
then yxL < (yL2xL + yxR) - yL2xR by Th42;
then yxL < yL2xL + (yxR + (- yL2xR)) by Th37;
then yxL - yL2xL < yxR + (- yL2xR) by Th41;
then (yxL - yL2xL) + yL2x < (yxR + (- yL2xR)) + yL2x by Th32;
then (yL1x - yL1xL) + yxL < (yxR + (- yL2xR)) + yL2x by SURREALO:4, A118, A119;
then yL1x + ((- yL1xL) + yxL) < (yxR - yL2xR) + yL2x by Th37;
then yL1x + (yxL - yL1xL) < yxR + (yL2x - yL2xR) by Th37;
then (yL1x + yxL) - yL1xL < yxR + (yL2x - yL2xR) by Th37;
hence l < r by A115, A116, Th37; :: thesis: verum
end;
suppose A120: yL2 < yL1 ; :: thesis: not r <= l
A121: ( (born x) (+) (born yL1) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born xR) (+) (born yL1) c= (((born yL1) (+) (born x)) \/ ((born yL2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A99, XBOOLE_1:1, A94, A107;
( x < xR & yL2 < yL1 ) by A120, A102, A91;
then yL1x + yL2xR < yL2x + yL1xR by A109, A110, A121, A106, A15, A2;
then yL1x < (yL2x + yL1xR) - yL2xR by Th42;
then yL1x < yL1xR + (yL2x - yL2xR) by Th37;
then yL1x - yL1xR < yL2x - yL2xR by Th41;
then (yL1x - yL1xR) + yxR < (yL2x - yL2xR) + yxR by Th32;
then (yL1x - yL1xR) + yxR < (yL2x + yxR) - yL2xR by Th37;
then A122: yL1x + (yxR + (- yL1xR)) < (yL2x + yxR) + (- yL2xR) by Th37;
yL1xR + yxL < yL1xL + yxR by A101, A103, A106, A15, A2, A108;
then yxL < (yL1xL + yxR) - yL1xR by Th42;
then yxL < yL1xL + (yxR - yL1xR) by Th37;
then yxL - yL1xL < yxR - yL1xR by Th41;
then yL1x + (yxL + (- yL1xL)) <= yL1x + (yxR - yL1xR) by Th32;
then yL1x + (yxL + (- yL1xL)) < (yL2x + yxR) + (- yL2xR) by A122, SURREALO:4;
hence l < r by A115, A116, Th37; :: thesis: verum
end;
suppose A123: yL1 == yL2 ; :: thesis: not r <= l
then - yL1xR <= - yL2xR by Th10, A100;
then A124: (yL2x + yxR) + (- yL1xR) <= (yL2x + yxR) + (- yL2xR) by Th32;
yL1x + (yxL + (- yL1xL)) < yL2x + (yxR + (- yL1xR)) by A123, A95, A111, Th44;
then yL1x + (yxL + (- yL1xL)) < (yL2x + yxR) + (- yL1xR) by Th37;
then yL1x + (yxL + (- yL1xL)) < (yL2x + yxR) + (- yL2xR) by A124, SURREALO:4;
hence l < r by Th37, A115, A116; :: thesis: verum
end;
end;
end;
suppose A125: ( l in comp ((R_ x),x,y,(R_ y)) & r in comp ((L_ x),x,y,(R_ y)) ) ; :: thesis: not r <= l
then consider xR, yR1 being Surreal such that
A126: ( l = ((xR * y) +' (x * yR1)) +' (-' (xR * yR1)) & xR in R_ x & yR1 in R_ y ) by Def14;
consider xL, yR2 being Surreal such that
A127: ( r = ((xL * y) +' (x * yR2)) +' (-' (xL * yR2)) & xL in L_ x & yR2 in R_ y ) by Def14, A125;
( yR1 in (L_ y) \/ (R_ y) & yR2 in (L_ y) \/ (R_ y) ) by A126, A127, XBOOLE_0:def 3;
then A128: ( (born yR1) (+) (born x) in (born y) (+) (born x) & (born yR2) (+) (born x) in (born y) (+) (born x) ) by SURREALO:1, ORDINAL7:94;
then reconsider yR1x = yR1 * x, yR2x = yR2 * x as Surreal by A15, A2;
set BR = ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x));
A129: ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) in (born x) (+) (born y) by A128, ORDINAL3:12;
A130: ( (born yR1) (+) (born x) c= ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) & (born yR2) (+) (born x) c= ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) ) by XBOOLE_1:7;
A131: ( yR1 == yR2 implies yR1x == yR2x ) by A130, A129, A15, A2;
A132: ( xR in (L_ x) \/ (R_ x) & xL in (L_ x) \/ (R_ x) ) by A126, A127, XBOOLE_0:def 3;
A133: ( (born yR1) (+) (born xL) in (born yR1) (+) (born x) & (born yR1) (+) (born xR) in (born yR1) (+) (born x) & (born yR2) (+) (born xL) in (born yR2) (+) (born x) & (born yR2) (+) (born xR) in (born yR2) (+) (born x) ) by A132, SURREALO:1, ORDINAL7:94;
( (born yR1) (+) (born xL) in (born x) (+) (born y) & (born yR1) (+) (born xR) in (born x) (+) (born y) & (born yR2) (+) (born xR) in (born x) (+) (born y) & (born yR2) (+) (born xL) in (born x) (+) (born y) ) by A128, ORDINAL1:10, A133;
then reconsider yR1xR = yR1 * xR, yR2xR = yR2 * xR, yR2xL = yR2 * xL, yR1xL = yR1 * xL as Surreal by A15, A2;
set BY = ((born y) (+) (born xL)) \/ ((born y) (+) (born xR));
A134: ( (born y) (+) (born xL) in (born x) (+) (born y) & (born y) (+) (born xR) in (born x) (+) (born y) ) by A132, SURREALO:1, ORDINAL7:94;
then reconsider yxL = y * xL, yxR = y * xR as Surreal by A15, A2;
A135: ( (born yR1) (+) (born xR) c= ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) & (born yR2) (+) (born xR) c= ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) & (born yR2) (+) (born xL) c= ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) & (born yR1) (+) (born xL) c= ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) ) by A133, A130, ORDINAL1:def 2;
A136: ( yR1 == yR2 implies yR1xR == yR2xR ) by A135, A129, A15, A2;
L_ x << R_ x by SURREAL0:45;
then A137: xL < xR by A126, A127;
( x <= x & y <= y ) ;
then A138: ( L_ x << {x} & {x} << R_ x & x in {x} & L_ y << {y} & {y} << R_ y & y in {y} ) by SURREAL0:43, TARSKI:def 1;
then A139: ( y < yR1 & y < yR2 & xL < x ) by A126, A127;
A140: ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) in (born x) (+) (born y) by A134, ORDINAL3:12;
A141: ( (born y) (+) (born xL) c= ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) & (born y) (+) (born xR) c= ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) ) by XBOOLE_1:7;
set BB = (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR)));
A142: (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) in (born x) (+) (born y) by A129, A140, ORDINAL3:12;
A143: ( ((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x)) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & ((born y) (+) (born xL)) \/ ((born y) (+) (born xR)) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by XBOOLE_1:7;
then A144: ( (born yR1) (+) (born xL) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born yR1) (+) (born xR) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born y) (+) (born xL) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born y) (+) (born xR) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A135, A141, XBOOLE_1:1;
A145: ( (born yR1) (+) (born x) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born yR2) (+) (born x) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A130, A143, XBOOLE_1:1;
A146: ( (born yR2) (+) (born xL) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) & (born yR2) (+) (born xR) c= (((born yR1) (+) (born x)) \/ ((born yR2) (+) (born x))) \/ (((born y) (+) (born xL)) \/ ((born y) (+) (born xR))) ) by A135, A143, XBOOLE_1:1;
A147: ( xR * y = yxR & xL * y = yxL ) by A2, A142, A15, A144;
A148: ( xL * yR2 = yR2xL & x * yR2 = yR2x ) by A2, A142, A15, A145, A146;
A149: ( xR * yR2 = yR2xR & xR * yR1 = yR1xR ) by A2, A142, A15, A144, A146;
A150: l = (yxR + yR1x) + (- yR1xR) by A126, A147, A2, A142, A15, A145, A149
.= (yR1x + yxR) + (- yR1xR) ;
A151: r = (yxL + yR2x) + (- yR2xL) by A127, A2, A142, A15, A144, A148
.= (yR2x + yxL) + (- yR2xL) ;
per cases ( yR1 < yR2 or yR2 < yR1 or yR1 == yR2 ) ;
suppose A152: yR1 < yR2 ; :: thesis: not r <= l
yR2xL + yR1x < yR1xL + yR2x by A152, A139, A144, A145, A146, A142, A15, A2;
then yR1x < (yR1xL + yR2x) - yR2xL by Th42;
then yR1x < yR1xL + (yR2x - yR2xL) by Th37;
then yR1x - yR1xL < yR2x - yR2xL by Th41;
then (yR1x - yR1xL) + yxL < (yR2x - yR2xL) + yxL by Th32;
then ((- yR1xL) + yR1x) + yxL < (- yR2xL) + (yR2x + yxL) by Th37;
then A153: (yR1x + yxL) + (- yR1xL) < (yR2x + yxL) - yR2xL by Th37;
yxR + yR1xL < yxL + yR1xR by A137, A139, A144, A142, A15, A2;
then (yxR + yR1xL) - yR1xR < yxL by Th41;
then yR1xL + (yxR - yR1xR) < yxL by Th37;
then yxR + (- yR1xR) < yxL - yR1xL by Th42;
then yR1x + (yxR - yR1xR) < yR1x + (yxL - yR1xL) by Th32;
then (yR1x + yxR) - yR1xR < yR1x + (yxL - yR1xL) by Th37;
then (yR1x + yxR) - yR1xR <= (yR1x + yxL) - yR1xL by Th37;
hence not r <= l by A151, A150, A153, SURREALO:4; :: thesis: verum
end;
suppose A154: yR2 < yR1 ; :: thesis: not r <= l
( x < xR & yR2 < yR1 ) by A154, A138, A126;
then yR1x + yR2xR < yR2x + yR1xR by A144, A145, A146, A142, A15, A2;
then (yR1x + yR2xR) - yR1xR < yR2x by Th41;
then yR2xR + (yR1x - yR1xR) < yR2x by Th37;
then yR1x - yR1xR < yR2x - yR2xR by Th42;
then (yR1x - yR1xR) + yxR < (yR2x - yR2xR) + yxR by Th32;
then A155: (yR1x + yxR) + (- yR1xR) < (yR2x - yR2xR) + yxR by Th37;
yxR + yR2xL < yxL + yR2xR by A137, A139, A142, A15, A2, A144, A146;
then yxR < (yR2xR + yxL) - yR2xL by Th42;
then yxR < yR2xR + (yxL - yR2xL) by Th37;
then yxR - yR2xR < yxL - yR2xL by Th41;
then yR2x + ((- yR2xR) + yxR) < yR2x + (yxL - yR2xL) by Th32;
then (yR2x + (- yR2xR)) + yxR < yR2x + (yxL - yR2xL) by Th37;
then (yR2x - yR2xR) + yxR <= (yR2x + yxL) - yR2xL by Th37;
hence not r <= l by A151, A150, A155, SURREALO:4; :: thesis: verum
end;
suppose A156: yR1 == yR2 ; :: thesis: not r <= l
then - yR1xR <= - yR2xR by A136, Th10;
then A157: (yR1x + yxR) - yR1xR <= (yR1x + yxR) - yR2xR by Th32;
yxR + yR2xL < yxL + yR2xR by A139, A137, A144, A146, A142, A15, A2;
then (yR2xL + yxR) - yR2xR < yxL by Th41;
then yR2xL + (yxR - yR2xR) < yxL by Th37;
then yxR - yR2xR < yxL - yR2xL by Th42;
then yR1x + (yxR - yR2xR) < yR2x + (yxL - yR2xL) by A156, A131, Th44;
then yR1x + (yxR - yR2xR) < (yR2x + yxL) - yR2xL by Th37;
then (yR1x + yxR) - yR2xR < (yR2x + yxL) - yR2xL by Th37;
hence l < r by A151, A150, A157, SURREALO:4; :: thesis: verum
end;
end;
end;
end;
end;
then [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))] in Day (succ U) by A25, SURREAL0:46;
hence x * y is Surreal by Th50; :: thesis: verum
end;
defpred S11[ Ordinal] means for x1, x2, y being Surreal st ((born x1) (+) (born x2)) (+) (born y) c= $1 holds
( S3[D,x1,x2,y] & S5[D,x1,x2,y] );
A158: for E being Ordinal st ( for C being Ordinal st C in E holds
S11[C] ) holds
S11[E]
proof
let E be Ordinal; :: thesis: ( ( for C being Ordinal st C in E holds
S11[C] ) implies S11[E] )

assume A159: for C being Ordinal st C in E holds
S11[C]
; :: thesis: S11[E]
A160: for x1, x2, y, x1y, x2y being Surreal st ((born x1) (+) (born x2)) (+) (born y) c= E & (born x1) (+) (born y) c= D & (born x2) (+) (born y) c= D & x1 == x2 & x1y = x1 * y & x2y = x2 * y holds
( L_ x1y << {x2y} & {x2y} << R_ x1y )
proof
let x1, x2, y, x1y, x2y be Surreal; :: thesis: ( ((born x1) (+) (born x2)) (+) (born y) c= E & (born x1) (+) (born y) c= D & (born x2) (+) (born y) c= D & x1 == x2 & x1y = x1 * y & x2y = x2 * y implies ( L_ x1y << {x2y} & {x2y} << R_ x1y ) )
assume that
A161: ((born x1) (+) (born x2)) (+) (born y) c= E and
A162: ( (born x1) (+) (born y) c= D & (born x2) (+) (born y) c= D ) and
A163: ( x1 == x2 & x1y = x1 * y & x2y = x2 * y ) ; :: thesis: ( L_ x1y << {x2y} & {x2y} << R_ x1y )
A164: x1y = [((comp ((L_ x1),x1,y,(L_ y))) \/ (comp ((R_ x1),x1,y,(R_ y)))),((comp ((L_ x1),x1,y,(R_ y))) \/ (comp ((R_ x1),x1,y,(L_ y))))] by A163, Th50;
A165: ( L_ y << {y} & {y} << R_ y & y in {y} ) by SURREALO:11, TARSKI:def 1;
thus L_ x1y << {x2y} :: thesis: {x2y} << R_ x1y
proof
let l be Surreal; :: according to SURREAL0:def 20 :: thesis: for b1 being set holds
( not l in L_ x1y or not b1 in {x2y} or not b1 <= l )

let r be Surreal; :: thesis: ( not l in L_ x1y or not r in {x2y} or not r <= l )
assume A166: ( l in L_ x1y & r in {x2y} ) ; :: thesis: not r <= l
per cases ( l in comp ((R_ x1),x1,y,(R_ y)) or l in comp ((L_ x1),x1,y,(L_ y)) ) by A164, A166, XBOOLE_0:def 3;
suppose l in comp ((R_ x1),x1,y,(R_ y)) ; :: thesis: not r <= l
then consider x3, y3 being Surreal such that
A167: ( l = ((x3 * y) +' (x1 * y3)) +' (-' (x3 * y3)) & x3 in R_ x1 & y3 in R_ y ) by Def14;
A168: ( {x1} << R_ x1 & x1 in {x1} ) by SURREALO:11, TARSKI:def 1;
A169: y3 in (L_ y) \/ (R_ y) by A167, XBOOLE_0:def 3;
then A170: ( (born x1) (+) (born y3) in (born x1) (+) (born y) & (born x2) (+) (born y3) in (born x2) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider x1y3 = x1 * y3, x2y3 = x2 * y3 as Surreal by A2, A162;
set BL = ((born x1) (+) (born y3)) \/ ((born x2) (+) (born y3));
x3 in (L_ x1) \/ (R_ x1) by A167, XBOOLE_0:def 3;
then A171: ( (born x3) (+) (born y3) in (born x1) (+) (born y3) & (born x3) (+) (born y) in (born x1) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then A172: ( (born x3) (+) (born y3) in D & (born x3) (+) (born y) in D ) by A170, A162, ORDINAL1:10;
then reconsider x3y3 = x3 * y3, x3y = x3 * y as Surreal by A2;
A173: ((born x1) (+) (born x2)) (+) (born y3) in ((born x1) (+) (born x2)) (+) (born y) by A169, SURREALO:1, ORDINAL7:94;
( (born x1) (+) (born y3) c= D & (born x2) (+) (born y3) c= D ) by A170, A162, ORDINAL1:def 2;
then A174: x1y3 == x2y3 by A173, A163, A161, A159;
((born y) (+) (born x3)) (+) (born x2) in ((born y) (+) (born x1)) (+) (born x2) by A171, ORDINAL7:94;
then A175: ((born y) (+) (born x3)) (+) (born x2) in (born y) (+) ((born x1) (+) (born x2)) by ORDINAL7:68;
A176: ((born y) (+) (born x3)) (+) (born x2) = ((born y) (+) (born x2)) (+) (born x3) by ORDINAL7:68;
A177: (born x2) (+) (born y3) c= D by A170, A162, ORDINAL1:def 2;
A178: y3 * x2 = x2y3 by A3, A170, A162, ORDINAL1:def 2;
A179: ( (born x3) (+) (born y) c= D & (born x2) (+) (born y) c= D ) by A171, A162, ORDINAL1:def 2;
A180: ( y * x3 = x3y & y * x2 = x2y ) by A162, A163, A3, A171, A2;
A181: (born x3) (+) (born y3) c= D by A171, A170, A162, ORDINAL1:10, ORDINAL1:def 2;
A182: y3 * x3 = x3y3 by A172, A2;
( y < y3 & x2 < x3 ) by A168, A167, A163, SURREALO:4, A165;
then x2y3 + x3y < x3y3 + x2y by A167, A176, A175, A161, A159, A177, A178, A179, A180, A181, A182;
then A183: (x2y3 + x3y) - x3y3 < x2y by Th41;
x1y3 + (x3y + (- x3y3)) <= x2y3 + (x3y - x3y3) by A174, Th32;
then (x1y3 + x3y) - x3y3 <= x2y3 + (x3y - x3y3) by Th37;
then (x1y3 + x3y) - x3y3 <= (x2y3 + x3y) - x3y3 by Th37;
then A184: (x1y3 + x3y) - x3y3 < x2y by A183, SURREALO:4;
l = (x3y + x1y3) - x3y3 by A167;
hence not r <= l by A166, A184, TARSKI:def 1; :: thesis: verum
end;
suppose l in comp ((L_ x1),x1,y,(L_ y)) ; :: thesis: not r <= l
then consider x3, y3 being Surreal such that
A185: ( l = ((x3 * y) +' (x1 * y3)) +' (-' (x3 * y3)) & x3 in L_ x1 & y3 in L_ y ) by Def14;
A186: ( L_ x1 << {x1} & x1 in {x1} ) by SURREALO:11, TARSKI:def 1;
A187: y3 in (L_ y) \/ (R_ y) by A185, XBOOLE_0:def 3;
then A188: ( (born x1) (+) (born y3) in (born x1) (+) (born y) & (born x2) (+) (born y3) in (born x2) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider x1y3 = x1 * y3, x2y3 = x2 * y3 as Surreal by A2, A162;
set BL = ((born x1) (+) (born y3)) \/ ((born x2) (+) (born y3));
x3 in (L_ x1) \/ (R_ x1) by A185, XBOOLE_0:def 3;
then A189: ( (born x3) (+) (born y3) in (born x1) (+) (born y3) & (born x3) (+) (born y) in (born x1) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then A190: ( (born x3) (+) (born y3) in D & (born x3) (+) (born y) in D ) by A188, A162, ORDINAL1:10;
then reconsider x3y3 = x3 * y3, x3y = x3 * y as Surreal by A2;
A191: ((born x1) (+) (born x2)) (+) (born y3) in ((born x1) (+) (born x2)) (+) (born y) by A187, SURREALO:1, ORDINAL7:94;
( (born x1) (+) (born y3) c= D & (born x2) (+) (born y3) c= D ) by A188, A162, ORDINAL1:def 2;
then A192: x1y3 == x2y3 by A191, A161, A159, A163;
((born y) (+) (born x3)) (+) (born x2) in ((born y) (+) (born x1)) (+) (born x2) by A189, ORDINAL7:94;
then A193: ((born y) (+) (born x3)) (+) (born x2) in (born y) (+) ((born x1) (+) (born x2)) by ORDINAL7:68;
A194: (born x2) (+) (born y3) c= D by A188, A162, ORDINAL1:def 2;
A195: y3 * x2 = x2y3 by A3, A188, A162, ORDINAL1:def 2;
A196: ( (born x3) (+) (born y) c= D & (born x2) (+) (born y) c= D ) by A189, A162, ORDINAL1:def 2;
A197: ( y * x3 = x3y & y * x2 = x2y ) by A163, A3, A162, A189, ORDINAL1:def 2;
A198: (born x3) (+) (born y3) c= D by A188, A162, ORDINAL1:10, A189, ORDINAL1:def 2;
A199: y3 * x3 = x3y3 by A190, A2;
A200: ( y3 < y & x3 < x2 ) by A186, A185, A163, SURREALO:4, A165;
x2y3 + x3y < x3y3 + x2y by A185, A200, A194, A195, A196, A197, A198, A199, A193, A161, A159;
then A201: (x2y3 + x3y) - x3y3 < x2y by Th41;
x1y3 + (x3y + (- x3y3)) <= x2y3 + (x3y + (- x3y3)) by A192, Th32;
then (x1y3 + x3y) + (- x3y3) <= x2y3 + (x3y + (- x3y3)) by Th37;
then (x1y3 + x3y) + (- x3y3) <= (x2y3 + x3y) + (- x3y3) by Th37;
then A202: (x1y3 + x3y) + (- x3y3) < x2y by A201, SURREALO:4;
l = (x3y + x1y3) + (- x3y3) by A185;
hence not r <= l by A166, A202, TARSKI:def 1; :: thesis: verum
end;
end;
end;
thus {x2y} << R_ x1y :: thesis: verum
proof
let l be Surreal; :: according to SURREAL0:def 20 :: thesis: for b1 being set holds
( not l in {x2y} or not b1 in R_ x1y or not b1 <= l )

let r be Surreal; :: thesis: ( not l in {x2y} or not r in R_ x1y or not r <= l )
assume A203: ( l in {x2y} & r in R_ x1y ) ; :: thesis: not r <= l
per cases ( r in comp ((L_ x1),x1,y,(R_ y)) or r in comp ((R_ x1),x1,y,(L_ y)) ) by XBOOLE_0:def 3, A164, A203;
suppose r in comp ((L_ x1),x1,y,(R_ y)) ; :: thesis: not r <= l
then consider x3, y3 being Surreal such that
A204: ( r = ((x3 * y) +' (x1 * y3)) +' (-' (x3 * y3)) & x3 in L_ x1 & y3 in R_ y ) by Def14;
A205: ( L_ x1 << {x1} & x1 in {x1} ) by SURREALO:11, TARSKI:def 1;
A206: y3 in (L_ y) \/ (R_ y) by A204, XBOOLE_0:def 3;
then A207: ( (born x1) (+) (born y3) in (born x1) (+) (born y) & (born x2) (+) (born y3) in (born x2) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider x1y3 = x1 * y3, x2y3 = x2 * y3 as Surreal by A162, A2;
set BL = ((born x1) (+) (born y3)) \/ ((born x2) (+) (born y3));
x3 in (L_ x1) \/ (R_ x1) by A204, XBOOLE_0:def 3;
then A208: ( (born x3) (+) (born y3) in (born x1) (+) (born y3) & (born x3) (+) (born y) in (born x1) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then A209: ( (born x3) (+) (born y3) in D & (born x3) (+) (born y) in D ) by A207, A162, ORDINAL1:10;
then reconsider x3y3 = x3 * y3, x3y = x3 * y as Surreal by A2;
A210: ((born x1) (+) (born x2)) (+) (born y3) in ((born x1) (+) (born x2)) (+) (born y) by A206, SURREALO:1, ORDINAL7:94;
( (born x1) (+) (born y3) c= D & (born x2) (+) (born y3) c= D ) by A207, A162, ORDINAL1:def 2;
then A211: x1y3 == x2y3 by A210, A161, A159, A163;
((born y) (+) (born x3)) (+) (born x2) in ((born y) (+) (born x1)) (+) (born x2) by A208, ORDINAL7:94;
then A212: ((born y) (+) (born x3)) (+) (born x2) in (born y) (+) ((born x1) (+) (born x2)) by ORDINAL7:68;
A213: (born x2) (+) (born y3) c= D by A207, A162, ORDINAL1:def 2;
A214: y3 * x2 = x2y3 by A3, A207, A162, ORDINAL1:def 2;
A215: ( (born x3) (+) (born y) c= D & (born x2) (+) (born y) c= D ) by A208, A162, ORDINAL1:def 2;
A216: ( y * x3 = x3y & y * x2 = x2y ) by A208, A162, ORDINAL1:def 2, A163, A3;
A217: (born x3) (+) (born y3) c= D by A207, A162, ORDINAL1:10, A208, ORDINAL1:def 2;
A218: y3 * x3 = x3y3 by A209, A2;
A219: ( y < y3 & x3 < x2 ) by A205, A204, A163, SURREALO:4, A165;
x3y3 + x2y < x2y3 + x3y by A204, A212, A161, A159, A219, A213, A214, A215, A216, A217, A218;
then A220: x2y < (x2y3 + x3y) - x3y3 by Th42;
x2y3 + (x3y + (- x3y3)) <= x1y3 + (x3y + (- x3y3)) by A211, Th32;
then (x2y3 + x3y) + (- x3y3) <= x1y3 + (x3y + (- x3y3)) by Th37;
then (x2y3 + x3y) + (- x3y3) <= (x1y3 + x3y) + (- x3y3) by Th37;
then A221: x2y < (x1y3 + x3y) + (- x3y3) by A220, SURREALO:4;
r = (x3y + x1y3) + (- x3y3) by A204;
hence not r <= l by A203, A221, TARSKI:def 1; :: thesis: verum
end;
suppose r in comp ((R_ x1),x1,y,(L_ y)) ; :: thesis: not r <= l
then consider x3, y3 being Surreal such that
A222: ( r = ((x3 * y) +' (x1 * y3)) +' (-' (x3 * y3)) & x3 in R_ x1 & y3 in L_ y ) by Def14;
A223: ( {x1} << R_ x1 & x1 in {x1} ) by SURREALO:11, TARSKI:def 1;
A224: y3 in (L_ y) \/ (R_ y) by A222, XBOOLE_0:def 3;
then A225: ( (born x1) (+) (born y3) in (born x1) (+) (born y) & (born x2) (+) (born y3) in (born x2) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then reconsider x1y3 = x1 * y3, x2y3 = x2 * y3 as Surreal by A2, A162;
set BL = ((born x1) (+) (born y3)) \/ ((born x2) (+) (born y3));
x3 in (L_ x1) \/ (R_ x1) by A222, XBOOLE_0:def 3;
then A226: ( (born x3) (+) (born y3) in (born x1) (+) (born y3) & (born x3) (+) (born y) in (born x1) (+) (born y) ) by SURREALO:1, ORDINAL7:94;
then A227: ( (born x3) (+) (born y3) in D & (born x3) (+) (born y) in D ) by A225, A162, ORDINAL1:10;
then reconsider x3y3 = x3 * y3, x3y = x3 * y as Surreal by A2;
A228: ((born x1) (+) (born x2)) (+) (born y3) in ((born x1) (+) (born x2)) (+) (born y) by A224, SURREALO:1, ORDINAL7:94;
( (born x1) (+) (born y3) c= D & (born x2) (+) (born y3) c= D ) by A225, A162, ORDINAL1:def 2;
then A229: x1y3 == x2y3 by A228, A159, A161, A163;
((born y) (+) (born x3)) (+) (born x2) in ((born y) (+) (born x1)) (+) (born x2) by A226, ORDINAL7:94;
then A230: ((born y) (+) (born x3)) (+) (born x2) in (born y) (+) ((born x1) (+) (born x2)) by ORDINAL7:68;
A231: ((born y) (+) (born x3)) (+) (born x2) = ((born y) (+) (born x2)) (+) (born x3) by ORDINAL7:68;
A232: (born x2) (+) (born y3) c= D by A225, A162, ORDINAL1:def 2;
A233: y3 * x2 = x2y3 by A3, A225, A162, ORDINAL1:def 2;
A234: ( (born x3) (+) (born y) c= D & (born x2) (+) (born y) c= D ) by A226, A162, ORDINAL1:def 2;
A235: ( y * x3 = x3y & y * x2 = x2y ) by A163, A3, A226, A162, ORDINAL1:def 2;
A236: (born x3) (+) (born y3) c= D by A226, A225, A162, ORDINAL1:10, ORDINAL1:def 2;
A237: y3 * x3 = x3y3 by A3, A227, ORDINAL1:def 2;
A238: ( y3 < y & x2 < x3 ) by A223, A222, A163, SURREALO:4, A165;
x3y3 + x2y < x2y3 + x3y by A231, A222, A230, A159, A161, A238, A232, A233, A234, A235, A236, A237;
then A239: x2y < (x2y3 + x3y) - x3y3 by Th42;
x2y3 + (x3y + (- x3y3)) <= x1y3 + (x3y - x3y3) by A229, Th32;
then (x2y3 + x3y) - x3y3 <= x1y3 + (x3y - x3y3) by Th37;
then (x2y3 + x3y) - x3y3 <= (x1y3 + x3y) - x3y3 by Th37;
then A240: x2y < (x1y3 + x3y) - x3y3 by A239, SURREALO:4;
r = (x3y + x1y3) - x3y3 by A222;
hence not r <= l by A203, A240, TARSKI:def 1; :: thesis: verum
end;
end;
end;
end;
let x, y1, y2 be Surreal; :: thesis: ( ((born x) (+) (born y1)) (+) (born y2) c= E implies ( S3[D,x,y1,y2] & S5[D,x,y1,y2] ) )
assume A241: ((born x) (+) (born y1)) (+) (born y2) c= E ; :: thesis: ( S3[D,x,y1,y2] & S5[D,x,y1,y2] )
thus S3[D,x,y1,y2] :: thesis: S5[D,x,y1,y2]
proof
let x1y, x2y be Surreal; :: thesis: ( (born x) (+) (born y2) c= D & (born y1) (+) (born y2) c= D & x == y1 & x1y = x * y2 & x2y = y1 * y2 implies x1y == x2y )
assume A242: ( (born x) (+) (born y2) c= D & (born y1) (+) (born y2) c= D & x == y1 & x1y = x * y2 & x2y = y1 * y2 ) ; :: thesis: x1y == x2y
A243: ( L_ x1y << {x2y} & {x2y} << R_ x1y & L_ x2y << {x1y} & {x1y} << R_ x2y ) by A241, A242, A160;
then reconsider z = [((L_ x1y) \/ (L_ x2y)),((R_ x1y) \/ (R_ x2y))] as Surreal by SURREALO:14;
( x1y == z & z == x2y ) by A243, SURREALO:15;
hence x1y == x2y by SURREALO:4; :: thesis: verum
end;
assume y1 < y2 ; :: thesis: ( ( for x being Surreal st x in L_ x holds
S4[D,x,x,y1,y2] ) & ( for x being Surreal st x in R_ x holds
S4[D,x,x,y1,y2] ) )

per cases then ( ex y2L being Surreal st
( y2L in L_ y2 & y1 <= y2L & y2L < y2 ) or ex y1R being Surreal st
( y1R in R_ y1 & y1 < y1R & y1R <= y2 ) )
by SURREALO:13;
suppose ex y2L being Surreal st
( y2L in L_ y2 & y1 <= y2L & y2L < y2 )
; :: thesis: ( ( for x being Surreal st x in L_ x holds
S4[D,x,x,y1,y2] ) & ( for x being Surreal st x in R_ x holds
S4[D,x,x,y1,y2] ) )

then consider y2L being Surreal such that
A244: ( y2L in L_ y2 & y1 <= y2L & y2L < y2 ) ;
A245: for xL being Surreal st xL in L_ x holds
S4[D,xL,x,y1,y2]
proof
let xL be Surreal; :: thesis: ( xL in L_ x implies S4[D,xL,x,y1,y2] )
assume A246: xL in L_ x ; :: thesis: S4[D,xL,x,y1,y2]
let xLy2, xy1, xLy1, xy2 be Surreal; :: thesis: ( (born xL) (+) (born y1) c= D & (born x) (+) (born y1) c= D & (born xL) (+) (born y2) c= D & (born x) (+) (born y2) c= D & xLy1 = xL * y1 & xLy2 = xL * y2 & xy1 = x * y1 & xy2 = x * y2 & xL < x & y1 < y2 implies xLy2 + xy1 < xLy1 + xy2 )
assume that
A247: ( (born xL) (+) (born y1) c= D & (born x) (+) (born y1) c= D & (born xL) (+) (born y2) c= D & (born x) (+) (born y2) c= D ) and
A248: ( xLy1 = xL * y1 & xLy2 = xL * y2 & xy1 = x * y1 & xy2 = x * y2 ) and
A249: ( xL < x & y1 < y2 ) ; :: thesis: xLy2 + xy1 < xLy1 + xy2
A250: xy2 = [((comp ((L_ x),x,y2,(L_ y2))) \/ (comp ((R_ x),x,y2,(R_ y2)))),((comp ((L_ x),x,y2,(R_ y2))) \/ (comp ((R_ x),x,y2,(L_ y2))))] by A248, Th50;
A251: ( L_ xy2 << {xy2} & {xy2} << R_ xy2 & xy2 in {xy2} ) by SURREALO:11, TARSKI:def 1;
A252: y2L in (L_ y2) \/ (R_ y2) by A244, XBOOLE_0:def 3;
then A253: (born x) (+) (born y2L) in (born x) (+) (born y2) by SURREALO:1, ORDINAL7:94;
then reconsider xy2L = x * y2L as Surreal by A2, A247;
A254: xL in (L_ x) \/ (R_ x) by A246, XBOOLE_0:def 3;
then A255: (born xL) (+) (born y2L) in (born x) (+) (born y2L) by SURREALO:1, ORDINAL7:94;
then A256: (born xL) (+) (born y2L) in D by A247, A253, ORDINAL1:10;
then reconsider xLy2L = xL * y2L as Surreal by A2;
(xLy2 +' xy2L) +' (-' xLy2L) in comp ((L_ x),x,y2,(L_ y2)) by A246, A244, A248, Def14;
then (xLy2 +' xy2L) +' (-' xLy2L) in L_ xy2 by A250, XBOOLE_0:def 3;
then (xLy2 + xy2L) - xLy2L < xy2 by A251;
then A257: xLy2 + xy2L < xy2 + xLy2L by Th41;
A258: ((born y1) (+) (born y2)) (+) (born x) = ((born x) (+) (born y1)) (+) (born y2) by ORDINAL7:68;
A259: (born y2L) (+) (born x) c= D by A253, A247, ORDINAL1:def 2;
A260: ( y2L * x = xy2L & y1 * x = xy1 ) by A253, A247, A248, A3, ORDINAL1:def 2;
A261: (born y2L) (+) (born xL) c= D by A255, A247, A253, ORDINAL1:10, ORDINAL1:def 2;
A262: y2L * xL = xLy2L by A3, A256, ORDINAL1:def 2;
A263: y1 * xL = xLy1 by A247, A248, A3;
A264: (born y2L) (+) (born y1) in (born y1) (+) (born y2) by A252, SURREALO:1, ORDINAL7:94;
then A265: ((born y2L) (+) (born y1)) (+) (born x) in ((born y2) (+) (born y1)) (+) (born x) by ORDINAL7:94;
then A266: ((born y2L) (+) (born y1)) (+) (born x) in E by A241, A258;
( ((born y2L) (+) (born y1)) (+) (born xL) in ((born y2) (+) (born y1)) (+) (born xL) & ((born y2) (+) (born y1)) (+) (born xL) in ((born y2) (+) (born y1)) (+) (born x) ) by A254, SURREALO:1, A264, ORDINAL7:94;
then A267: ((born y2L) (+) (born y1)) (+) (born xL) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL1:10;
per cases ( y1 < y2L or y1 == y2L ) by A244;
suppose A268: y1 < y2L ; :: thesis: xLy2 + xy1 < xLy1 + xy2
((born x) (+) (born y1)) (+) (born y2L) in E by A266, ORDINAL7:68;
then A269: xLy2L + xy1 <= xLy1 + xy2L by A246, A159, A249, A268, A261, A247, A248, A259;
A270: (xLy2L + xy1) + (xLy2 + xy2L) < (xLy1 + xy2L) + (xy2 + xLy2L) by A257, A269, Th44;
A271: (xLy2L + xy1) + (xLy2 + xy2L) = xLy2L + (xy1 + (xLy2 + xy2L)) by Th37
.= xLy2L + ((xy1 + xLy2) + xy2L) by Th37
.= (xLy2L + xy2L) + (xLy2 + xy1) by Th37 ;
(xLy1 + xy2L) + (xy2 + xLy2L) = xy2L + (xLy1 + (xy2 + xLy2L)) by Th37
.= xy2L + ((xLy1 + xy2) + xLy2L) by Th37
.= (xLy2L + xy2L) + (xLy1 + xy2) by Th37 ;
hence xLy2 + xy1 < xLy1 + xy2 by A270, A271, Th43; :: thesis: verum
end;
suppose A272: y1 == y2L ; :: thesis: xLy2 + xy1 < xLy1 + xy2
A273: xy2L == xy1 by A241, A258, A265, A159, A247, A259, A272, A260;
A274: xLy2L == xLy1 by A261, A263, A262, A247, A272, A267, A159, A241, A258;
A275: xy2 + xLy2L <= xLy1 + xy2 by A274, Th32;
A276: xLy2 + xy1 <= xLy2 + xy2L by A273, Th32;
xLy2 + xy1 < xy2 + xLy2L by A257, A276, SURREALO:4;
hence xLy2 + xy1 < xLy1 + xy2 by A275, SURREALO:4; :: thesis: verum
end;
end;
end;
for xR being Surreal st xR in R_ x holds
S4[D,x,xR,y1,y2]
proof
let xR be Surreal; :: thesis: ( xR in R_ x implies S4[D,x,xR,y1,y2] )
assume A277: xR in R_ x ; :: thesis: S4[D,x,xR,y1,y2]
let xy2, xRy1, xy1, xRy2 be Surreal; :: thesis: ( (born x) (+) (born y1) c= D & (born xR) (+) (born y1) c= D & (born x) (+) (born y2) c= D & (born xR) (+) (born y2) c= D & xy1 = x * y1 & xy2 = x * y2 & xRy1 = xR * y1 & xRy2 = xR * y2 & x < xR & y1 < y2 implies xy2 + xRy1 < xy1 + xRy2 )
assume that
A278: ( (born x) (+) (born y1) c= D & (born xR) (+) (born y1) c= D & (born x) (+) (born y2) c= D & (born xR) (+) (born y2) c= D ) and
A279: ( xy1 = x * y1 & xy2 = x * y2 & xRy1 = xR * y1 & xRy2 = xR * y2 ) and
A280: ( x < xR & y1 < y2 ) ; :: thesis: xy2 + xRy1 < xy1 + xRy2
A281: xy2 = [((comp ((L_ x),x,y2,(L_ y2))) \/ (comp ((R_ x),x,y2,(R_ y2)))),((comp ((L_ x),x,y2,(R_ y2))) \/ (comp ((R_ x),x,y2,(L_ y2))))] by A279, Th50;
A282: ( L_ xy2 << {xy2} & {xy2} << R_ xy2 & xy2 in {xy2} ) by SURREALO:11, TARSKI:def 1;
A283: y2L in (L_ y2) \/ (R_ y2) by A244, XBOOLE_0:def 3;
A284: (born x) (+) (born y2L) in (born x) (+) (born y2) by A283, SURREALO:1, ORDINAL7:94;
reconsider xy2L = x * y2L as Surreal by A2, A284, A278;
A285: xR in (L_ x) \/ (R_ x) by A277, XBOOLE_0:def 3;
A286: (born xR) (+) (born y2L) in (born x) (+) (born y2L) by A285, SURREALO:1, ORDINAL7:94;
then A287: (born xR) (+) (born y2L) in D by A278, A284, ORDINAL1:10;
then reconsider xRy2L = xR * y2L as Surreal by A2;
(xRy2 +' xy2L) +' (-' xRy2L) in comp ((R_ x),x,y2,(L_ y2)) by A277, A244, A279, Def14;
then (xRy2 +' xy2L) +' (-' xRy2L) in R_ xy2 by A281, XBOOLE_0:def 3;
then A288: xy2 < (xRy2 + xy2L) - xRy2L by A282;
then A289: xy2 + xRy2L < xRy2 + xy2L by Th42;
A290: ((born y1) (+) (born y2)) (+) (born x) = ((born x) (+) (born y1)) (+) (born y2) by ORDINAL7:68;
A291: (born y2L) (+) (born x) c= D by A284, A278, ORDINAL1:def 2;
A292: ( y2L * x = xy2L & y1 * x = xy1 ) by A284, A278, A279, A3, ORDINAL1:def 2;
A293: (born y2L) (+) (born xR) c= D by A286, A278, A284, ORDINAL1:10, ORDINAL1:def 2;
A294: y2L * xR = xRy2L by A3, A287, ORDINAL1:def 2;
A295: y1 * xR = xRy1 by A278, A279, A3;
A296: (born y2L) (+) (born y1) in (born y1) (+) (born y2) by A283, SURREALO:1, ORDINAL7:94;
then A297: ((born y2L) (+) (born y1)) (+) (born x) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL7:94;
then A298: ((born y2L) (+) (born y1)) (+) (born x) in E by A241, A290;
( ((born y2L) (+) (born y1)) (+) (born xR) in ((born y2) (+) (born y1)) (+) (born xR) & ((born y2) (+) (born y1)) (+) (born xR) in ((born y2) (+) (born y1)) (+) (born x) ) by A285, SURREALO:1, A296, ORDINAL7:94;
then A299: ((born y2L) (+) (born y1)) (+) (born xR) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL1:10;
per cases ( y1 < y2L or y1 == y2L ) by A244;
suppose A300: y1 < y2L ; :: thesis: xy2 + xRy1 < xy1 + xRy2
((born x) (+) (born y1)) (+) (born y2L) in E by A298, ORDINAL7:68;
then A301: xy2L + xRy1 < xy1 + xRy2L by A277, A159, A280, A300, A293, A278, A279, A291;
xy2 + xRy2L <= xRy2 + xy2L by Th42, A288;
then A302: (xy2 + xRy2L) + (xy2L + xRy1) < (xRy2 + xy2L) + (xy1 + xRy2L) by A301, Th44;
A303: (xy2 + xRy2L) + (xy2L + xRy1) = xy2 + (xRy2L + (xy2L + xRy1)) by Th37
.= xy2 + ((xRy2L + xy2L) + xRy1) by Th37
.= (xy2 + xRy1) + (xRy2L + xy2L) by Th37 ;
(xRy2 + xy2L) + (xy1 + xRy2L) = xy2L + (xRy2 + (xy1 + xRy2L)) by Th37
.= xy2L + ((xRy2 + xy1) + xRy2L) by Th37
.= (xy1 + xRy2) + (xRy2L + xy2L) by Th37 ;
hence xy2 + xRy1 < xy1 + xRy2 by A303, A302, Th43; :: thesis: verum
end;
suppose A304: y1 == y2L ; :: thesis: xy2 + xRy1 < xy1 + xRy2
A305: xy1 == xy2L by A159, A297, A241, A290, A278, A291, A304, A292;
A306: xRy1 == xRy2L by A293, A295, A294, A278, A304, A299, A159, A241, A290;
A307: xy2 + xRy1 <= xy2 + xRy2L by A306, Th32;
A308: xRy2 + xy2L <= xy1 + xRy2 by A305, Th32;
xy2 + xRy1 < xRy2 + xy2L by A289, A307, SURREALO:4;
hence xy2 + xRy1 < xy1 + xRy2 by A308, SURREALO:4; :: thesis: verum
end;
end;
end;
hence ( ( for x being Surreal st x in L_ x holds
S4[D,x,x,y1,y2] ) & ( for x being Surreal st x in R_ x holds
S4[D,x,x,y1,y2] ) )
by A245; :: thesis: verum
end;
suppose ex y1R being Surreal st
( y1R in R_ y1 & y1 < y1R & y1R <= y2 )
; :: thesis: ( ( for x being Surreal st x in L_ x holds
S4[D,x,x,y1,y2] ) & ( for x being Surreal st x in R_ x holds
S4[D,x,x,y1,y2] ) )

then consider y1R being Surreal such that
A309: ( y1R in R_ y1 & y1 < y1R & y1R <= y2 ) ;
A310: for xL being Surreal st xL in L_ x holds
S4[D,xL,x,y1,y2]
proof
let xL be Surreal; :: thesis: ( xL in L_ x implies S4[D,xL,x,y1,y2] )
assume A311: xL in L_ x ; :: thesis: S4[D,xL,x,y1,y2]
let xLy2, xy1, xLy1, xy2 be Surreal; :: thesis: ( (born xL) (+) (born y1) c= D & (born x) (+) (born y1) c= D & (born xL) (+) (born y2) c= D & (born x) (+) (born y2) c= D & xLy1 = xL * y1 & xLy2 = xL * y2 & xy1 = x * y1 & xy2 = x * y2 & xL < x & y1 < y2 implies xLy2 + xy1 < xLy1 + xy2 )
assume that
A312: ( (born xL) (+) (born y1) c= D & (born x) (+) (born y1) c= D & (born xL) (+) (born y2) c= D & (born x) (+) (born y2) c= D ) and
A313: ( xLy1 = xL * y1 & xLy2 = xL * y2 & xy1 = x * y1 & xy2 = x * y2 ) and
A314: ( xL < x & y1 < y2 ) ; :: thesis: xLy2 + xy1 < xLy1 + xy2
A315: xy1 = [((comp ((L_ x),x,y1,(L_ y1))) \/ (comp ((R_ x),x,y1,(R_ y1)))),((comp ((L_ x),x,y1,(R_ y1))) \/ (comp ((R_ x),x,y1,(L_ y1))))] by A313, Th50;
A316: ( L_ xy1 << {xy1} & {xy1} << R_ xy1 & xy1 in {xy1} ) by SURREALO:11, TARSKI:def 1;
A317: y1R in (L_ y1) \/ (R_ y1) by A309, XBOOLE_0:def 3;
A318: (born x) (+) (born y1R) in (born x) (+) (born y1) by A317, SURREALO:1, ORDINAL7:94;
reconsider xy1R = x * y1R as Surreal by A2, A312, A318;
A319: xL in (L_ x) \/ (R_ x) by A311, XBOOLE_0:def 3;
then A320: (born xL) (+) (born y1R) in (born x) (+) (born y1R) by SURREALO:1, ORDINAL7:94;
then A321: (born xL) (+) (born y1R) in (born x) (+) (born y1) by A318, ORDINAL1:10;
A322: (born xL) (+) (born y1R) in D by A320, A318, ORDINAL1:10, A312;
reconsider xLy1R = xL * y1R as Surreal by A321, A2, A312;
(xLy1 +' xy1R) +' (-' xLy1R) in comp ((L_ x),x,y1,(R_ y1)) by A311, A309, A313, Def14;
then (xLy1 +' xy1R) +' (-' xLy1R) in R_ xy1 by A315, XBOOLE_0:def 3;
then A323: xy1 < (xLy1 + xy1R) - xLy1R by A316;
then A324: xy1 + xLy1R < xLy1 + xy1R by Th42;
A325: ((born y1) (+) (born y2)) (+) (born x) = ((born x) (+) (born y1)) (+) (born y2) by ORDINAL7:68;
A326: (born y1R) (+) (born x) c= D by A318, A312, ORDINAL1:def 2;
A327: ( y1R * x = xy1R & y2 * x = xy2 ) by A318, A312, ORDINAL1:def 2, A313, A3;
A328: (born y1R) (+) (born xL) c= D by A320, A318, ORDINAL1:10, A312, ORDINAL1:def 2;
A329: y1R * xL = xLy1R by A3, A322, ORDINAL1:def 2;
A330: y2 * xL = xLy2 by A312, A313, A3;
A331: (born y1R) (+) (born y2) in (born y1) (+) (born y2) by A317, SURREALO:1, ORDINAL7:94;
then A332: ((born y1R) (+) (born y2)) (+) (born x) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL7:94;
then A333: ((born y1R) (+) (born y2)) (+) (born x) in E by A241, A325;
( ((born y1R) (+) (born y2)) (+) (born xL) in ((born y1) (+) (born y2)) (+) (born xL) & ((born y1) (+) (born y2)) (+) (born xL) in ((born y1) (+) (born y2)) (+) (born x) ) by A319, SURREALO:1, A331, ORDINAL7:94;
then A334: ((born y1R) (+) (born y2)) (+) (born xL) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL1:10;
per cases ( y1R < y2 or y1R == y2 ) by A309;
suppose A335: y1R < y2 ; :: thesis: xLy2 + xy1 < xLy1 + xy2
((born x) (+) (born y1R)) (+) (born y2) in E by A333, ORDINAL7:68;
then A336: xLy2 + xy1R < xLy1R + xy2 by A159, A311, A314, A335, A328, A312, A313, A326;
xy1 + xLy1R <= xLy1 + xy1R by A323, Th42;
then A337: (xy1 + xLy1R) + (xLy2 + xy1R) < (xLy1 + xy1R) + (xLy1R + xy2) by A336, Th44;
A338: (xy1 + xLy1R) + (xLy2 + xy1R) = xy1 + (xLy1R + (xLy2 + xy1R)) by Th37
.= xy1 + (xLy2 + (xLy1R + xy1R)) by Th37
.= (xy1 + xLy2) + (xLy1R + xy1R) by Th37 ;
(xLy1 + xy1R) + (xLy1R + xy2) = xLy1 + (xy1R + (xLy1R + xy2)) by Th37
.= xLy1 + ((xy1R + xLy1R) + xy2) by Th37
.= (xLy1 + xy2) + (xy1R + xLy1R) by Th37 ;
hence xLy2 + xy1 < xLy1 + xy2 by A337, A338, Th43; :: thesis: verum
end;
suppose A339: y1R == y2 ; :: thesis: xLy2 + xy1 < xLy1 + xy2
A340: xy1R == xy2 by A332, A241, A325, A159, A312, A326, A339, A327;
A341: xLy1R == xLy2 by A328, A330, A329, A312, A339, A334, A159, A241, A325;
A342: xy1 + xLy2 <= xy1 + xLy1R by A341, Th32;
A343: xLy1 + xy1R <= xLy1 + xy2 by A340, Th32;
xy1 + xLy2 < xLy1 + xy1R by A324, A342, SURREALO:4;
hence xLy2 + xy1 < xLy1 + xy2 by A343, SURREALO:4; :: thesis: verum
end;
end;
end;
for xR being Surreal st xR in R_ x holds
S4[D,x,xR,y1,y2]
proof
let xR be Surreal; :: thesis: ( xR in R_ x implies S4[D,x,xR,y1,y2] )
assume A344: xR in R_ x ; :: thesis: S4[D,x,xR,y1,y2]
let xy2, xRy1, xy1, xRy2 be Surreal; :: thesis: ( (born x) (+) (born y1) c= D & (born xR) (+) (born y1) c= D & (born x) (+) (born y2) c= D & (born xR) (+) (born y2) c= D & xy1 = x * y1 & xy2 = x * y2 & xRy1 = xR * y1 & xRy2 = xR * y2 & x < xR & y1 < y2 implies xy2 + xRy1 < xy1 + xRy2 )
assume that
A345: ( (born x) (+) (born y1) c= D & (born xR) (+) (born y1) c= D & (born x) (+) (born y2) c= D & (born xR) (+) (born y2) c= D ) and
A346: ( xy1 = x * y1 & xy2 = x * y2 & xRy1 = xR * y1 & xRy2 = xR * y2 ) and
A347: ( x < xR & y1 < y2 ) ; :: thesis: xy2 + xRy1 < xy1 + xRy2
A348: xy1 = [((comp ((L_ x),x,y1,(L_ y1))) \/ (comp ((R_ x),x,y1,(R_ y1)))),((comp ((L_ x),x,y1,(R_ y1))) \/ (comp ((R_ x),x,y1,(L_ y1))))] by A346, Th50;
A349: ( L_ xy1 << {xy1} & {xy1} << R_ xy1 & xy1 in {xy1} ) by SURREALO:11, TARSKI:def 1;
A350: y1R in (L_ y1) \/ (R_ y1) by A309, XBOOLE_0:def 3;
A351: (born x) (+) (born y1R) in (born x) (+) (born y1) by SURREALO:1, A350, ORDINAL7:94;
then reconsider xy1R = x * y1R as Surreal by A2, A345;
A352: xR in (L_ x) \/ (R_ x) by A344, XBOOLE_0:def 3;
A353: (born xR) (+) (born y1R) in (born x) (+) (born y1R) by A352, SURREALO:1, ORDINAL7:94;
then A354: (born xR) (+) (born y1R) in D by A345, A351, ORDINAL1:10;
then reconsider xRy1R = xR * y1R as Surreal by A2;
(xRy1 +' xy1R) +' (-' xRy1R) in comp ((R_ x),x,y1,(R_ y1)) by A344, A309, A346, Def14;
then (xRy1 +' xy1R) +' (-' xRy1R) in L_ xy1 by A348, XBOOLE_0:def 3;
then A355: (xRy1 + xy1R) - xRy1R < xy1 by A349;
then A356: xRy1 + xy1R < xy1 + xRy1R by Th41;
A357: ((born y1) (+) (born y2)) (+) (born x) = ((born x) (+) (born y1)) (+) (born y2) by ORDINAL7:68;
A358: (born y1R) (+) (born x) c= D by A351, A345, ORDINAL1:def 2;
A359: ( y1R * x = xy1R & y2 * x = xy2 ) by A345, A346, A3, A351, ORDINAL1:def 2;
A360: (born y1R) (+) (born xR) c= D by A353, A345, A351, ORDINAL1:10, ORDINAL1:def 2;
A361: y1R * xR = xRy1R by A3, A354, ORDINAL1:def 2;
A362: y2 * xR = xRy2 by A345, A346, A3;
A363: (born y1R) (+) (born y2) in (born y1) (+) (born y2) by A350, SURREALO:1, ORDINAL7:94;
then A364: ((born y1R) (+) (born y2)) (+) (born x) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL7:94;
then A365: ((born y1R) (+) (born y2)) (+) (born x) in E by A241, A357;
( ((born y1R) (+) (born y2)) (+) (born xR) in ((born y1) (+) (born y2)) (+) (born xR) & ((born y1) (+) (born y2)) (+) (born xR) in ((born y1) (+) (born y2)) (+) (born x) ) by A352, SURREALO:1, A363, ORDINAL7:94;
then A366: ((born y1R) (+) (born y2)) (+) (born xR) in ((born y1) (+) (born y2)) (+) (born x) by ORDINAL1:10;
per cases ( y1R < y2 or y1R == y2 ) by A309;
suppose A367: y1R < y2 ; :: thesis: xy2 + xRy1 < xy1 + xRy2
((born x) (+) (born y1R)) (+) (born y2) in E by A365, ORDINAL7:68;
then A368: xy2 + xRy1R < xy1R + xRy2 by A344, A159, A347, A367, A360, A345, A346, A358;
xRy1 + xy1R <= xy1 + xRy1R by A355, Th41;
then A369: (xRy1 + xy1R) + (xy2 + xRy1R) < (xy1 + xRy1R) + (xy1R + xRy2) by A368, Th44;
A370: (xRy1 + xy1R) + (xy2 + xRy1R) = xRy1 + (xy1R + (xRy1R + xy2)) by Th37
.= xRy1 + ((xy1R + xRy1R) + xy2) by Th37
.= (xy1R + xRy1R) + (xy2 + xRy1) by Th37 ;
(xy1 + xRy1R) + (xy1R + xRy2) = xy1 + (xRy1R + (xy1R + xRy2)) by Th37
.= xy1 + ((xRy1R + xy1R) + xRy2) by Th37
.= (xy1 + xRy2) + (xRy1R + xy1R) by Th37 ;
hence xy2 + xRy1 < xy1 + xRy2 by A370, A369, Th43; :: thesis: verum
end;
suppose A371: y1R == y2 ; :: thesis: xy2 + xRy1 < xy1 + xRy2
A372: xy1R == xy2 by A159, A364, A241, A357, A345, A358, A371, A359;
A373: xRy1R == xRy2 by A360, A362, A361, A345, A371, A366, A159, A241, A357;
A374: xy1 + xRy1R <= xy1 + xRy2 by A373, Th32;
A375: xy2 + xRy1 <= xy1R + xRy1 by A372, Th32;
xRy1 + xy1R < xy1 + xRy2 by A356, A374, SURREALO:4;
hence xy2 + xRy1 < xy1 + xRy2 by A375, SURREALO:4; :: thesis: verum
end;
end;
end;
hence ( ( for x being Surreal st x in L_ x holds
S4[D,x,x,y1,y2] ) & ( for x being Surreal st x in R_ x holds
S4[D,x,x,y1,y2] ) )
by A310; :: thesis: verum
end;
end;
end;
A376: for E being Ordinal holds S11[E] from ORDINAL1:sch 2(A158);
thus for x1, x2, y being Surreal holds S3[D,x1,x2,y] :: thesis: S9[D]
proof
let x1, x2, y be Surreal; :: thesis: S3[D,x1,x2,y]
((born x1) (+) (born x2)) (+) (born y) c= ((born x1) (+) (born x2)) (+) (born y) ;
hence S3[D,x1,x2,y] by A376; :: thesis: verum
end;
defpred S12[ Ordinal] means for x1, x2, y1, y2 being Surreal st (born x1) (+) (born x2) c= $1 holds
S4[D,x1,x2,y1,y2];
A377: for E being Ordinal st ( for C being Ordinal st C in E holds
S12[C] ) holds
S12[E]
proof
let E be Ordinal; :: thesis: ( ( for C being Ordinal st C in E holds
S12[C] ) implies S12[E] )

assume A378: for C being Ordinal st C in E holds
S12[C]
; :: thesis: S12[E]
let x1, x2, y1, y2 be Surreal; :: thesis: ( (born x1) (+) (born x2) c= E implies S4[D,x1,x2,y1,y2] )
assume A379: (born x1) (+) (born x2) c= E ; :: thesis: S4[D,x1,x2,y1,y2]
let x1y2, x2y1, x1y1, x2y2 be Surreal; :: thesis: ( (born x1) (+) (born y1) c= D & (born x2) (+) (born y1) c= D & (born x1) (+) (born y2) c= D & (born x2) (+) (born y2) c= D & x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 implies x1y2 + x2y1 < x1y1 + x2y2 )
assume that
A380: ( (born x1) (+) (born y1) c= D & (born x2) (+) (born y1) c= D & (born x1) (+) (born y2) c= D & (born x2) (+) (born y2) c= D ) and
A381: ( x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 ) ; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
per cases ( ex x1R being Surreal st
( x1R in R_ x1 & x1 < x1R & x1R <= x2 ) or ex x2L being Surreal st
( x2L in L_ x2 & x1 <= x2L & x2L < x2 ) )
by A381, SURREALO:13;
suppose ex x1R being Surreal st
( x1R in R_ x1 & x1 < x1R & x1R <= x2 )
; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
then consider x1R being Surreal such that
A382: ( x1R in R_ x1 & x1 < x1R & x1R <= x2 ) ;
x1R in (L_ x1) \/ (R_ x1) by A382, XBOOLE_0:def 3;
then A383: ( (born x1R) (+) (born x2) in (born x1) (+) (born x2) & (born x1R) (+) (born y1) in (born x1) (+) (born y1) & (born x1R) (+) (born y2) in (born x1) (+) (born y2) ) by SURREALO:1, ORDINAL7:94;
then reconsider x1Ry1 = x1R * y1, x1Ry2 = x1R * y2 as Surreal by A2, A380;
A384: ( (born x1R) (+) (born y1) c= D & (born x1R) (+) (born y2) c= D ) by A383, A380, ORDINAL1:def 2;
per cases ( x1R == x2 or x1R < x2 ) by A382;
suppose A385: x1R == x2 ; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
((born x1R) (+) (born x2)) (+) (born y1) c= ((born x1R) (+) (born x2)) (+) (born y1) ;
then A386: x1Ry1 == x2y1 by A376, A385, A384, A380, A381;
((born x1R) (+) (born x2)) (+) (born y2) c= ((born x1R) (+) (born x2)) (+) (born y2) ;
then A387: x1Ry2 == x2y2 by A376, A385, A384, A380, A381;
((born x1) (+) (born y1)) (+) (born y2) c= ((born x1) (+) (born y1)) (+) (born y2) ;
then A388: x1y2 + x1Ry1 < x1y1 + x1Ry2 by A376, A382, A380, A381, A384;
A389: x1y1 + x1Ry2 <= x1y1 + x2y2 by A387, Th32;
x1y2 + x2y1 <= x1y2 + x1Ry1 by A386, Th32;
then x1y2 + x2y1 < x1y1 + x1Ry2 by A388, SURREALO:4;
hence x1y2 + x2y1 < x1y1 + x2y2 by SURREALO:4, A389; :: thesis: verum
end;
suppose x1R < x2 ; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
then A390: x1Ry2 + x2y1 < x1Ry1 + x2y2 by A384, A383, A378, A379, A380, A381;
((born x1) (+) (born y1)) (+) (born y2) c= ((born x1) (+) (born y1)) (+) (born y2) ;
then x1y2 + x1Ry1 <= x1y1 + x1Ry2 by A376, A384, A382, A380, A381;
then A391: (x1Ry2 + x2y1) + (x1y2 + x1Ry1) < (x1Ry1 + x2y2) + (x1y1 + x1Ry2) by A390, Th44;
A392: (x1Ry2 + x2y1) + (x1y2 + x1Ry1) = x1Ry2 + (x2y1 + (x1y2 + x1Ry1)) by Th37
.= x1Ry2 + ((x2y1 + x1y2) + x1Ry1) by Th37
.= (x1Ry2 + x1Ry1) + (x1y2 + x2y1) by Th37 ;
(x1Ry1 + x2y2) + (x1y1 + x1Ry2) = x1Ry1 + (x2y2 + (x1y1 + x1Ry2)) by Th37
.= x1Ry1 + ((x2y2 + x1y1) + x1Ry2) by Th37
.= (x1Ry1 + x1Ry2) + (x2y2 + x1y1) by Th37 ;
hence x1y2 + x2y1 < x1y1 + x2y2 by A391, A392, Th43; :: thesis: verum
end;
end;
end;
suppose ex x2L being Surreal st
( x2L in L_ x2 & x1 <= x2L & x2L < x2 )
; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
then consider x2L being Surreal such that
A393: ( x2L in L_ x2 & x1 <= x2L & x2L < x2 ) ;
x2L in (L_ x2) \/ (R_ x2) by A393, XBOOLE_0:def 3;
then A394: ( (born x2L) (+) (born x1) in (born x1) (+) (born x2) & (born x2L) (+) (born y1) in (born x2) (+) (born y1) & (born x2L) (+) (born y2) in (born x2) (+) (born y2) ) by SURREALO:1, ORDINAL7:94;
then reconsider x2Ly1 = x2L * y1, x2Ly2 = x2L * y2 as Surreal by A2, A380;
A395: ( (born x2L) (+) (born y1) c= D & (born x2L) (+) (born y2) c= D ) by A394, A380, ORDINAL1:def 2;
per cases ( x1 == x2L or x1 < x2L ) by A393;
suppose A396: x1 == x2L ; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
((born x1) (+) (born x2L)) (+) (born y1) c= ((born x1) (+) (born x2L)) (+) (born y1) ;
then A397: x1y1 == x2Ly1 by A376, A396, A395, A380, A381;
((born x1) (+) (born x2L)) (+) (born y2) c= ((born x1) (+) (born x2L)) (+) (born y2) ;
then A398: x1y2 == x2Ly2 by A376, A396, A395, A380, A381;
((born x2) (+) (born y1)) (+) (born y2) c= ((born x2) (+) (born y1)) (+) (born y2) ;
then A399: x2Ly2 + x2y1 < x2Ly1 + x2y2 by A376, A393, A380, A381, A395;
A400: x2Ly1 + x2y2 <= x1y1 + x2y2 by A397, Th32;
x1y2 + x2y1 <= x2Ly2 + x2y1 by A398, Th32;
then x1y2 + x2y1 < x2Ly1 + x2y2 by A399, SURREALO:4;
hence x1y2 + x2y1 < x1y1 + x2y2 by A400, SURREALO:4; :: thesis: verum
end;
suppose x1 < x2L ; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
then A401: x1y2 + x2Ly1 < x1y1 + x2Ly2 by A395, A394, A378, A379, A380, A381;
((born x2) (+) (born y1)) (+) (born y2) c= ((born x2) (+) (born y1)) (+) (born y2) ;
then x2Ly2 + x2y1 <= x2Ly1 + x2y2 by A376, A395, A393, A380, A381;
then A402: (x2Ly2 + x2y1) + (x1y2 + x2Ly1) < (x2Ly1 + x2y2) + (x1y1 + x2Ly2) by A401, Th44;
A403: (x2Ly2 + x2y1) + (x1y2 + x2Ly1) = x2Ly2 + (x2y1 + (x1y2 + x2Ly1)) by Th37
.= x2Ly2 + ((x2y1 + x1y2) + x2Ly1) by Th37
.= (x1y2 + x2y1) + (x2Ly2 + x2Ly1) by Th37 ;
(x2Ly1 + x2y2) + (x1y1 + x2Ly2) = x2Ly1 + (x2y2 + (x1y1 + x2Ly2)) by Th37
.= x2Ly1 + ((x2y2 + x1y1) + x2Ly2) by Th37
.= (x1y1 + x2y2) + (x2Ly2 + x2Ly1) by Th37 ;
hence x1y2 + x2y1 < x1y1 + x2y2 by A402, A403, Th43; :: thesis: verum
end;
end;
end;
end;
end;
A404: for E being Ordinal holds S12[E] from ORDINAL1:sch 2(A377);
let x1, x2, y1, y2 be Surreal; :: thesis: S4[D,x1,x2,y1,y2]
(born x1) (+) (born x2) c= (born x1) (+) (born x2) ;
hence S4[D,x1,x2,y1,y2] by A404; :: thesis: verum
end;
A405: for E being Ordinal holds S10[E] from ORDINAL1:sch 2(A1);
thus for x, y being Surreal holds x * y is Surreal by A405; :: thesis: ( ( for x, y being Surreal holds x * y = y * x ) & ( for x1, x2, y, x1y, x2y being Surreal st x1 == x2 & x1y = x1 * y & x2y = x2 * y holds
x1y == x2y ) & ( for x1, x2, y1, y2, x1y2, x2y1, x1y1, x2y2 being Surreal st x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 holds
x1y2 + x2y1 < x1y1 + x2y2 ) )

thus for x, y being Surreal holds x * y = y * x by A405; :: thesis: ( ( for x1, x2, y, x1y, x2y being Surreal st x1 == x2 & x1y = x1 * y & x2y = x2 * y holds
x1y == x2y ) & ( for x1, x2, y1, y2, x1y2, x2y1, x1y1, x2y2 being Surreal st x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 holds
x1y2 + x2y1 < x1y1 + x2y2 ) )

thus for x1, x2, y, x1y, x2y being Surreal st x1 == x2 & x1y = x1 * y & x2y = x2 * y holds
x1y == x2y
:: thesis: for x1, x2, y1, y2, x1y2, x2y1, x1y1, x2y2 being Surreal st x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 holds
x1y2 + x2y1 < x1y1 + x2y2
proof
let x1, x2, y, x1y, x2y be Surreal; :: thesis: ( x1 == x2 & x1y = x1 * y & x2y = x2 * y implies x1y == x2y )
assume A406: ( x1 == x2 & x1y = x1 * y & x2y = x2 * y ) ; :: thesis: x1y == x2y
set B1 = (born x1) (+) (born y);
set B2 = (born x2) (+) (born y);
set B = ((born x1) (+) (born y)) \/ ((born x2) (+) (born y));
( (born x1) (+) (born y) c= ((born x1) (+) (born y)) \/ ((born x2) (+) (born y)) & (born x2) (+) (born y) c= ((born x1) (+) (born y)) \/ ((born x2) (+) (born y)) ) by XBOOLE_1:7;
hence x1y == x2y by A406, A405; :: thesis: verum
end;
let x1, x2, y1, y2, x1y2, x2y1, x1y1, x2y2 be Surreal; :: thesis: ( x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 implies x1y2 + x2y1 < x1y1 + x2y2 )
assume A407: ( x1y1 = x1 * y1 & x1y2 = x1 * y2 & x2y1 = x2 * y1 & x2y2 = x2 * y2 & x1 < x2 & y1 < y2 ) ; :: thesis: x1y2 + x2y1 < x1y1 + x2y2
set B11 = (born x1) (+) (born y1);
set B12 = (born x1) (+) (born y2);
set B21 = (born x2) (+) (born y1);
set B22 = (born x2) (+) (born y2);
set B1 = ((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2));
set B2 = ((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2));
set B = (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2)));
( (born x1) (+) (born y1) c= ((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2)) & (born x1) (+) (born y2) c= ((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2)) & (born x2) (+) (born y1) c= ((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2)) & (born x2) (+) (born y2) c= ((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2)) & ((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2)) c= (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2))) & ((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2)) c= (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2))) ) by XBOOLE_1:7;
then ( (born x1) (+) (born y1) c= (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2))) & (born x1) (+) (born y2) c= (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2))) & (born x2) (+) (born y1) c= (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2))) & (born x2) (+) (born y2) c= (((born x1) (+) (born y1)) \/ ((born x1) (+) (born y2))) \/ (((born x2) (+) (born y1)) \/ ((born x2) (+) (born y2))) ) by XBOOLE_1:1;
hence x1y2 + x2y1 < x1y1 + x2y2 by A405, A407; :: thesis: verum
end;

registration
let a, b be Surreal;
cluster a * b -> surreal ;
coherence
a * b is surreal
by Th51;
end;

definition
let a, b be Surreal;
:: original: *
redefine func a * b -> set ;
commutativity
for a, b being Surreal holds a * b = b * a
by Th51;
end;

registration
let x, y be Surreal;
let X, Y be set ;
cluster comp (X,x,y,Y) -> surreal-membered ;
coherence
comp (X,x,y,Y) is surreal-membered
proof
let o be object ; :: according to SURREAL0:def 16 :: thesis: ( not o in comp (X,x,y,Y) or o is surreal )
assume o in comp (X,x,y,Y) ; :: thesis: o is surreal
then ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y )
by Def14;
hence o is surreal ; :: thesis: verum
end;
end;

definition
let x, y be Surreal;
let X, Y be set ;
redefine func comp (X,x,y,Y) means :Def15: :: SURREALR:def 15
for o being object holds
( o in it iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) );
compatibility
for b1 being set holds
( b1 = comp (X,x,y,Y) iff for o being object holds
( o in b1 iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) ) )
proof
let C be set ; :: thesis: ( C = comp (X,x,y,Y) iff for o being object holds
( o in C iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) ) )

thus ( C = comp (X,x,y,Y) implies for o being object holds
( o in C iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) ) )
:: thesis: ( ( for o being object holds
( o in C iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) ) ) implies C = comp (X,x,y,Y) )
proof
assume A1: C = comp (X,x,y,Y) ; :: thesis: for o being object holds
( o in C iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) )

let o be object ; :: thesis: ( o in C iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) )

thus ( o in C implies ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) )
:: thesis: ( ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) implies o in C )
proof
assume o in C ; :: thesis: ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y )

then consider x1, y1 being Surreal such that
A2: ( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) by A1, Def14;
o = ((x1 * y) + (x * y1)) - (x1 * y1) by A2;
hence ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y )
by A2; :: thesis: verum
end;
assume ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y )
; :: thesis: o in C
hence o in C by A1, Def14; :: thesis: verum
end;
assume A3: for o being object holds
( o in C iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) )
; :: thesis: C = comp (X,x,y,Y)
thus C c= comp (X,x,y,Y) :: according to XBOOLE_0:def 10 :: thesis: comp (X,x,y,Y) c= C
proof
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in C or o in comp (X,x,y,Y) )
assume A4: o in C ; :: thesis: o in comp (X,x,y,Y)
ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y )
by A4, A3;
hence o in comp (X,x,y,Y) by Def14; :: thesis: verum
end;
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp (X,x,y,Y) or o in C )
assume A5: o in comp (X,x,y,Y) ; :: thesis: o in C
consider x1, y1 being Surreal such that
A6: ( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) by A5, Def14;
o = ((x1 * y) + (x * y1)) - (x1 * y1) by A6;
hence o in C by A6, A3; :: thesis: verum
end;
end;

:: deftheorem Def15 defines comp SURREALR:def 15 :
for x, y being Surreal
for X, Y, b5 being set holds
( b5 = comp (X,x,y,Y) iff for o being object holds
( o in b5 iff ex x1, y1 being Surreal st
( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) ) );

theorem :: SURREALR:52
for x, y, z, t being Surreal holds comp ({z},x,y,{t}) = {(((z * y) + (x * t)) - (z * t))}
proof
let x, y, z, t be Surreal; :: thesis: comp ({z},x,y,{t}) = {(((z * y) + (x * t)) - (z * t))}
A1: comp ({z},x,y,{t}) c= {(((z * y) + (x * t)) - (z * t))}
proof
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp ({z},x,y,{t}) or o in {(((z * y) + (x * t)) - (z * t))} )
assume o in comp ({z},x,y,{t}) ; :: thesis: o in {(((z * y) + (x * t)) - (z * t))}
then consider x1, y1 being Surreal such that
A2: ( o = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in {z} & y1 in {t} ) by Def15;
( x1 = z & y1 = t ) by A2, TARSKI:def 1;
hence o in {(((z * y) + (x * t)) - (z * t))} by A2, TARSKI:def 1; :: thesis: verum
end;
( z in {z} & t in {t} ) by TARSKI:def 1;
then ((z * y) + (x * t)) - (z * t) in comp ({z},x,y,{t}) by Def15;
hence comp ({z},x,y,{t}) = {(((z * y) + (x * t)) - (z * t))} by A1, ZFMISC_1:33; :: thesis: verum
end;

Lm6: for x, y being Surreal
for X, Y being set holds comp (X,x,y,Y) c= comp (Y,y,x,X)

proof
let x, y be Surreal; :: thesis: for X, Y being set holds comp (X,x,y,Y) c= comp (Y,y,x,X)
let X, Y be set ; :: thesis: comp (X,x,y,Y) c= comp (Y,y,x,X)
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp (X,x,y,Y) or o in comp (Y,y,x,X) )
assume o in comp (X,x,y,Y) ; :: thesis: o in comp (Y,y,x,X)
then consider x1, y1 being Surreal such that
A1: ( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y ) by Def14;
o = ((x1 * y) + (x * y1)) + (- (x1 * y1)) by A1
.= ((y1 * x) + (y * x1)) + (- (y1 * x1)) ;
hence o in comp (Y,y,x,X) by A1, Def14; :: thesis: verum
end;

theorem Th53: :: SURREALR:53
for x, y being Surreal
for X, Y being set holds comp (X,x,y,Y) = comp (Y,y,x,X)
proof
let x, y be Surreal; :: thesis: for X, Y being set holds comp (X,x,y,Y) = comp (Y,y,x,X)
let X, Y be set ; :: thesis: comp (X,x,y,Y) = comp (Y,y,x,X)
( comp (X,x,y,Y) c= comp (Y,y,x,X) & comp (Y,y,x,X) c= comp (X,x,y,Y) ) by Lm6;
hence comp (X,x,y,Y) = comp (Y,y,x,X) by XBOOLE_0:def 10; :: thesis: verum
end;

theorem :: SURREALR:54
for x1, x2, y being Surreal st x1 == x2 holds
x1 * y == x2 * y by Th51;

theorem :: SURREALR:55
for x1, x2, y1, y2 being Surreal st x1 < x2 & y1 < y2 holds
(x1 * y2) + (x2 * y1) < (x1 * y1) + (x2 * y2) by Th51;

theorem Th56: :: SURREALR:56
for x being Surreal holds x * 0_No = 0_No
proof
let x be Surreal; :: thesis: x * 0_No = 0_No
A1: ( comp ((L_ x),x,0_No,(L_ 0_No)) = {} & comp ((R_ x),x,0_No,(R_ 0_No)) = {} ) by Th49;
x * 0_No = [((comp ((L_ x),x,0_No,(L_ 0_No))) \/ (comp ((R_ x),x,0_No,(R_ 0_No)))),((comp ((L_ x),x,0_No,(L_ 0_No))) \/ (comp ((R_ x),x,0_No,(L_ 0_No))))] by Th50;
hence x * 0_No = 0_No by A1; :: thesis: verum
end;

theorem Th57: :: SURREALR:57
for x being Surreal holds x * 1_No = x
proof
let x be Surreal; :: thesis: x * 1_No = x
defpred S1[ Ordinal] means for x being Surreal st born x c= $1 holds
x * 1_No = x;
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
let x be Surreal; :: thesis: ( born x c= D implies x * 1_No = x )
assume A3: born x c= D ; :: thesis: x * 1_No = x
A4: ( comp ((R_ x),x,1_No,(R_ 1_No)) = {} & comp ((L_ x),x,1_No,(R_ 1_No)) = {} ) by Th49;
A5: for X being surreal-membered set st X c= (L_ x) \/ (R_ x) holds
comp (X,x,1_No,(L_ 1_No)) = X
proof
let X be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) implies comp (X,x,1_No,(L_ 1_No)) = X )
assume A6: X c= (L_ x) \/ (R_ x) ; :: thesis: comp (X,x,1_No,(L_ 1_No)) = X
thus comp (X,x,1_No,(L_ 1_No)) c= X :: according to XBOOLE_0:def 10 :: thesis: X c= comp (X,x,1_No,(L_ 1_No))
proof
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp (X,x,1_No,(L_ 1_No)) or o in X )
assume A7: o in comp (X,x,1_No,(L_ 1_No)) ; :: thesis: o in X
consider x1, y1 being Surreal such that
A8: ( o = ((x1 * 1_No) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in L_ 1_No ) by A7, Def14;
A9: y1 = 0_No by A8, TARSKI:def 1;
A10: born x1 in born x by A8, A6, SURREALO:1;
o = ((x1 * 1_No) + (x * y1)) + (- 0_No) by A8, A9, Th56
.= ((x1 * 1_No) + 0_No) + 0_No by A9, Th56
.= x1 * 1_No ;
hence o in X by A10, A2, A3, A8; :: thesis: verum
end;
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in X or o in comp (X,x,1_No,(L_ 1_No)) )
assume A11: o in X ; :: thesis: o in comp (X,x,1_No,(L_ 1_No))
reconsider x1 = o as Surreal by A11, SURREAL0:def 16;
A12: born x1 in born x by A11, A6, SURREALO:1;
0_No in L_ 1_No by TARSKI:def 1;
then A13: ((x1 * 1_No) + (x * 0_No)) + (- (x1 * 0_No)) in comp (X,x,1_No,(L_ 1_No)) by A11, Def14;
((x1 * 1_No) + (x * 0_No)) + (- (x1 * 0_No)) = ((x1 * 1_No) + (x * 0_No)) + (- 0_No) by Th56
.= ((x1 * 1_No) + 0_No) + 0_No by Th56
.= x1 * 1_No ;
hence o in comp (X,x,1_No,(L_ 1_No)) by A12, A2, A3, A13; :: thesis: verum
end;
A14: ( comp ((L_ x),x,1_No,(L_ 1_No)) = L_ x & comp ((R_ x),x,1_No,(L_ 1_No)) = R_ x ) by A5, XBOOLE_1:7;
x * 1_No = [((comp ((L_ x),x,1_No,(L_ 1_No))) \/ (comp ((R_ x),x,1_No,(R_ 1_No)))),((comp ((L_ x),x,1_No,(R_ 1_No))) \/ (comp ((R_ x),x,1_No,(L_ 1_No))))] by Th50
.= [(L_ x),(R_ x)] by A4, A14 ;
hence x * 1_No = x ; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
hence x * 1_No = x ; :: thesis: verum
end;

registration
let x be Surreal;
reduce x * 0_No with 0_No ;
reducibility
x * 0_No = 0_No
by Th56;
reduce x * 1_No with x;
reducibility
x * 1_No = x
by Th57;
end;

Lm7: for x, y, z being Surreal
for X, Y, Z being surreal-membered set st ( X = L_ x or X = R_ x or X = {x} ) & ( Y = L_ y or Y = R_ y or Y = {y} ) & ( Z = L_ z or Z = R_ z or Z = {z} ) & ( X <> {x} or Y <> {y} or Z <> {z} ) holds
for x1, y1, z1 being Surreal st x1 in X & y1 in Y & z1 in Z holds
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z)

proof
let x, y, z be Surreal; :: thesis: for X, Y, Z being surreal-membered set st ( X = L_ x or X = R_ x or X = {x} ) & ( Y = L_ y or Y = R_ y or Y = {y} ) & ( Z = L_ z or Z = R_ z or Z = {z} ) & ( X <> {x} or Y <> {y} or Z <> {z} ) holds
for x1, y1, z1 being Surreal st x1 in X & y1 in Y & z1 in Z holds
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z)

set D = ((born x) (+) (born y)) (+) (born z);
let X, Y, Z be surreal-membered set ; :: thesis: ( ( X = L_ x or X = R_ x or X = {x} ) & ( Y = L_ y or Y = R_ y or Y = {y} ) & ( Z = L_ z or Z = R_ z or Z = {z} ) & ( X <> {x} or Y <> {y} or Z <> {z} ) implies for x1, y1, z1 being Surreal st x1 in X & y1 in Y & z1 in Z holds
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) )

assume A1: ( ( X = L_ x or X = R_ x or X = {x} ) & ( Y = L_ y or Y = R_ y or Y = {y} ) & ( Z = L_ z or Z = R_ z or Z = {z} ) & ( X <> {x} or Y <> {y} or Z <> {z} ) ) ; :: thesis: for x1, y1, z1 being Surreal st x1 in X & y1 in Y & z1 in Z holds
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z)

let x1, y1, z1 be Surreal; :: thesis: ( x1 in X & y1 in Y & z1 in Z implies ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) )
assume A2: ( x1 in X & y1 in Y & z1 in Z ) ; :: thesis: ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z)
per cases ( Z <> {z} or Z = {z} ) ;
suppose Z <> {z} ; :: thesis: ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z)
then A3: z1 in (L_ z) \/ (R_ z) by A1, A2, XBOOLE_0:def 3;
( x1 in (L_ x) \/ (R_ x) or x1 = x ) by A2, A1, TARSKI:def 1, XBOOLE_0:def 3;
then A4: born x1 c= born x by SURREALO:1, ORDINAL1:def 2;
( y1 in (L_ y) \/ (R_ y) or y1 = y ) by A2, A1, TARSKI:def 1, XBOOLE_0:def 3;
then born y1 c= born y by SURREALO:1, ORDINAL1:def 2;
then ( (born x1) (+) (born y1) c= (born x1) (+) (born y) & (born x1) (+) (born y) c= (born x) (+) (born y) ) by A4, ORDINAL7:95;
then (born x1) (+) (born y1) c= (born x) (+) (born y) by XBOOLE_1:1;
then ( ((born x1) (+) (born y1)) (+) (born z1) c= ((born x) (+) (born y)) (+) (born z1) & ((born x) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) ) by A3, SURREALO:1, ORDINAL7:94, ORDINAL7:95;
hence ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by ORDINAL1:12; :: thesis: verum
end;
suppose A5: Z = {z} ; :: thesis: ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z)
then ( ( x1 in (L_ x) \/ (R_ x) & y1 in (L_ y) \/ (R_ y) ) or ( x1 in (L_ x) \/ (R_ x) & y1 = y ) or ( x1 = x & y1 in (L_ y) \/ (R_ y) ) ) by A1, A2, XBOOLE_0:def 3, TARSKI:def 1;
then ( (born x1) (+) (born y1) in (born x) (+) (born y) or ( (born x1) (+) (born y1) in (born x1) (+) (born y) & (born x1) (+) (born y) in (born x) (+) (born y) ) ) by ORDINAL7:94, SURREALO:1;
then (born x1) (+) (born y1) in (born x) (+) (born y) by ORDINAL1:10;
then ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z1) by ORDINAL7:94;
hence ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A2, A5, TARSKI:def 1; :: thesis: verum
end;
end;
end;

Lm8: for x, y being Surreal holds - (x * y) = (- x) * y
proof
defpred S1[ Ordinal] means for x, y being Surreal st (born x) (+) (born y) c= $1 holds
- (x * y) = (- x) * y;
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
let x, y be Surreal; :: thesis: ( (born x) (+) (born y) c= D implies - (x * y) = (- x) * y )
assume A3: (born x) (+) (born y) c= D ; :: thesis: - (x * y) = (- x) * y
set mx = - x;
A4: - x = [(-- (R_ x)),(-- (L_ x))] by Th7;
A5: for X, Y being surreal-membered set st X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) holds
comp ((-- X),(- x),y,Y) = -- (comp (X,x,y,Y))
proof
let X, Y be surreal-membered set ; :: thesis: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) implies comp ((-- X),(- x),y,Y) = -- (comp (X,x,y,Y)) )
assume A6: ( X c= (L_ x) \/ (R_ x) & Y c= (L_ y) \/ (R_ y) ) ; :: thesis: comp ((-- X),(- x),y,Y) = -- (comp (X,x,y,Y))
thus comp ((-- X),(- x),y,Y) c= -- (comp (X,x,y,Y)) :: according to XBOOLE_0:def 10 :: thesis: -- (comp (X,x,y,Y)) c= comp ((-- X),(- x),y,Y)
proof
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp ((-- X),(- x),y,Y) or o in -- (comp (X,x,y,Y)) )
assume o in comp ((-- X),(- x),y,Y) ; :: thesis: o in -- (comp (X,x,y,Y))
then consider x1, y1 being Surreal such that
A7: ( o = ((x1 * y) + ((- x) * y1)) - (x1 * y1) & x1 in -- X & y1 in Y ) by Def15;
consider z being Surreal such that
A8: ( z in X & x1 = - z ) by A7, Def4;
A9: ((z * y) + (x * y1)) - (z * y1) in comp (X,x,y,Y) by A7, A8, Def15;
(born z) (+) (born y) in (born x) (+) (born y) by A8, A6, SURREALO:1, ORDINAL7:94;
then A10: - (z * y) = x1 * y by A8, A2, A3;
A11: (born x) (+) (born y1) in (born x) (+) (born y) by A7, A6, SURREALO:1, ORDINAL7:94;
then A12: - (x * y1) = (- x) * y1 by A2, A3;
(born z) (+) (born y1) in (born x) (+) (born y1) by A8, A6, SURREALO:1, ORDINAL7:94;
then o = ((- (z * y)) + (- (x * y1))) + (- (- (z * y1))) by A7, A10, A12, A8, A2, A3, A11, ORDINAL1:10
.= (- ((z * y) + (x * y1))) + (- (- (z * y1))) by Th40
.= - (((z * y) + (x * y1)) + (- (z * y1))) by Th40 ;
hence o in -- (comp (X,x,y,Y)) by A9, Def4; :: thesis: verum
end;
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in -- (comp (X,x,y,Y)) or o in comp ((-- X),(- x),y,Y) )
assume o in -- (comp (X,x,y,Y)) ; :: thesis: o in comp ((-- X),(- x),y,Y)
then consider oo being Surreal such that
A13: ( oo in comp (X,x,y,Y) & o = - oo ) by Def4;
consider z, y1 being Surreal such that
A14: ( oo = ((z * y) + (x * y1)) - (z * y1) & z in X & y1 in Y ) by A13, Def15;
set x1 = - z;
A15: - z in -- X by A14, Def4;
(born z) (+) (born y) in (born x) (+) (born y) by A14, A6, SURREALO:1, ORDINAL7:94;
then A16: - (z * y) = (- z) * y by A2, A3;
A17: (born x) (+) (born y1) in (born x) (+) (born y) by A14, A6, SURREALO:1, ORDINAL7:94;
then A18: - (x * y1) = (- x) * y1 by A2, A3;
(born z) (+) (born y1) in (born x) (+) (born y1) by A14, A6, SURREALO:1, ORDINAL7:94;
then (((- z) * y) + ((- x) * y1)) - ((- z) * y1) = ((- (z * y)) + (- (x * y1))) + (- (- (z * y1))) by A16, A18, A2, A3, A17, ORDINAL1:10
.= (- ((z * y) + (x * y1))) - (- (z * y1)) by Th40
.= o by A13, A14, Th40 ;
hence o in comp ((-- X),(- x),y,Y) by A15, A14, Def15; :: thesis: verum
end;
A19: ( L_ x c= (L_ x) \/ (R_ x) & L_ y c= (L_ y) \/ (R_ y) & R_ x c= (L_ x) \/ (R_ x) & R_ y c= (L_ y) \/ (R_ y) ) by XBOOLE_1:7;
A20: ( comp ((L_ (- x)),(- x),y,(L_ y)) = -- (comp ((R_ x),x,y,(L_ y))) & comp ((L_ (- x)),(- x),y,(R_ y)) = -- (comp ((R_ x),x,y,(R_ y))) ) by A4, A5, A19;
A21: ( comp ((R_ (- x)),(- x),y,(L_ y)) = -- (comp ((L_ x),x,y,(L_ y))) & comp ((R_ (- x)),(- x),y,(R_ y)) = -- (comp ((L_ x),x,y,(R_ y))) ) by A4, A5, A19;
A22: x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))] by Th50;
(- x) * y = [((-- (comp ((R_ x),x,y,(L_ y)))) \/ (-- (comp ((L_ x),x,y,(R_ y))))),((-- (comp ((R_ x),x,y,(R_ y)))) \/ (-- (comp ((L_ x),x,y,(L_ y)))))] by A20, A21, Th50
.= [(-- ((comp ((R_ x),x,y,(L_ y))) \/ (comp ((L_ x),x,y,(R_ y))))),((-- (comp ((R_ x),x,y,(R_ y)))) \/ (-- (comp ((L_ x),x,y,(L_ y)))))] by Th20
.= [(-- (R_ (x * y))),(-- (L_ (x * y)))] by A22, Th20
.= - (x * y) by Th7 ;
hence - (x * y) = (- x) * y ; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
hence for x, y being Surreal holds - (x * y) = (- x) * y ; :: thesis: verum
end;

theorem Th58: :: SURREALR:58
for x, y being Surreal holds
( x * (- y) = - (x * y) & (- x) * y = - (x * y) & (- x) * (- y) = x * y )
proof
let x, y be Surreal; :: thesis: ( x * (- y) = - (x * y) & (- x) * y = - (x * y) & (- x) * (- y) = x * y )
(- x) * (- y) = - ((- x) * y) by Lm8;
then (- x) * (- y) = - (- (x * y)) by Lm8;
hence ( x * (- y) = - (x * y) & (- x) * y = - (x * y) & (- x) * (- y) = x * y ) by Lm8; :: thesis: verum
end;

theorem Th59: :: SURREALR:59
for x, y being Surreal
for X, Y1, Y2 being set st Y1 c= Y2 holds
comp (X,x,y,Y1) c= comp (X,x,y,Y2)
proof
let x, y be Surreal; :: thesis: for X, Y1, Y2 being set st Y1 c= Y2 holds
comp (X,x,y,Y1) c= comp (X,x,y,Y2)

let X, Y1, Y2 be set ; :: thesis: ( Y1 c= Y2 implies comp (X,x,y,Y1) c= comp (X,x,y,Y2) )
assume A1: Y1 c= Y2 ; :: thesis: comp (X,x,y,Y1) c= comp (X,x,y,Y2)
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp (X,x,y,Y1) or o in comp (X,x,y,Y2) )
assume o in comp (X,x,y,Y1) ; :: thesis: o in comp (X,x,y,Y2)
then ex x1, y1 being Surreal st
( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y1 )
by Def14;
hence o in comp (X,x,y,Y2) by A1, Def14; :: thesis: verum
end;

theorem Th60: :: SURREALR:60
for x, y being Surreal
for X, Y1, Y2 being set holds comp (X,x,y,(Y1 \/ Y2)) = (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2))
proof
let x, y be Surreal; :: thesis: for X, Y1, Y2 being set holds comp (X,x,y,(Y1 \/ Y2)) = (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2))
let X, Y1, Y2 be set ; :: thesis: comp (X,x,y,(Y1 \/ Y2)) = (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2))
thus comp (X,x,y,(Y1 \/ Y2)) c= (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2)) :: according to XBOOLE_0:def 10 :: thesis: (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2)) c= comp (X,x,y,(Y1 \/ Y2))
proof
let o be object ; :: according to TARSKI:def 3 :: thesis: ( not o in comp (X,x,y,(Y1 \/ Y2)) or o in (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2)) )
assume o in comp (X,x,y,(Y1 \/ Y2)) ; :: thesis: o in (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2))
then consider x1, y1 being Surreal such that
A1: ( o = ((x1 * y) +' (x * y1)) +' (-' (x1 * y1)) & x1 in X & y1 in Y1 \/ Y2 ) by Def14;
( y1 in Y1 or y1 in Y2 ) by A1, XBOOLE_0:def 3;
then ( o in comp (X,x,y,Y1) or o in comp (X,x,y,Y2) ) by A1, Def14;
hence o in (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2)) by XBOOLE_0:def 3; :: thesis: verum
end;
( comp (X,x,y,Y1) c= comp (X,x,y,(Y1 \/ Y2)) & comp (X,x,y,Y2) c= comp (X,x,y,(Y1 \/ Y2)) ) by XBOOLE_1:7, Th59;
hence (comp (X,x,y,Y1)) \/ (comp (X,x,y,Y2)) c= comp (X,x,y,(Y1 \/ Y2)) by XBOOLE_1:8; :: thesis: verum
end;

theorem Th61: :: SURREALR:61
for X, Y being set st ( for x being Surreal st x in X holds
ex y being Surreal st
( y in Y & x == y ) ) holds
X <=_ Y
proof
let X, Y be set ; :: thesis: ( ( for x being Surreal st x in X holds
ex y being Surreal st
( y in Y & x == y ) ) implies X <=_ Y )

assume A1: for x being Surreal st x in X holds
ex y being Surreal st
( y in Y & x == y )
; :: thesis: X <=_ Y
let x be Surreal; :: according to SURREALO:def 3 :: thesis: ( not x in X or ex b1, b2 being set st
( b1 in Y & b2 in Y & b1 <= x & x <= b2 ) )

assume x in X ; :: thesis: ex b1, b2 being set st
( b1 in Y & b2 in Y & b1 <= x & x <= b2 )

then ex y being Surreal st
( y in Y & x == y )
by A1;
hence ex b1, b2 being set st
( b1 in Y & b2 in Y & b1 <= x & x <= b2 )
; :: thesis: verum
end;

theorem :: SURREALR:62
for X1, X2 being set st X1 <=_ X2 holds
-- X1 <=_ -- X2
proof
let X1, X2 be set ; :: thesis: ( X1 <=_ X2 implies -- X1 <=_ -- X2 )
assume A1: X1 <=_ X2 ; :: thesis: -- X1 <=_ -- X2
let x be Surreal; :: according to SURREALO:def 3 :: thesis: ( not x in -- X1 or ex b1, b2 being set st
( b1 in -- X2 & b2 in -- X2 & b1 <= x & x <= b2 ) )

assume A2: x in -- X1 ; :: thesis: ex b1, b2 being set st
( b1 in -- X2 & b2 in -- X2 & b1 <= x & x <= b2 )

consider y being Surreal such that
A3: ( y in X1 & x = - y ) by A2, Def4;
consider y2, y3 being Surreal such that
A4: ( y2 in X2 & y3 in X2 & y2 <= y & y <= y3 ) by A3, A1;
A5: ( - y2 in -- X2 & - y3 in -- X2 ) by A4, Def4;
( - y3 <= - y & - y <= - y2 ) by Th10, A4;
hence ex b1, b2 being set st
( b1 in -- X2 & b2 in -- X2 & b1 <= x & x <= b2 )
by A5, A3; :: thesis: verum
end;

theorem :: SURREALR:63
for X1, X2 being set holds -- (X1 ++ X2) = (-- X1) ++ (-- X2)
proof
let X1, X2 be set ; :: thesis: -- (X1 ++ X2) = (-- X1) ++ (-- X2)
thus -- (X1 ++ X2) c= (-- X1) ++ (-- X2) :: according to XBOOLE_0:def 10 :: thesis: (-- X1) ++ (-- X2) c= -- (X1 ++ X2)
proof
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in -- (X1 ++ X2) or a in (-- X1) ++ (-- X2) )
assume a in -- (X1 ++ X2) ; :: thesis: a in (-- X1) ++ (-- X2)
then consider xy being Surreal such that
A1: ( xy in X1 ++ X2 & a = - xy ) by Def4;
consider x, y being Surreal such that
A2: ( x in X1 & y in X2 & xy = x + y ) by A1, Def8;
( - x in -- X1 & - y in -- X2 ) by A2, Def4;
then ( - (x + y) = (- x) + (- y) & (- x) + (- y) in (-- X1) ++ (-- X2) ) by Th40, Def8;
hence a in (-- X1) ++ (-- X2) by A1, A2; :: thesis: verum
end;
let a be object ; :: according to TARSKI:def 3 :: thesis: ( not a in (-- X1) ++ (-- X2) or a in -- (X1 ++ X2) )
assume a in (-- X1) ++ (-- X2) ; :: thesis: a in -- (X1 ++ X2)
then consider x1, y1 being Surreal such that
A3: ( x1 in -- X1 & y1 in -- X2 & a = x1 + y1 ) by Def8;
consider x being Surreal such that
A4: ( x in X1 & x1 = - x ) by A3, Def4;
consider y being Surreal such that
A5: ( y in X2 & y1 = - y ) by A3, Def4;
x + y in X1 ++ X2 by A4, A5, Def8;
then ( (- x) + (- y) = - (x + y) & - (x + y) in -- (X1 ++ X2) ) by Th40, Def4;
hence a in -- (X1 ++ X2) by A3, A4, A5; :: thesis: verum
end;

theorem :: SURREALR:64
for X being surreal-membered set holds X ++ {0_No} = X
proof
let X be surreal-membered set ; :: thesis: X ++ {0_No} = X
thus X ++ {0_No} c= X :: according to XBOOLE_0:def 10 :: thesis: X c= X ++ {0_No}
proof
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in X ++ {0_No} or xy in X )
assume A1: xy in X ++ {0_No} ; :: thesis: xy in X
consider x, y being Surreal such that
A2: ( x in X & y in {0_No} & xy = x + y ) by A1, Def8;
y = 0_No by A2, TARSKI:def 1;
hence xy in X by A2; :: thesis: verum
end;
let xy be object ; :: according to TARSKI:def 3 :: thesis: ( not xy in X or xy in X ++ {0_No} )
assume A3: xy in X ; :: thesis: xy in X ++ {0_No}
reconsider x = xy as Surreal by A3, SURREAL0:def 16;
( x + 0_No = x & 0_No in {0_No} ) by TARSKI:def 1;
hence xy in X ++ {0_No} by A3, Def8; :: thesis: verum
end;

theorem Th65: :: SURREALR:65
for x, y being Surreal st x == y holds
- x == - y by Th10;

theorem :: SURREALR:66
for x1, x2, y1, y2 being Surreal st x1 == x2 & y1 == y2 holds
x1 + y1 == x2 + y2 by Th43;

theorem Th67: :: SURREALR:67
for x, y, z being Surreal holds x * (y + z) == (x * y) + (x * z)
proof
let x, y, z be Surreal; :: thesis: x * (y + z) == (x * y) + (x * z)
defpred S1[ Ordinal] means for x, y, z being Surreal st ((born x) (+) (born y)) (+) (born z) c= $1 holds
x * (y + z) == (x * y) + (x * z);
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
let x, y, z be Surreal; :: thesis: ( ((born x) (+) (born y)) (+) (born z) c= D implies x * (y + z) == (x * y) + (x * z) )
assume A3: ((born x) (+) (born y)) (+) (born z) c= D ; :: thesis: x * (y + z) == (x * y) + (x * z)
set xy = x * y;
set xz = x * z;
set yz = y + z;
A4: x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))] by Th50;
A5: x * z = [((comp ((L_ x),x,z,(L_ z))) \/ (comp ((R_ x),x,z,(R_ z)))),((comp ((L_ x),x,z,(R_ z))) \/ (comp ((R_ x),x,z,(L_ z))))] by Th50;
A6: y + z = [(((L_ y) ++ {z}) \/ ({y} ++ (L_ z))),(((R_ y) ++ {z}) \/ ({y} ++ (R_ z)))] by Th28;
A7: x * (y + z) = [((comp ((L_ x),x,(y + z),(L_ (y + z)))) \/ (comp ((R_ x),x,(y + z),(R_ (y + z))))),((comp ((L_ x),x,(y + z),(R_ (y + z)))) \/ (comp ((R_ x),x,(y + z),(L_ (y + z)))))] by Th50;
A8: (x * y) + (x * z) = [(((L_ (x * y)) ++ {(x * z)}) \/ ({(x * y)} ++ (L_ (x * z)))),(((R_ (x * y)) ++ {(x * z)}) \/ ({(x * y)} ++ (R_ (x * z))))] by Th28;
A9: comp ((L_ x),x,(y + z),(L_ (y + z))) = (comp ((L_ x),x,(y + z),((L_ y) ++ {z}))) \/ (comp ((L_ x),x,(y + z),({y} ++ (L_ z)))) by A6, Th60;
A10: comp ((R_ x),x,(y + z),(L_ (y + z))) = (comp ((R_ x),x,(y + z),((L_ y) ++ {z}))) \/ (comp ((R_ x),x,(y + z),({y} ++ (L_ z)))) by A6, Th60;
A11: comp ((R_ x),x,(y + z),(R_ (y + z))) = (comp ((R_ x),x,(y + z),((R_ y) ++ {z}))) \/ (comp ((R_ x),x,(y + z),({y} ++ (R_ z)))) by A6, Th60;
A12: comp ((L_ x),x,(y + z),(R_ (y + z))) = (comp ((L_ x),x,(y + z),((R_ y) ++ {z}))) \/ (comp ((L_ x),x,(y + z),({y} ++ (R_ z)))) by A6, Th60;
A13: for X, Z being surreal-membered set st ( X = L_ x or X = R_ x ) & ( Z = L_ z or Z = R_ z ) holds
(comp (X,x,z,Z)) ++ {(x * y)} <==> comp (X,x,(y + z),(Z ++ {y}))
proof
let X, Z be surreal-membered set ; :: thesis: ( ( X = L_ x or X = R_ x ) & ( Z = L_ z or Z = R_ z ) implies (comp (X,x,z,Z)) ++ {(x * y)} <==> comp (X,x,(y + z),(Z ++ {y})) )
assume A14: ( ( X = L_ x or X = R_ x ) & ( Z = L_ z or Z = R_ z ) ) ; :: thesis: (comp (X,x,z,Z)) ++ {(x * y)} <==> comp (X,x,(y + z),(Z ++ {y}))
for o being Surreal st o in (comp (X,x,z,Z)) ++ {(x * y)} holds
ex b being Surreal st
( b in comp (X,x,(y + z),(Z ++ {y})) & o == b )
proof
let o be Surreal; :: thesis: ( o in (comp (X,x,z,Z)) ++ {(x * y)} implies ex b being Surreal st
( b in comp (X,x,(y + z),(Z ++ {y})) & o == b ) )

assume o in (comp (X,x,z,Z)) ++ {(x * y)} ; :: thesis: ex b being Surreal st
( b in comp (X,x,(y + z),(Z ++ {y})) & o == b )

then consider xz1, xy1 being Surreal such that
A15: ( xz1 in comp (X,x,z,Z) & xy1 in {(x * y)} & o = xz1 + xy1 ) by Def8;
consider x1, z1 being Surreal such that
A16: ( xz1 = ((x1 * z) + (x * z1)) - (x1 * z1) & x1 in X & z1 in Z ) by A15, Def15;
A17: ( R_ x <> {x} & {x} <> L_ x & R_ z <> {z} & {z} <> L_ z ) by SURREALO:2;
A18: ( x in {x} & y in {y} & z in {z} ) by TARSKI:def 1;
((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A14, A16, A18, A17, Lm7;
then A19: x1 * (y + z) == (x1 * y) + (x1 * z) by A2, A3;
set yz1 = y + z1;
((born x) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A14, A18, A17, Lm7, A16;
then A20: x * (y + z1) == (x * y) + (x * z1) by A2, A3;
A21: ((born x1) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A14, A18, A17, Lm7, A16;
A22: - ((x1 * z1) + (x1 * y)) = (- (x1 * z1)) + (- (x1 * y)) by Th40;
y + z1 in {y} ++ Z by A18, A16, Def8;
then A23: ((x1 * (y + z)) + (x * (y + z1))) - (x1 * (y + z1)) in comp (X,x,(y + z),({y} ++ Z)) by A16, Def15;
(x1 * z) + ((x * y) + (x * z1)) = ((x1 * z) + (x * z1)) + (x * y) by Th37;
then A24: ((x1 * z) + ((x * y) + (x * z1))) + (- (x1 * z1)) = (x * y) + (((x1 * z) + (x * z1)) + (- (x1 * z1))) by Th37;
A25: (x1 * y) - (x1 * y) == 0_No by Th39;
A26: - (x1 * (y + z1)) == (- (x1 * z1)) + (- (x1 * y)) by A22, A21, A2, A3, Th65;
(x1 * (y + z)) + (x * (y + z1)) == ((x1 * y) + (x1 * z)) + ((x * y) + (x * z1)) by A19, A20, Th43;
then A27: ((x1 * (y + z)) + (x * (y + z1))) + (- (x1 * (y + z1))) == (((x1 * y) + (x1 * z)) + ((x * y) + (x * z1))) + ((- (x1 * z1)) + (- (x1 * y))) by A26, Th43;
(((x1 * y) + (x1 * z)) + ((x * y) + (x * z1))) + ((- (x1 * z1)) + (- (x1 * y))) = ((x1 * y) + ((x1 * z) + ((x * y) + (x * z1)))) + ((- (x1 * z1)) + (- (x1 * y))) by Th37
.= (((x1 * y) + ((x1 * z) + ((x * y) + (x * z1)))) + (- (x1 * z1))) + (- (x1 * y)) by Th37
.= ((x1 * y) + (((x1 * z) + ((x * y) + (x * z1))) + (- (x1 * z1)))) + (- (x1 * y)) by Th37
.= ((x1 * y) + (- (x1 * y))) + ((((x1 * z) + (x * z1)) + (- (x1 * z1))) + (x * y)) by A24, Th37 ;
then ( ((x1 * (y + z)) + (x * (y + z1))) + (- (x1 * (y + z1))) == ((x1 * y) + (- (x1 * y))) + o & ((x1 * y) + (- (x1 * y))) + o == 0_No + o & 0_No + o = o ) by A27, A16, A15, TARSKI:def 1, A25, Th43;
hence ex b being Surreal st
( b in comp (X,x,(y + z),(Z ++ {y})) & o == b )
by A23, SURREALO:10; :: thesis: verum
end;
hence (comp (X,x,z,Z)) ++ {(x * y)} <=_ comp (X,x,(y + z),(Z ++ {y})) by Th61; :: according to SURREALO:def 4 :: thesis: comp (X,x,(y + z),(Z ++ {y})) <=_ (comp (X,x,z,Z)) ++ {(x * y)}
for o being Surreal st o in comp (X,x,(y + z),(Z ++ {y})) holds
ex b being Surreal st
( b in (comp (X,x,z,Z)) ++ {(x * y)} & o == b )
proof
let o be Surreal; :: thesis: ( o in comp (X,x,(y + z),(Z ++ {y})) implies ex b being Surreal st
( b in (comp (X,x,z,Z)) ++ {(x * y)} & o == b ) )

assume o in comp (X,x,(y + z),(Z ++ {y})) ; :: thesis: ex b being Surreal st
( b in (comp (X,x,z,Z)) ++ {(x * y)} & o == b )

then consider x1, yz1 being Surreal such that
A28: ( o = ((x1 * (y + z)) + (x * yz1)) - (x1 * yz1) & x1 in X & yz1 in Z ++ {y} ) by Def15;
consider z1, y1 being Surreal such that
A29: ( z1 in Z & y1 in {y} & yz1 = z1 + y1 ) by A28, Def8;
A30: y1 = y by A29, TARSKI:def 1;
A31: ( R_ x <> {x} & {x} <> L_ x & R_ z <> {z} & {z} <> L_ z ) by SURREALO:2;
A32: ( x in {x} & y in {y} & z in {z} ) by TARSKI:def 1;
((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A14, A32, A31, A28, Lm7;
then A33: x1 * (y + z) == (x1 * y) + (x1 * z) by A2, A3;
((born x) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A14, A32, A31, Lm7, A29;
then A34: x * yz1 == (x * y) + (x * z1) by A2, A3, A29, A30;
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A14, A31, A28, Lm7, A29;
then A35: x1 * yz1 == (x1 * z1) + (x1 * y) by A2, A3, A29, A30;
A36: ((x1 * z) + (x * z1)) - (x1 * z1) in comp (X,x,z,Z) by A28, A29, Def15;
x * y in {(x * y)} by TARSKI:def 1;
then A37: (((x1 * z) + (x * z1)) + (- (x1 * z1))) + (x * y) in (comp (X,x,z,Z)) ++ {(x * y)} by A36, Def8;
(x1 * y) - (x1 * y) == 0_No by Th39;
then A38: ((x1 * y) + (- (x1 * y))) + ((((x1 * z) + (x * z1)) + (- (x1 * z1))) + (x * y)) == 0_No + ((((x1 * z) + (x * z1)) + (- (x1 * z1))) + (x * y)) by Th43;
(x1 * z) + ((x * y) + (x * z1)) = ((x1 * z) + (x * z1)) + (x * y) by Th37;
then A39: ((x1 * z) + ((x * y) + (x * z1))) + (- (x1 * z1)) = (x * y) + (((x1 * z) + (x * z1)) + (- (x1 * z1))) by Th37;
- (x1 * yz1) == - ((x1 * z1) + (x1 * y)) by A35, Th10;
then A40: - (x1 * yz1) == (- (x1 * z1)) + (- (x1 * y)) by Th40;
(x1 * (y + z)) + (x * yz1) == ((x1 * y) + (x1 * z)) + ((x * y) + (x * z1)) by A33, A34, Th43;
then A41: o == (((x1 * y) + (x1 * z)) + ((x * y) + (x * z1))) + ((- (x1 * z1)) + (- (x1 * y))) by A40, A28, Th43;
(((x1 * y) + (x1 * z)) + ((x * y) + (x * z1))) + ((- (x1 * z1)) + (- (x1 * y))) = ((x1 * y) + ((x1 * z) + ((x * y) + (x * z1)))) + ((- (x1 * z1)) + (- (x1 * y))) by Th37
.= (((x1 * y) + ((x1 * z) + ((x * y) + (x * z1)))) + (- (x1 * z1))) + (- (x1 * y)) by Th37
.= ((x1 * y) + (((x1 * z) + ((x * y) + (x * z1))) + (- (x1 * z1)))) + (- (x1 * y)) by Th37
.= ((x1 * y) + (- (x1 * y))) + ((((x1 * z) + (x * z1)) + (- (x1 * z1))) + (x * y)) by A39, Th37 ;
then o == 0_No + ((((x1 * z) + (x * z1)) + (- (x1 * z1))) + (x * y)) by A41, A38, SURREALO:4;
hence ex b being Surreal st
( b in (comp (X,x,z,Z)) ++ {(x * y)} & o == b )
by A37; :: thesis: verum
end;
hence comp (X,x,(y + z),(Z ++ {y})) <=_ (comp (X,x,z,Z)) ++ {(x * y)} by Th61; :: thesis: verum
end;
A42: for X, Y being surreal-membered set st ( X = L_ x or X = R_ x ) & ( Y = L_ y or Y = R_ y ) holds
(comp (X,x,y,Y)) ++ {(x * z)} <==> comp (X,x,(y + z),(Y ++ {z}))
proof
let X, Y be surreal-membered set ; :: thesis: ( ( X = L_ x or X = R_ x ) & ( Y = L_ y or Y = R_ y ) implies (comp (X,x,y,Y)) ++ {(x * z)} <==> comp (X,x,(y + z),(Y ++ {z})) )
assume A43: ( ( X = L_ x or X = R_ x ) & ( Y = L_ y or Y = R_ y ) ) ; :: thesis: (comp (X,x,y,Y)) ++ {(x * z)} <==> comp (X,x,(y + z),(Y ++ {z}))
for o being Surreal st o in (comp (X,x,y,Y)) ++ {(x * z)} holds
ex b being Surreal st
( b in comp (X,x,(y + z),(Y ++ {z})) & o == b )
proof
let o be Surreal; :: thesis: ( o in (comp (X,x,y,Y)) ++ {(x * z)} implies ex b being Surreal st
( b in comp (X,x,(y + z),(Y ++ {z})) & o == b ) )

assume o in (comp (X,x,y,Y)) ++ {(x * z)} ; :: thesis: ex b being Surreal st
( b in comp (X,x,(y + z),(Y ++ {z})) & o == b )

then consider xy1, xz1 being Surreal such that
A44: ( xy1 in comp (X,x,y,Y) & xz1 in {(x * z)} & o = xy1 + xz1 ) by Def8;
consider x1, y1 being Surreal such that
A45: ( xy1 = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) by A44, Def15;
A46: xz1 = x * z by A44, TARSKI:def 1;
A47: ((x1 * y) + (x1 * z)) + ((x * y1) + (x * z)) = (x1 * y) + ((x1 * z) + ((x * z) + (x * y1))) by Th37
.= (x1 * y) + (((x1 * z) + (x * z)) + (x * y1)) by Th37
.= ((x1 * y) + (x * y1)) + ((x1 * z) + (x * z)) by Th37 ;
A48: ( R_ x <> {x} & {x} <> L_ x & R_ y <> {y} & {y} <> L_ y ) by SURREALO:2;
A49: ( x in {x} & y in {y} & z in {z} ) by TARSKI:def 1;
((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A43, A45, A49, A48, Lm7;
then A50: x1 * (y + z) == (x1 * y) + (x1 * z) by A2, A3;
set yz1 = y1 + z;
((born x) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A43, A49, A48, Lm7, A45;
then A51: x * (y1 + z) == (x * y1) + (x * z) by A2, A3;
A52: ((born x1) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A43, A49, A48, Lm7, A45;
(x1 * z) - (x1 * z) == 0_No by Th39;
then A53: ( (x * z) + ((x1 * z) + (- (x1 * z))) == (x * z) + 0_No & (x * z) + 0_No = x * z ) by Th43;
((x * z) + (x1 * z)) + (- (x1 * z)) == x * z by A53, Th37;
then A54: (((x * z) + (x1 * z)) + (- (x1 * z))) + (- (x1 * y1)) == (x * z) + (- (x1 * y1)) by Th43;
A55: ((x1 * y) + (x * y1)) + ((x * z) + (- (x1 * y1))) = (x1 * y) + ((x * y1) + ((- (x1 * y1)) + (x * z))) by Th37
.= (x1 * y) + (((x * y1) + (- (x1 * y1))) + (x * z)) by Th37
.= ((x1 * y) + ((x * y1) + (- (x1 * y1)))) + (x * z) by Th37
.= (((x1 * y) + (x * y1)) + (- (x1 * y1))) + (x * z) by Th37 ;
A56: - ((x1 * y1) + (x1 * z)) = (- (x1 * y1)) + (- (x1 * z)) by Th40;
y1 + z in Y ++ {z} by A49, A45, Def8;
then A57: ((x1 * (y + z)) + (x * (y1 + z))) - (x1 * (y1 + z)) in comp (X,x,(y + z),(Y ++ {z})) by A45, Def15;
A58: - (x1 * (y1 + z)) == (- (x1 * z)) + (- (x1 * y1)) by A52, A2, A3, Th65, A56;
(x1 * (y + z)) + (x * (y1 + z)) == ((x1 * y) + (x * y1)) + ((x * z) + (x1 * z)) by A47, A50, A51, Th43;
then ((x1 * (y + z)) + (x * (y1 + z))) + (- (x1 * (y1 + z))) == (((x1 * y) + (x * y1)) + ((x * z) + (x1 * z))) + ((- (x1 * z)) + (- (x1 * y1))) by A58, Th43;
then ((x1 * (y + z)) + (x * (y1 + z))) + (- (x1 * (y1 + z))) == ((x1 * y) + (x * y1)) + (((x * z) + (x1 * z)) + ((- (x1 * z)) + (- (x1 * y1)))) by Th37;
then A59: ((x1 * (y + z)) + (x * (y1 + z))) + (- (x1 * (y1 + z))) == ((x1 * y) + (x * y1)) + ((((x * z) + (x1 * z)) + (- (x1 * z))) + (- (x1 * y1))) by Th37;
((x1 * y) + (x * y1)) + ((((x * z) + (x1 * z)) + (- (x1 * z))) + (- (x1 * y1))) == ((x1 * y) + (x * y1)) + ((x * z) + (- (x1 * y1))) by A54, Th43;
hence ex b being Surreal st
( b in comp (X,x,(y + z),(Y ++ {z})) & o == b )
by A57, A44, A46, A55, A45, A59, SURREALO:10; :: thesis: verum
end;
hence (comp (X,x,y,Y)) ++ {(x * z)} <=_ comp (X,x,(y + z),(Y ++ {z})) by Th61; :: according to SURREALO:def 4 :: thesis: comp (X,x,(y + z),(Y ++ {z})) <=_ (comp (X,x,y,Y)) ++ {(x * z)}
for o being Surreal st o in comp (X,x,(y + z),(Y ++ {z})) holds
ex b being Surreal st
( b in (comp (X,x,y,Y)) ++ {(x * z)} & o == b )
proof
let o be Surreal; :: thesis: ( o in comp (X,x,(y + z),(Y ++ {z})) implies ex b being Surreal st
( b in (comp (X,x,y,Y)) ++ {(x * z)} & o == b ) )

assume o in comp (X,x,(y + z),(Y ++ {z})) ; :: thesis: ex b being Surreal st
( b in (comp (X,x,y,Y)) ++ {(x * z)} & o == b )

then consider x1, yz1 being Surreal such that
A60: ( o = ((x1 * (y + z)) + (x * yz1)) - (x1 * yz1) & x1 in X & yz1 in Y ++ {z} ) by Def15;
consider y1, z1 being Surreal such that
A61: ( y1 in Y & z1 in {z} & yz1 = y1 + z1 ) by A60, Def8;
A62: z1 = z by A61, TARSKI:def 1;
A63: ((x1 * y) + (x1 * z)) + ((x * y1) + (x * z)) = (x1 * y) + ((x1 * z) + ((x * z) + (x * y1))) by Th37
.= (x1 * y) + (((x1 * z) + (x * z)) + (x * y1)) by Th37
.= ((x1 * y) + (x * y1)) + ((x1 * z) + (x * z)) by Th37 ;
A64: ( R_ x <> {x} & {x} <> L_ x & R_ y <> {y} & {y} <> L_ y ) by SURREALO:2;
A65: ( x in {x} & y in {y} & z in {z} ) by TARSKI:def 1;
((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A43, A65, A64, A60, Lm7;
then A66: x1 * (y + z) == (x1 * y) + (x1 * z) by A2, A3;
((born x) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A43, A65, A64, Lm7, A61;
then A67: x * yz1 == (x * y1) + (x * z) by A2, A3, A61, A62;
A68: ((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A43, A64, A60, Lm7, A61;
A69: (x1 * z) - (x1 * z) == 0_No by Th39;
A70: ((x1 * y) + (x * y1)) - (x1 * y1) in comp (X,x,y,Y) by A60, A61, Def15;
x * z in {(x * z)} by TARSKI:def 1;
then A71: (((x1 * y) + (x * y1)) + (- (x1 * y1))) + (x * z) in (comp (X,x,y,Y)) ++ {(x * z)} by A70, Def8;
A72: ((x1 * y) + (x * y1)) + ((x * z) + (- (x1 * y1))) = (x1 * y) + ((x * y1) + ((- (x1 * y1)) + (x * z))) by Th37
.= (x1 * y) + (((x * y1) + (- (x1 * y1))) + (x * z)) by Th37
.= ((x1 * y) + ((x * y1) + (- (x1 * y1)))) + (x * z) by Th37
.= (((x1 * y) + (x * y1)) + (- (x1 * y1))) + (x * z) by Th37 ;
A73: - ((x1 * y1) + (x1 * z)) = (- (x1 * y1)) + (- (x1 * z)) by Th40;
A74: - (x1 * yz1) == (- (x1 * z)) + (- (x1 * y1)) by A73, A68, A2, A3, A61, A62, Th65;
A75: (x1 * (y + z)) + (x * yz1) == ((x1 * y) + (x * y1)) + ((x * z) + (x1 * z)) by A66, A67, A63, Th43;
A76: o == (((x1 * y) + (x * y1)) + ((x * z) + (x1 * z))) + ((- (x1 * z)) + (- (x1 * y1))) by A60, Th43, A74, A75;
A77: (((x1 * y) + (x * y1)) + ((x * z) + (x1 * z))) + ((- (x1 * z)) + (- (x1 * y1))) = ((x1 * y) + (x * y1)) + (((x * z) + (x1 * z)) + ((- (x1 * y1)) + (- (x1 * z)))) by Th37
.= ((x1 * y) + (x * y1)) + ((((x * z) + (x1 * z)) + (- (x1 * y1))) + (- (x1 * z))) by Th37
.= ((x1 * y) + (x * y1)) + ((((x * z) + (- (x1 * y1))) + (x1 * z)) + (- (x1 * z))) by Th37
.= ((x1 * y) + (x * y1)) + (((x * z) + (- (x1 * y1))) + ((x1 * z) + (- (x1 * z)))) by Th37
.= ((((x1 * y) + (x * y1)) + (- (x1 * y1))) + (x * z)) + ((x1 * z) + (- (x1 * z))) by A72, Th37 ;
((((x1 * y) + (x * y1)) + (- (x1 * y1))) + (x * z)) + ((x1 * z) + (- (x1 * z))) == ((((x1 * y) + (x * y1)) + (- (x1 * y1))) + (x * z)) + 0_No by A69, Th43;
hence ex b being Surreal st
( b in (comp (X,x,y,Y)) ++ {(x * z)} & o == b )
by A76, SURREALO:10, A71, A77; :: thesis: verum
end;
hence comp (X,x,(y + z),(Y ++ {z})) <=_ (comp (X,x,y,Y)) ++ {(x * z)} by Th61; :: thesis: verum
end;
A78: comp ((L_ x),x,(y + z),((L_ y) ++ {z})) <==> (comp ((L_ x),x,y,(L_ y))) ++ {(x * z)} by A42;
comp ((L_ x),x,(y + z),({y} ++ (L_ z))) <==> (comp ((L_ x),x,z,(L_ z))) ++ {(x * y)} by A13;
then A79: comp ((L_ x),x,(y + z),(L_ (y + z))) <==> ((comp ((L_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(L_ z))) ++ {(x * y)}) by A78, SURREALO:31, A9;
A80: comp ((R_ x),x,(y + z),((R_ y) ++ {z})) <==> (comp ((R_ x),x,y,(R_ y))) ++ {(x * z)} by A42;
comp ((R_ x),x,(y + z),({y} ++ (R_ z))) <==> (comp ((R_ x),x,z,(R_ z))) ++ {(x * y)} by A13;
then A81: comp ((R_ x),x,(y + z),(R_ (y + z))) <==> ((comp ((R_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,z,(R_ z))) ++ {(x * y)}) by A80, SURREALO:31, A11;
(((comp ((L_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(L_ z))) ++ {(x * y)})) \/ (((comp ((R_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,z,(R_ z))) ++ {(x * y)})) = ((((comp ((L_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(L_ z))) ++ {(x * y)})) \/ ((comp ((R_ x),x,z,(R_ z))) ++ {(x * y)})) \/ ((comp ((R_ x),x,y,(R_ y))) ++ {(x * z)}) by XBOOLE_1:4
.= (((comp ((L_ x),x,y,(L_ y))) ++ {(x * z)}) \/ (((comp ((L_ x),x,z,(L_ z))) ++ {(x * y)}) \/ ((comp ((R_ x),x,z,(R_ z))) ++ {(x * y)}))) \/ ((comp ((R_ x),x,y,(R_ y))) ++ {(x * z)}) by XBOOLE_1:4
.= (((comp ((L_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,y,(R_ y))) ++ {(x * z)})) \/ (((comp ((L_ x),x,z,(L_ z))) ++ {(x * y)}) \/ ((comp ((R_ x),x,z,(R_ z))) ++ {(x * y)})) by XBOOLE_1:4
.= (((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))) ++ {(x * z)}) \/ (((comp ((L_ x),x,z,(L_ z))) ++ {(x * y)}) \/ ((comp ((R_ x),x,z,(R_ z))) ++ {(x * y)})) by Th33
.= ((x * y) + (x * z)) `1 by A8, Th33, A5, A4 ;
then A82: L_ (x * (y + z)) <==> L_ ((x * y) + (x * z)) by A81, A7, A79, SURREALO:31;
A83: comp ((L_ x),x,(y + z),((R_ y) ++ {z})) <==> (comp ((L_ x),x,y,(R_ y))) ++ {(x * z)} by A42;
comp ((L_ x),x,(y + z),({y} ++ (R_ z))) <==> (comp ((L_ x),x,z,(R_ z))) ++ {(x * y)} by A13;
then A84: comp ((L_ x),x,(y + z),(R_ (y + z))) <==> ((comp ((L_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)}) by A83, SURREALO:31, A12;
A85: comp ((R_ x),x,(y + z),((L_ y) ++ {z})) <==> (comp ((R_ x),x,y,(L_ y))) ++ {(x * z)} by A42;
comp ((R_ x),x,(y + z),({y} ++ (L_ z))) <==> (comp ((R_ x),x,z,(L_ z))) ++ {(x * y)} by A13;
then A86: comp ((R_ x),x,(y + z),(L_ (y + z))) <==> ((comp ((R_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)}) by A85, SURREALO:31, A10;
A87: R_ (x * (y + z)) <==> (((comp ((L_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)})) \/ (((comp ((R_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)})) by A7, A84, A86, SURREALO:31;
(((comp ((L_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)})) \/ (((comp ((R_ x),x,y,(L_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)})) = ((((comp ((L_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)})) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)})) \/ ((comp ((R_ x),x,y,(L_ y))) ++ {(x * z)}) by XBOOLE_1:4
.= (((comp ((L_ x),x,y,(R_ y))) ++ {(x * z)}) \/ (((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)}) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)}))) \/ ((comp ((R_ x),x,y,(L_ y))) ++ {(x * z)}) by XBOOLE_1:4
.= (((comp ((L_ x),x,y,(R_ y))) ++ {(x * z)}) \/ ((comp ((R_ x),x,y,(L_ y))) ++ {(x * z)})) \/ (((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)}) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)})) by XBOOLE_1:4
.= (((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y)))) ++ {(x * z)}) \/ (((comp ((L_ x),x,z,(R_ z))) ++ {(x * y)}) \/ ((comp ((R_ x),x,z,(L_ z))) ++ {(x * y)})) by Th33
.= ((x * y) + (x * z)) `2 by Th33, A8, A4, A5 ;
hence x * (y + z) == (x * y) + (x * z) by A87, A7, A8, A82, SURREALO:29; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
then S1[((born x) (+) (born y)) (+) (born z)] ;
hence x * (y + z) == (x * y) + (x * z) ; :: thesis: verum
end;

theorem Th68: :: SURREALR:68
for x, y being Surreal
for X1, X2, Y being set holds comp ((X1 \/ X2),x,y,Y) = (comp (X1,x,y,Y)) \/ (comp (X2,x,y,Y))
proof
let x, y be Surreal; :: thesis: for X1, X2, Y being set holds comp ((X1 \/ X2),x,y,Y) = (comp (X1,x,y,Y)) \/ (comp (X2,x,y,Y))
let X1, X2, Y be set ; :: thesis: comp ((X1 \/ X2),x,y,Y) = (comp (X1,x,y,Y)) \/ (comp (X2,x,y,Y))
comp ((X1 \/ X2),x,y,Y) = comp (Y,y,x,(X1 \/ X2)) by Th53
.= (comp (Y,y,x,X1)) \/ (comp (Y,y,x,X2)) by Th60
.= (comp (X1,x,y,Y)) \/ (comp (Y,y,x,X2)) by Th53 ;
hence comp ((X1 \/ X2),x,y,Y) = (comp (X1,x,y,Y)) \/ (comp (X2,x,y,Y)) by Th53; :: thesis: verum
end;

theorem :: SURREALR:69
for x, y, z being Surreal holds (x * y) * z == x * (y * z)
proof
let x, y, z be Surreal; :: thesis: (x * y) * z == x * (y * z)
defpred S1[ Ordinal] means for x, y, z being Surreal st ((born x) (+) (born y)) (+) (born z) c= $1 holds
(x * y) * z == x * (y * z);
A1: for D being Ordinal st ( for C being Ordinal st C in D holds
S1[C] ) holds
S1[D]
proof
let D be Ordinal; :: thesis: ( ( for C being Ordinal st C in D holds
S1[C] ) implies S1[D] )

assume A2: for C being Ordinal st C in D holds
S1[C]
; :: thesis: S1[D]
let x, y, z be Surreal; :: thesis: ( ((born x) (+) (born y)) (+) (born z) c= D implies (x * y) * z == x * (y * z) )
assume A3: ((born x) (+) (born y)) (+) (born z) c= D ; :: thesis: (x * y) * z == x * (y * z)
set xy = x * y;
set yz = y * z;
A4: x * y = [((comp ((L_ x),x,y,(L_ y))) \/ (comp ((R_ x),x,y,(R_ y)))),((comp ((L_ x),x,y,(R_ y))) \/ (comp ((R_ x),x,y,(L_ y))))] by Th50;
A5: y * z = [((comp ((L_ y),y,z,(L_ z))) \/ (comp ((R_ y),y,z,(R_ z)))),((comp ((L_ y),y,z,(R_ z))) \/ (comp ((R_ y),y,z,(L_ z))))] by Th50;
A6: x * (y * z) = [((comp ((L_ x),x,(y * z),(L_ (y * z)))) \/ (comp ((R_ x),x,(y * z),(R_ (y * z))))),((comp ((L_ x),x,(y * z),(R_ (y * z)))) \/ (comp ((R_ x),x,(y * z),(L_ (y * z)))))] by Th50;
A7: (x * y) * z = [((comp ((L_ (x * y)),(x * y),z,(L_ z))) \/ (comp ((R_ (x * y)),(x * y),z,(R_ z)))),((comp ((L_ (x * y)),(x * y),z,(R_ z))) \/ (comp ((R_ (x * y)),(x * y),z,(L_ z))))] by Th50;
A8: for X, Y, Z being surreal-membered set st ( X = L_ x or X = R_ x ) & ( Y = L_ y or Y = R_ y ) & ( Z = L_ z or Z = R_ z ) holds
comp (X,x,(y * z),(comp (Y,y,z,Z))) <==> comp ((comp (X,x,y,Y)),(x * y),z,Z)
proof
let X, Y, Z be surreal-membered set ; :: thesis: ( ( X = L_ x or X = R_ x ) & ( Y = L_ y or Y = R_ y ) & ( Z = L_ z or Z = R_ z ) implies comp (X,x,(y * z),(comp (Y,y,z,Z))) <==> comp ((comp (X,x,y,Y)),(x * y),z,Z) )
assume A9: ( ( X = L_ x or X = R_ x ) & ( Y = L_ y or Y = R_ y ) & ( Z = L_ z or Z = R_ z ) ) ; :: thesis: comp (X,x,(y * z),(comp (Y,y,z,Z))) <==> comp ((comp (X,x,y,Y)),(x * y),z,Z)
for o being Surreal st o in comp (X,x,(y * z),(comp (Y,y,z,Z))) holds
ex b being Surreal st
( b in comp ((comp (X,x,y,Y)),(x * y),z,Z) & o == b )
proof
let o be Surreal; :: thesis: ( o in comp (X,x,(y * z),(comp (Y,y,z,Z))) implies ex b being Surreal st
( b in comp ((comp (X,x,y,Y)),(x * y),z,Z) & o == b ) )

assume o in comp (X,x,(y * z),(comp (Y,y,z,Z))) ; :: thesis: ex b being Surreal st
( b in comp ((comp (X,x,y,Y)),(x * y),z,Z) & o == b )

then consider x1, yz1 being Surreal such that
A10: ( o = ((x1 * (y * z)) + (x * yz1)) - (x1 * yz1) & x1 in X & yz1 in comp (Y,y,z,Z) ) by Def15;
consider y1, z1 being Surreal such that
A11: ( yz1 = ((y1 * z) + (y * z1)) - (y1 * z1) & y1 in Y & z1 in Z ) by A10, Def15;
A12: x * ((y1 * z) + (y * z1)) == (x * (y1 * z)) + (x * (y * z1)) by Th67;
A13: (x * ((y1 * z) + (y * z1))) + (x * (- (y1 * z1))) == ((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))) by A12, Th43;
x * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == (x * ((y1 * z) + (y * z1))) + (x * (- (y1 * z1))) by Th67;
then A14: x * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == ((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))) by A13, SURREALO:4;
A15: x1 * ((y1 * z) + (y * z1)) == (x1 * (y1 * z)) + (x1 * (y * z1)) by Th67;
A16: (x1 * ((y1 * z) + (y * z1))) + (x1 * (- (y1 * z1))) == ((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))) by A15, Th43;
x1 * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == (x1 * ((y1 * z) + (y * z1))) + (x1 * (- (y1 * z1))) by Th67;
then x1 * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == ((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))) by A16, SURREALO:4;
then A17: - (x1 * (((y1 * z) + (y * z1)) + (- (y1 * z1)))) == - (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1)))) by Th10;
(x1 * (y * z)) + (x * (((y1 * z) + (y * z1)) + (- (y1 * z1)))) == (x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1)))) by A14, Th43;
then A18: o == ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))))) by A10, A11, A17, Th43;
A19: ( R_ x <> {x} & {x} <> L_ x & R_ y <> {y} & {y} <> L_ y & R_ z <> {z} & {z} <> L_ z ) by SURREALO:2;
A20: ( x in {x} & y in {y} & z in {z} ) by TARSKI:def 1;
then ((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A10, A9, A19, Lm7;
then A21: (x1 * y) * z == x1 * (y * z) by A2, A3;
((born x) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A11, A9, A19, A20, Lm7;
then A22: (x * y1) * z == x * (y1 * z) by A2, A3;
((born x) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A11, A9, A19, A20, Lm7;
then A23: (x * y) * z1 == x * (y * z1) by A2, A3;
((born x) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A11, A9, A19, A20, Lm7;
then A24: (x * y1) * z1 == x * (y1 * z1) by A2, A3;
((born x1) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A10, A11, A9, A19, A20, Lm7;
then A25: (x1 * y) * z1 == x1 * (y * z1) by A2, A3;
((born x1) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A10, A11, A9, A19, A20, Lm7;
then A26: (x1 * y1) * z == x1 * (y1 * z) by A2, A3;
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A10, A11, A9, A19, Lm7;
then A27: (x1 * y1) * z1 == x1 * (y1 * z1) by A2, A3;
A28: (x1 * (y * z)) + (x * (y1 * z)) == ((x1 * y) * z) + ((x * y1) * z) by A21, A22, Th43;
x * (- (y1 * z1)) = - (x * (y1 * z1)) by Th58;
then A29: x * (- (y1 * z1)) == - ((x * y1) * z1) by A24, Th10;
( (- (x1 * y1)) * z = - ((x1 * y1) * z) & - ((x1 * y1) * z) == - (x1 * (y1 * z)) ) by A26, Th58, Th10;
then ((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z))) == (((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z) by A28, Th43;
then (((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1)) == ((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1) by Th43, A23;
then A30: ((((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1))) + (x * (- (y1 * z1))) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((x * y1) * z1)) by Th43, A29;
x1 * (- (y1 * z1)) = - (x1 * (y1 * z1)) by Th58;
then x1 * (- (y1 * z1)) == - ((x1 * y1) * z1) by Th10, A27;
then x1 * (- (y1 * z1)) == (- (x1 * y1)) * z1 by Th58;
then (x1 * (y * z1)) + (x1 * (- (y1 * z1))) == ((x1 * y) * z1) + ((- (x1 * y1)) * z1) by Th43, A25;
then A31: - ((x1 * (y * z1)) + (x1 * (- (y1 * z1)))) == - (((x1 * y) * z1) + ((- (x1 * y1)) * z1)) by Th10;
A32: (((((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1))) + (x * (- (y1 * z1)))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1))))) == ((((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((x * y1) * z1))) + (- (((x1 * y) * z1) + ((- (x1 * y1)) * z1))) by A30, A31, Th43;
((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))) = (x1 * (y1 * z)) + ((x1 * (y * z1)) + (x1 * (- (y1 * z1)))) by Th37;
then A33: - (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1)))) = (- (x1 * (y1 * z))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1))))) by Th40;
(((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1) = ((x * y1) * z1) + (((x1 * y) * z1) + ((- (x1 * y1)) * z1)) by Th37;
then A34: - ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1)) = (- ((x * y1) * z1)) + (- (((x1 * y) * z1) + ((- (x1 * y1)) * z1))) by Th40;
A35: ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z))) = ((x1 * (y * z)) + ((x * (y1 * z)) + ((x * (y * z1)) + (x * (- (y1 * z1)))))) + (- (x1 * (y1 * z))) by Th37
.= (((x1 * (y * z)) + (x * (y1 * z))) + ((x * (y * z1)) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z))) by Th37
.= ((x1 * (y * z)) + (x * (y1 * z))) + (((x * (y * z1)) + (x * (- (y1 * z1)))) + (- (x1 * (y1 * z)))) by Th37
.= ((x1 * (y * z)) + (x * (y1 * z))) + (((- (x1 * (y1 * z))) + (x * (y * z1))) + (x * (- (y1 * z1)))) by Th37
.= (((x1 * (y * z)) + (x * (y1 * z))) + ((- (x1 * (y1 * z))) + (x * (y * z1)))) + (x * (- (y1 * z1))) by Th37
.= ((((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1))) + (x * (- (y1 * z1))) by Th37 ;
A36: ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + ((- (x1 * (y1 * z))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1)))))) = (((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z)))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1))))) by Th37;
((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))))) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1))) by A32, A35, A33, A34, A36, Th37;
then A37: o == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1))) by A18, SURREALO:4;
((x1 * y) + (x * y1)) * z == ((x1 * y) * z) + ((x * y1) * z) by Th67;
then A38: (((x1 * y) + (x * y1)) * z) + ((- (x1 * y1)) * z) == (((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z) by Th43;
(((x1 * y) + (x * y1)) + (- (x1 * y1))) * z == (((x1 * y) + (x * y1)) * z) + ((- (x1 * y1)) * z) by Th67;
then A39: (((x1 * y) + (x * y1)) + (- (x1 * y1))) * z == (((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z) by A38, SURREALO:4;
((x1 * y) + (x * y1)) * z1 == ((x1 * y) * z1) + ((x * y1) * z1) by Th67;
then A40: (((x1 * y) + (x * y1)) * z1) + ((- (x1 * y1)) * z1) == (((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1) by Th43;
(((x1 * y) + (x * y1)) + (- (x1 * y1))) * z1 == (((x1 * y) + (x * y1)) * z1) + ((- (x1 * y1)) * z1) by Th67;
then (((x1 * y) + (x * y1)) + (- (x1 * y1))) * z1 == (((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1) by A40, SURREALO:4;
then A41: - ((((x1 * y) + (x * y1)) + (- (x1 * y1))) * z1) == - ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1)) by Th10;
set xy1 = ((x1 * y) + (x * y1)) - (x1 * y1);
((((x1 * y) + (x * y1)) - (x1 * y1)) * z) + ((x * y) * z1) == ((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1) by A39, Th43;
then (((((x1 * y) + (x * y1)) - (x1 * y1)) * z) + ((x * y) * z1)) + (- ((((x1 * y) + (x * y1)) - (x1 * y1)) * z1)) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1))) by Th43, A41;
then A42: o == (((((x1 * y) + (x * y1)) - (x1 * y1)) * z) + ((x * y) * z1)) - ((((x1 * y) + (x * y1)) - (x1 * y1)) * z1) by A37, SURREALO:4;
((x1 * y) + (x * y1)) - (x1 * y1) in comp (X,x,y,Y) by Def15, A10, A11;
then (((((x1 * y) + (x * y1)) - (x1 * y1)) * z) + ((x * y) * z1)) - ((((x1 * y) + (x * y1)) - (x1 * y1)) * z1) in comp ((comp (X,x,y,Y)),(x * y),z,Z) by Def15, A11;
hence ex b being Surreal st
( b in comp ((comp (X,x,y,Y)),(x * y),z,Z) & o == b )
by A42; :: thesis: verum
end;
hence comp (X,x,(y * z),(comp (Y,y,z,Z))) <=_ comp ((comp (X,x,y,Y)),(x * y),z,Z) by Th61; :: according to SURREALO:def 4 :: thesis: comp ((comp (X,x,y,Y)),(x * y),z,Z) <=_ comp (X,x,(y * z),(comp (Y,y,z,Z)))
for o being Surreal st o in comp ((comp (X,x,y,Y)),(x * y),z,Z) holds
ex b being Surreal st
( b in comp (X,x,(y * z),(comp (Y,y,z,Z))) & o == b )
proof
let o be Surreal; :: thesis: ( o in comp ((comp (X,x,y,Y)),(x * y),z,Z) implies ex b being Surreal st
( b in comp (X,x,(y * z),(comp (Y,y,z,Z))) & o == b ) )

assume o in comp ((comp (X,x,y,Y)),(x * y),z,Z) ; :: thesis: ex b being Surreal st
( b in comp (X,x,(y * z),(comp (Y,y,z,Z))) & o == b )

then consider xy1, z1 being Surreal such that
A43: ( o = ((xy1 * z) + ((x * y) * z1)) - (xy1 * z1) & xy1 in comp (X,x,y,Y) & z1 in Z ) by Def15;
consider x1, y1 being Surreal such that
A44: ( xy1 = ((x1 * y) + (x * y1)) - (x1 * y1) & x1 in X & y1 in Y ) by A43, Def15;
set yz1 = ((y1 * z) + (y * z1)) - (y1 * z1);
A45: x * ((y1 * z) + (y * z1)) == (x * (y1 * z)) + (x * (y * z1)) by Th67;
A46: (x * ((y1 * z) + (y * z1))) + (x * (- (y1 * z1))) == ((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))) by A45, Th43;
x * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == (x * ((y1 * z) + (y * z1))) + (x * (- (y1 * z1))) by Th67;
then A47: x * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == ((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))) by A46, SURREALO:4;
A48: x1 * ((y1 * z) + (y * z1)) == (x1 * (y1 * z)) + (x1 * (y * z1)) by Th67;
A49: (x1 * ((y1 * z) + (y * z1))) + (x1 * (- (y1 * z1))) == ((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))) by A48, Th43;
x1 * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == (x1 * ((y1 * z) + (y * z1))) + (x1 * (- (y1 * z1))) by Th67;
then x1 * (((y1 * z) + (y * z1)) + (- (y1 * z1))) == ((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))) by A49, SURREALO:4;
then A50: - (x1 * (((y1 * z) + (y * z1)) + (- (y1 * z1)))) == - (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1)))) by Th10;
(x1 * (y * z)) + (x * (((y1 * z) + (y * z1)) + (- (y1 * z1)))) == (x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1)))) by A47, Th43;
then A51: ((x1 * (y * z)) + (x * (((y1 * z) + (y * z1)) - (y1 * z1)))) + (- (x1 * (((y1 * z) + (y * z1)) - (y1 * z1)))) == ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))))) by A50, Th43;
A52: ( R_ x <> {x} & {x} <> L_ x & R_ y <> {y} & {y} <> L_ y & R_ z <> {z} & {z} <> L_ z ) by SURREALO:2;
A53: ( x in {x} & y in {y} & z in {z} ) by TARSKI:def 1;
((born x1) (+) (born y)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A44, A9, A52, A53, Lm7;
then A54: (x1 * y) * z == x1 * (y * z) by A2, A3;
((born x) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A44, A9, A52, A53, Lm7;
then A55: (x * y1) * z == x * (y1 * z) by A2, A3;
((born x) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A43, A9, A52, A53, Lm7;
then A56: (x * y) * z1 == x * (y * z1) by A2, A3;
((born x) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A43, A44, A9, A52, A53, Lm7;
then A57: (x * y1) * z1 == x * (y1 * z1) by A2, A3;
((born x1) (+) (born y)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A43, A44, A9, A52, A53, Lm7;
then A58: (x1 * y) * z1 == x1 * (y * z1) by A2, A3;
((born x1) (+) (born y1)) (+) (born z) in ((born x) (+) (born y)) (+) (born z) by A44, A9, A52, A53, Lm7;
then A59: (x1 * y1) * z == x1 * (y1 * z) by A2, A3;
((born x1) (+) (born y1)) (+) (born z1) in ((born x) (+) (born y)) (+) (born z) by A43, A44, A9, A52, Lm7;
then A60: (x1 * y1) * z1 == x1 * (y1 * z1) by A2, A3;
A61: (x1 * (y * z)) + (x * (y1 * z)) == ((x1 * y) * z) + ((x * y1) * z) by A54, A55, Th43;
x * (- (y1 * z1)) = - (x * (y1 * z1)) by Th58;
then A62: x * (- (y1 * z1)) == - ((x * y1) * z1) by A57, Th10;
( (- (x1 * y1)) * z = - ((x1 * y1) * z) & - ((x1 * y1) * z) == - (x1 * (y1 * z)) ) by A59, Th58, Th10;
then ((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z))) == (((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z) by A61, Th43;
then (((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1)) == ((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1) by Th43, A56;
then A63: ((((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1))) + (x * (- (y1 * z1))) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((x * y1) * z1)) by Th43, A62;
x1 * (- (y1 * z1)) = - (x1 * (y1 * z1)) by Th58;
then x1 * (- (y1 * z1)) == - ((x1 * y1) * z1) by Th10, A60;
then x1 * (- (y1 * z1)) == (- (x1 * y1)) * z1 by Th58;
then (x1 * (y * z1)) + (x1 * (- (y1 * z1))) == ((x1 * y) * z1) + ((- (x1 * y1)) * z1) by Th43, A58;
then A64: - ((x1 * (y * z1)) + (x1 * (- (y1 * z1)))) == - (((x1 * y) * z1) + ((- (x1 * y1)) * z1)) by Th10;
((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))) = (x1 * (y1 * z)) + ((x1 * (y * z1)) + (x1 * (- (y1 * z1)))) by Th37;
then A65: - (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1)))) = (- (x1 * (y1 * z))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1))))) by Th40;
(((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1) = ((x * y1) * z1) + (((x1 * y) * z1) + ((- (x1 * y1)) * z1)) by Th37;
then A66: - ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1)) = (- ((x * y1) * z1)) + (- (((x1 * y) * z1) + ((- (x1 * y1)) * z1))) by Th40;
A67: ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z))) = ((x1 * (y * z)) + ((x * (y1 * z)) + ((x * (y * z1)) + (x * (- (y1 * z1)))))) + (- (x1 * (y1 * z))) by Th37
.= (((x1 * (y * z)) + (x * (y1 * z))) + ((x * (y * z1)) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z))) by Th37
.= ((x1 * (y * z)) + (x * (y1 * z))) + (((x * (y * z1)) + (x * (- (y1 * z1)))) + (- (x1 * (y1 * z)))) by Th37
.= ((x1 * (y * z)) + (x * (y1 * z))) + (((- (x1 * (y1 * z))) + (x * (y * z1))) + (x * (- (y1 * z1)))) by Th37
.= (((x1 * (y * z)) + (x * (y1 * z))) + ((- (x1 * (y1 * z))) + (x * (y * z1)))) + (x * (- (y1 * z1))) by Th37
.= ((((x1 * (y * z)) + (x * (y1 * z))) + (- (x1 * (y1 * z)))) + (x * (y * z1))) + (x * (- (y1 * z1))) by Th37 ;
A68: ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + ((- (x1 * (y1 * z))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1)))))) = (((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z)))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1))))) by Th37;
(((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (x1 * (y1 * z)))) + (- ((x1 * (y * z1)) + (x1 * (- (y1 * z1))))) == ((((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((x * y1) * z1))) + (- (((x1 * y) * z1) + ((- (x1 * y1)) * z1))) by A63, A64, Th43, A67;
then ((x1 * (y * z)) + (((x * (y1 * z)) + (x * (y * z1))) + (x * (- (y1 * z1))))) + (- (((x1 * (y1 * z)) + (x1 * (y * z1))) + (x1 * (- (y1 * z1))))) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1))) by A65, A66, A68, Th37;
then A69: ((x1 * (y * z)) + (x * (((y1 * z) + (y * z1)) - (y1 * z1)))) + (- (x1 * (((y1 * z) + (y * z1)) - (y1 * z1)))) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1))) by A51, SURREALO:4;
((x1 * y) + (x * y1)) * z == ((x1 * y) * z) + ((x * y1) * z) by Th67;
then A70: (((x1 * y) + (x * y1)) * z) + ((- (x1 * y1)) * z) == (((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z) by Th43;
(((x1 * y) + (x * y1)) + (- (x1 * y1))) * z == (((x1 * y) + (x * y1)) * z) + ((- (x1 * y1)) * z) by Th67;
then A71: (((x1 * y) + (x * y1)) + (- (x1 * y1))) * z == (((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z) by A70, SURREALO:4;
((x1 * y) + (x * y1)) * z1 == ((x1 * y) * z1) + ((x * y1) * z1) by Th67;
then A72: (((x1 * y) + (x * y1)) * z1) + ((- (x1 * y1)) * z1) == (((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1) by Th43;
(((x1 * y) + (x * y1)) + (- (x1 * y1))) * z1 == (((x1 * y) + (x * y1)) * z1) + ((- (x1 * y1)) * z1) by Th67;
then (((x1 * y) + (x * y1)) + (- (x1 * y1))) * z1 == (((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1) by A72, SURREALO:4;
then A73: - ((((x1 * y) + (x * y1)) + (- (x1 * y1))) * z1) == - ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1)) by Th10;
(xy1 * z) + ((x * y) * z1) == ((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1) by A44, A71, Th43;
then ((xy1 * z) + ((x * y) * z1)) + (- (xy1 * z1)) == (((((x1 * y) * z) + ((x * y1) * z)) + ((- (x1 * y1)) * z)) + ((x * y) * z1)) + (- ((((x1 * y) * z1) + ((x * y1) * z1)) + ((- (x1 * y1)) * z1))) by A44, Th43, A73;
then A74: o == ((x1 * (y * z)) + (x * (((y1 * z) + (y * z1)) - (y1 * z1)))) - (x1 * (((y1 * z) + (y * z1)) - (y1 * z1))) by A43, A69, SURREALO:4;
((y1 * z) + (y * z1)) - (y1 * z1) in comp (Y,y,z,Z) by Def15, A43, A44;
then ((x1 * (y * z)) + (x * (((y1 * z) + (y * z1)) - (y1 * z1)))) - (x1 * (((y1 * z) + (y * z1)) - (y1 * z1))) in comp (X,x,(y * z),(comp (Y,y,z,Z))) by Def15, A44;
hence ex b being Surreal st
( b in comp (X,x,(y * z),(comp (Y,y,z,Z))) & o == b )
by A74; :: thesis: verum
end;
hence comp ((comp (X,x,y,Y)),(x * y),z,Z) <=_ comp (X,x,(y * z),(comp (Y,y,z,Z))) by Th61; :: thesis: verum
end;
A75: comp ((L_ (x * y)),(x * y),z,(L_ z)) = (comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(L_ z))) by A4, Th68;
A76: comp ((R_ (x * y)),(x * y),z,(R_ z)) = (comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(R_ z))) by A4, Th68;
A77: comp ((L_ x),x,(y * z),(L_ (y * z))) = (comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z))))) by A5, Th60;
A78: comp ((R_ x),x,(y * z),(R_ (y * z))) = (comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z))))) by A5, Th60;
A79: comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(L_ z)) <==> comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z)))) by A8;
A80: comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(L_ z)) <==> comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z)))) by A8;
A81: comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(R_ z)) <==> comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z)))) by A8;
A82: comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(R_ z)) <==> comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z)))) by A8;
A83: comp ((L_ (x * y)),(x * y),z,(L_ z)) <==> (comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z))))) by A75, A79, A80, SURREALO:31;
A84: comp ((R_ (x * y)),(x * y),z,(R_ z)) <==> (comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z))))) by A76, A81, A82, SURREALO:31;
A85: ((comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z)))))) \/ ((comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z)))))) = (((comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z)))))) \/ (comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z)))))) \/ (comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z))))) by XBOOLE_1:4
.= (((comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z)))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z)))))) \/ (comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z))))) by XBOOLE_1:4
.= ((comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z)))))) \/ ((comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z)))))) by XBOOLE_1:4 ;
A86: L_ ((x * y) * z) <==> L_ (x * (y * z)) by A6, A85, A77, A78, A84, A7, A83, SURREALO:31;
A87: comp ((L_ x),x,(y * z),(R_ (y * z))) = (comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z))))) \/ (comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z))))) by A5, Th60;
A88: comp ((R_ x),x,(y * z),(L_ (y * z))) = (comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z))))) \/ (comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z))))) by A5, Th60;
A89: comp ((L_ x),x,(y * z),(comp ((L_ y),y,z,(R_ z)))) <==> comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z)) by A8;
A90: comp ((L_ x),x,(y * z),(comp ((R_ y),y,z,(L_ z)))) <==> comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z)) by A8;
A91: comp ((R_ x),x,(y * z),(comp ((L_ y),y,z,(L_ z)))) <==> comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z)) by A8;
A92: comp ((R_ x),x,(y * z),(comp ((R_ y),y,z,(R_ z)))) <==> comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z)) by A8;
A93: comp ((L_ x),x,(y * z),(R_ (y * z))) <==> (comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z))) by A87, A89, A90, SURREALO:31;
comp ((R_ x),x,(y * z),(L_ (y * z))) <==> (comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z))) by A88, A91, A92, SURREALO:31;
then A94: R_ (x * (y * z)) <==> ((comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z)))) \/ ((comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z)))) by A6, A93, SURREALO:31;
A95: ((comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z)))) \/ ((comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z)))) = (((comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z)))) \/ (comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z)))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z))) by XBOOLE_1:4
.= ((comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ ((comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z))))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z))) by XBOOLE_1:4
.= ((comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z)))) \/ ((comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z)))) by XBOOLE_1:4 ;
A96: comp ((L_ (x * y)),(x * y),z,(R_ z)) = (comp ((comp ((L_ x),x,y,(L_ y))),(x * y),z,(R_ z))) \/ (comp ((comp ((R_ x),x,y,(R_ y))),(x * y),z,(R_ z))) by A4, Th68;
comp ((R_ (x * y)),(x * y),z,(L_ z)) = (comp ((comp ((L_ x),x,y,(R_ y))),(x * y),z,(L_ z))) \/ (comp ((comp ((R_ x),x,y,(L_ y))),(x * y),z,(L_ z))) by A4, Th68;
hence (x * y) * z == x * (y * z) by A6, A7, A86, SURREALO:29, A94, A95, A96; :: thesis: verum
end;
for D being Ordinal holds S1[D] from ORDINAL1:sch 2(A1);
then S1[((born x) (+) (born y)) (+) (born z)] ;
hence (x * y) * z == x * (y * z) ; :: thesis: verum
end;

theorem Th70: :: SURREALR:70
for x, y, z being Surreal st 0_No < x & y < z holds
y * x < z * x
proof
let x, y, z be Surreal; :: thesis: ( 0_No < x & y < z implies y * x < z * x )
assume ( 0_No < x & y < z ) ; :: thesis: y * x < z * x
then (0_No * z) + (x * y) < (0_No * y) + (x * z) by Th51;
hence y * x < z * x ; :: thesis: verum
end;

theorem :: SURREALR:71
for x, y, z being Surreal st x < 0_No & y < z holds
z * x < y * x
proof
let x, y, z be Surreal; :: thesis: ( x < 0_No & y < z implies z * x < y * x )
assume ( x < 0_No & y < z ) ; :: thesis: z * x < y * x
then (x * z) + (0_No * y) < (x * y) + (0_No * z) by Th51;
hence z * x < y * x ; :: thesis: verum
end;

Lm9: for x, y being Surreal st 0_No < x & 0_No < y holds
0_No < x * y

proof
let x, y be Surreal; :: thesis: ( 0_No < x & 0_No < y implies 0_No < x * y )
assume ( 0_No < x & 0_No < y ) ; :: thesis: 0_No < x * y
then (0_No * y) + (x * 0_No) < (0_No * 0_No) + (x * y) by Th51;
hence 0_No < x * y ; :: thesis: verum
end;

theorem Th72: :: SURREALR:72
for x, y being Surreal holds
( ( ( x < 0_No & y < 0_No ) or ( 0_No < x & 0_No < y ) ) iff 0_No < x * y )
proof
let x, y be Surreal; :: thesis: ( ( ( x < 0_No & y < 0_No ) or ( 0_No < x & 0_No < y ) ) iff 0_No < x * y )
thus ( not 0_No < x * y or ( x < 0_No & y < 0_No ) or ( 0_No < x & 0_No < y ) ) :: thesis: ( ( ( x < 0_No & y < 0_No ) or ( 0_No < x & 0_No < y ) ) implies 0_No < x * y )
proof
assume that
A1: 0_No < x * y and
A2: ( ( not x < 0_No or not y < 0_No ) & ( not 0_No < x or not 0_No < y ) ) ; :: thesis: contradiction
A3: 0_No <= x * y by A1;
A4: ( 0_No < y or y < 0_No )
proof
assume ( not 0_No < y & not y < 0_No ) ; :: thesis: contradiction
then 0_No == y ;
then 0_No * x == x * y by Th51;
hence contradiction by A1; :: thesis: verum
end;
per cases ( x == 0_No or 0_No < x or x < 0_No ) ;
suppose x == 0_No ; :: thesis: contradiction
then 0_No * y == x * y by Th51;
hence contradiction by A1; :: thesis: verum
end;
suppose A5: 0_No < x ; :: thesis: contradiction
then - 0_No < - y by A2, A4, Th10;
then ( - 0_No = 0_No & 0_No < x * (- y) & x * (- y) = - (x * y) ) by A5, Lm9, Th58;
hence contradiction by A3, Th10; :: thesis: verum
end;
suppose A6: x < 0_No ; :: thesis: contradiction
then 0_No < - x by Th10, Th23;
then ( - 0_No = 0_No & 0_No < (- x) * y & (- x) * y = - (x * y) ) by A6, A2, A4, Lm9, Th58;
hence contradiction by Th10, A3; :: thesis: verum
end;
end;
end;
assume ( ( x < 0_No & y < 0_No ) or ( 0_No < x & 0_No < y ) ) ; :: thesis: 0_No < x * y
per cases then ( ( x < 0_No & y < 0_No ) or ( 0_No < x & 0_No < y ) ) ;
suppose ( x < 0_No & y < 0_No ) ; :: thesis: 0_No < x * y
then ( - 0_No < - x & - 0_No < - y & - 0_No = 0_No ) by Th10;
then ( 0_No < (- x) * (- y) & (- x) * (- y) = - ((- x) * y) ) by Lm9, Th58;
hence 0_No < x * y by Th58; :: thesis: verum
end;
suppose ( 0_No < x & 0_No < y ) ; :: thesis: 0_No < x * y
hence 0_No < x * y by Lm9; :: thesis: verum
end;
end;
end;

theorem :: SURREALR:73
for x, y, z being Surreal st 0_No < z & x * z < y * z holds
x < y
proof
let x, y, z be Surreal; :: thesis: ( 0_No < z & x * z < y * z implies x < y )
assume that
A1: 0_No < z and
A2: x * z < y * z ; :: thesis: x < y
assume y <= x ; :: thesis: contradiction
per cases then ( y == x or y < x ) ;
suppose y == x ; :: thesis: contradiction
then y * z == x * z by Th51;
hence contradiction by A2; :: thesis: verum
end;
suppose y < x ; :: thesis: contradiction
then y * z <= x * z by A1, Th70;
hence contradiction by A2; :: thesis: verum
end;
end;
end;

theorem Th74: :: SURREALR:74
for x, y being Surreal holds
( ( ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) ) iff x * y < 0_No )
proof
let x, y be Surreal; :: thesis: ( ( ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) ) iff x * y < 0_No )
set z = - y;
thus ( not x * y < 0_No or ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) ) :: thesis: ( ( ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) ) implies x * y < 0_No )
proof
assume x * y < 0_No ; :: thesis: ( ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) )
then ( 0_No < - (x * y) & - (x * y) = x * (- y) ) by Th23, Th10, Th58;
then ( ( x < 0_No & - y < 0_No ) or ( 0_No < x & 0_No < - y ) ) by Th72;
hence ( ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) ) by Th23, Th10; :: thesis: verum
end;
assume ( ( x < 0_No & 0_No < y ) or ( 0_No < x & y < 0_No ) ) ; :: thesis: x * y < 0_No
then ( ( x < 0_No & - y < 0_No ) or ( 0_No < x & 0_No < - y ) ) by Th23, Th10;
then ( 0_No < x * (- y) & x * (- y) = - (x * y) ) by Th72, Th58;
hence x * y < 0_No by Th23, Th10; :: thesis: verum
end;

theorem :: SURREALR:75
for x, y, z being Surreal st 0_No <= x & y <= z holds
y * x <= z * x
proof
let x, y, z be Surreal; :: thesis: ( 0_No <= x & y <= z implies y * x <= z * x )
assume A1: ( 0_No <= x & y <= z ) ; :: thesis: y * x <= z * x
per cases ( x <= 0_No or 0_No < x ) ;
suppose x <= 0_No ; :: thesis: y * x <= z * x
then x == 0_No by A1;
then ( y * x == y * 0_No & y * 0_No = 0_No & 0_No = z * 0_No & z * 0_No == z * x ) by Th51;
hence y * x <= z * x by SURREALO:4; :: thesis: verum
end;
suppose A2: 0_No < x ; :: thesis: y * x <= z * x
per cases ( z <= y or y < z ) ;
suppose z <= y ; :: thesis: y * x <= z * x
then z == y by A1;
then y * x == z * x by Th51;
hence y * x <= z * x ; :: thesis: verum
end;
suppose y < z ; :: thesis: y * x <= z * x
hence y * x <= z * x by A2, Th70; :: thesis: verum
end;
end;
end;
end;
end;

theorem :: SURREALR:76
for x, y being Surreal holds (x + y) * (x + y) == ((x * x) + (y * y)) + ((x * y) + (y * x))
proof
let x, y be Surreal; :: thesis: (x + y) * (x + y) == ((x * x) + (y * y)) + ((x * y) + (y * x))
( x * (x + y) == (x * x) + (x * y) & y * (x + y) == (y * x) + (y * y) ) by Th67;
then A1: ( (x + y) * (x + y) == (x * (x + y)) + (y * (x + y)) & (x * (x + y)) + (y * (x + y)) == ((x * x) + (x * y)) + ((y * x) + (y * y)) ) by Th67, Th43;
((x * x) + (x * y)) + ((y * x) + (y * y)) = (x * x) + ((x * y) + ((y * x) + (y * y))) by Th37
.= (x * x) + (((x * y) + (y * x)) + (y * y)) by Th37
.= ((x * x) + (y * y)) + ((x * y) + (y * x)) by Th37 ;
hence (x + y) * (x + y) == ((x * x) + (y * y)) + ((x * y) + (y * x)) by A1, SURREALO:4; :: thesis: verum
end;

theorem :: SURREALR:77
for x, y being Surreal holds
( x * y == 0_No iff ( x == 0_No or y == 0_No ) ) by Th72, Th74;