set R = (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)));
set c = sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))));
set RS = RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #);
for x being object st x in (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))) holds
x in the carrier of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) by ORDINAL2:19;
then reconsider R = (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))) as finite Subset of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) by TARSKI:def 3;
now :: thesis: for x, y being object st x in R & y in R & x <> y & not [x,y] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) holds
[y,x] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #)
let x, y be object ; :: thesis: ( x in R & y in R & x <> y & not [x,y] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) implies [y,x] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) )
assume A1: ( x in R & y in R & x <> y ) ; :: thesis: ( [x,y] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) or [y,x] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) )
then reconsider A = x, B = y as Ordinal ;
( A c= B or B c= A ) ;
hence ( [x,y] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) or [y,x] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) ) by A1, WELLORD2:def 1; :: thesis: verum
end;
then consider e0 being FinSequence of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) such that
A2: e0 is R -desc_ordering by RELAT_2:def 6, ORDERS_5:78;
set e = FS2XFS e0;
A3: rng (FS2XFS e0) = rng e0 by Th15
.= R by A2, ORDERS_5:def 26 ;
reconsider e = FS2XFS e0 as Ordinal-Sequence ;
now :: thesis: for a, b being Ordinal st a in b & b in dom e holds
e . b in e . a
let a, b be Ordinal; :: thesis: ( a in b & b in dom e implies e . b in e . a )
assume A4: ( a in b & b in dom e ) ; :: thesis: e . b in e . a
then A5: a in dom e by ORDINAL1:10;
dom e in omega by CARD_1:61;
then ( a in omega & b in omega ) by A4, A5, ORDINAL1:10;
then reconsider n = a, m = b as Nat ;
card (Segm n) in card (Segm m) by A4;
then A6: n + 1 < m + 1 by NAT_1:41, XREAL_1:8;
A7: ( n + 1 in dom e0 & m + 1 in dom e0 ) by A4, A5, Th13;
then e0 /. (m + 1) < e0 /. (n + 1) by A2, A6, ORDERS_5:def 22;
then A8: ( [(e0 /. (m + 1)),(e0 /. (n + 1))] in the InternalRel of RelStr(# (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))))),(RelIncl (sup ((rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b)))))) #) & e0 /. (m + 1) <> e0 /. (n + 1) ) by ORDERS_2:def 5, ORDERS_2:def 6;
A9: ( e0 /. (m + 1) = e0 . (m + 1) & e0 /. (n + 1) = e0 . (n + 1) ) by A7, PARTFUN1:def 6;
( e0 . (m + 1) in rng e0 & e0 . (n + 1) in rng e0 ) by A7, FUNCT_1:3;
then ( e0 . (m + 1) in R & e0 . (n + 1) in R ) by A2, ORDERS_5:def 26;
then e0 . (m + 1) c= e0 . (n + 1) by A8, A9, WELLORD2:def 1;
then A10: e0 . (m + 1) c< e0 . (n + 1) by A8, A9, XBOOLE_0:def 8;
( n + 1 <= len e0 & m + 1 <= len e0 ) by A7, FINSEQ_3:25;
then ( (n + 1) - 1 < (len e0) - 0 & (m + 1) - 1 < (len e0) - 0 ) by XREAL_1:15;
then ( e . n = e0 . (n + 1) & e . m = e0 . (m + 1) ) by AFINSQ_1:def 8;
hence e . b in e . a by A10, ORDINAL1:11; :: thesis: verum
end;
then reconsider e = e as decreasing Ordinal-Sequence by ORDINAL5:def 1;
set E1 = omega -exponent (CantorNF a);
set E2 = omega -exponent (CantorNF b);
set L1 = omega -leading_coeff (CantorNF a);
set L2 = omega -leading_coeff (CantorNF b);
defpred S1[ object , object ] means ( ( e . $1 in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies $2 = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (e . $1)) ) & ( e . $1 in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies $2 = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (e . $1)) ) & ( e . $1 in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies $2 = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (e . $1))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (e . $1))) ) );
A11: now :: thesis: for x, y1, y2 being object st x in dom e & S1[x,y1] & S1[x,y2] holds
y1 = y2
let x, y1, y2 be object ; :: thesis: ( x in dom e & S1[x,y1] & S1[x,y2] implies b2 = b3 )
assume A12: ( x in dom e & S1[x,y1] & S1[x,y2] ) ; :: thesis: b2 = b3
then e . x in R by A3, FUNCT_1:3;
per cases then ( ( e . x in rng (omega -exponent (CantorNF a)) & not e . x in rng (omega -exponent (CantorNF b)) ) or ( e . x in rng (omega -exponent (CantorNF b)) & not e . x in rng (omega -exponent (CantorNF a)) ) or ( e . x in rng (omega -exponent (CantorNF a)) & e . x in rng (omega -exponent (CantorNF b)) ) ) by XBOOLE_0:def 3;
end;
end;
A13: for x being object st x in dom e holds
ex y being object st S1[x,y]
proof
let x be object ; :: thesis: ( x in dom e implies ex y being object st S1[x,y] )
assume x in dom e ; :: thesis: ex y being object st S1[x,y]
then e . x in R by A3, FUNCT_1:3;
per cases then ( ( e . x in rng (omega -exponent (CantorNF a)) & not e . x in rng (omega -exponent (CantorNF b)) ) or ( e . x in rng (omega -exponent (CantorNF b)) & not e . x in rng (omega -exponent (CantorNF a)) ) or ( e . x in rng (omega -exponent (CantorNF a)) & e . x in rng (omega -exponent (CantorNF b)) ) ) by XBOOLE_0:def 3;
end;
end;
consider f being Function such that
A17: dom f = dom e and
A18: for x being object st x in dom e holds
S1[x,f . x] from FUNCT_1:sch 2(A11, A13);
reconsider f = f as Sequence by A17, ORDINAL1:31;
now :: thesis: for y being object st y in rng f holds
y in NAT
let y be object ; :: thesis: ( y in rng f implies b1 in NAT )
assume y in rng f ; :: thesis: b1 in NAT
then consider x being object such that
A19: ( x in dom f & f . x = y ) by FUNCT_1:def 3;
e . x in rng e by A17, A19, FUNCT_1:3;
per cases then ( ( e . x in rng (omega -exponent (CantorNF a)) & not e . x in rng (omega -exponent (CantorNF b)) ) or ( e . x in rng (omega -exponent (CantorNF b)) & not e . x in rng (omega -exponent (CantorNF a)) ) or ( e . x in rng (omega -exponent (CantorNF a)) & e . x in rng (omega -exponent (CantorNF b)) ) ) by A3, XBOOLE_0:def 3;
end;
end;
then f is natural-valued by TARSKI:def 3, VALUED_0:def 6;
then reconsider f = f as natural-valued Ordinal-Sequence ;
now :: thesis: for x being object st x in dom f holds
not f . x is empty
let x be object ; :: thesis: ( x in dom f implies not f . b1 is empty )
assume A20: x in dom f ; :: thesis: not f . b1 is empty
A21: ( e . x in rng (omega -exponent (CantorNF a)) implies ((omega -exponent (CantorNF a)) ") . (e . x) in dom (omega -leading_coeff (CantorNF a)) )
proof end;
A22: ( e . x in rng (omega -exponent (CantorNF b)) implies ((omega -exponent (CantorNF b)) ") . (e . x) in dom (omega -leading_coeff (CantorNF b)) )
proof end;
e . x in rng e by A17, A20, FUNCT_1:3;
per cases then ( ( e . x in rng (omega -exponent (CantorNF a)) & not e . x in rng (omega -exponent (CantorNF b)) ) or ( e . x in rng (omega -exponent (CantorNF b)) & not e . x in rng (omega -exponent (CantorNF a)) ) or ( e . x in rng (omega -exponent (CantorNF a)) & e . x in rng (omega -exponent (CantorNF b)) ) ) by A3, XBOOLE_0:def 3;
end;
end;
then reconsider f = f as non-empty natural-valued Ordinal-Sequence by FUNCT_1:def 9;
consider C being Cantor-normal-form Ordinal-Sequence such that
A27: ( omega -exponent C = e & omega -leading_coeff C = f ) by A17, Th66;
take Sum^ C ; :: thesis: ex C being Cantor-normal-form Ordinal-Sequence st
( Sum^ C = Sum^ C & rng (omega -exponent C) = (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))) & ( for d being object st d in dom C holds
( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) ) ) )

take C ; :: thesis: ( Sum^ C = Sum^ C & rng (omega -exponent C) = (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))) & ( for d being object st d in dom C holds
( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) ) ) )

thus Sum^ C = Sum^ C ; :: thesis: ( rng (omega -exponent C) = (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))) & ( for d being object st d in dom C holds
( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) ) ) )

thus rng (omega -exponent C) = (rng (omega -exponent (CantorNF a))) \/ (rng (omega -exponent (CantorNF b))) by A3, A27; :: thesis: for d being object st d in dom C holds
( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) )

let d be object ; :: thesis: ( d in dom C implies ( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) ) )
assume A28: d in dom C ; :: thesis: ( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) \ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) )
hereby :: thesis: ( ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF b))) \ (rng (omega -exponent (CantorNF a))) implies omega -leading_coeff (C . d) = (omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))) ) & ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) ) end;
hereby :: thesis: ( omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) implies omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) ) end;
assume omega -exponent (C . d) in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) ; :: thesis: omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d))))
then A31: e . d in (rng (omega -exponent (CantorNF a))) /\ (rng (omega -exponent (CantorNF b))) by A27, A28, Def1;
d in dom (omega -exponent C) by A28, Def1;
then f . d = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (e . d))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (e . d))) by A18, A27, A31
.= ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (e . d))) by A27, A28, Def1
.= ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) by A27, A28, Def1 ;
hence omega -leading_coeff (C . d) = ((omega -leading_coeff (CantorNF a)) . (((omega -exponent (CantorNF a)) ") . (omega -exponent (C . d)))) + ((omega -leading_coeff (CantorNF b)) . (((omega -exponent (CantorNF b)) ") . (omega -exponent (C . d)))) by A27, A28, Def3; :: thesis: verum