defpred S1[ Nat] means for k, x, y being Nat st k >= 3 & x is_represented_by $1,k & y is_represented_by $1,k holds
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,$1,k))) '+' (SD2SDSub (DecSD (y,$1,k))));
let n be Nat; ( n >= 1 implies for k, x, y being Nat st k >= 3 & x is_represented_by n,k & y is_represented_by n,k holds
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,n,k))) '+' (SD2SDSub (DecSD (y,n,k)))) )
assume A1:
n >= 1
; for k, x, y being Nat st k >= 3 & x is_represented_by n,k & y is_represented_by n,k holds
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,n,k))) '+' (SD2SDSub (DecSD (y,n,k))))
A2:
for n being Nat st n >= 1 & S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( n >= 1 & S1[n] implies S1[n + 1] )
assume that A3:
n >= 1
and A4:
S1[
n]
;
S1[n + 1]
let k,
x,
y be
Nat;
( k >= 3 & x is_represented_by n + 1,k & y is_represented_by n + 1,k implies x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))) )
assume that A5:
k >= 3
and A6:
x is_represented_by n + 1,
k
and A7:
y is_represented_by n + 1,
k
;
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))
reconsider k =
k,
x =
x,
y =
y as
Element of
NAT by ORDINAL1:def 12;
A8:
(n + 1) + 1
in Seg ((n + 1) + 1)
by FINSEQ_1:3;
then A9:
DigA_SDSub (
(SD2SDSub (DecSD (x,(n + 1),k))),
((n + 1) + 1)) =
SD2SDSubDigitS (
(DecSD (x,(n + 1),k)),
((n + 1) + 1),
k)
by RADIX_3:def 8
.=
SD2SDSubDigit (
(DecSD (x,(n + 1),k)),
((n + 1) + 1),
k)
by A5, A8, RADIX_3:def 7, XXREAL_0:2
.=
SDSub_Add_Carry (
(DigA ((DecSD (x,(n + 1),k)),(((n + 1) + 1) -' 1))),
k)
by RADIX_3:def 6
.=
SDSub_Add_Carry (
(DigA ((DecSD (x,(n + 1),k)),(n + 1))),
k)
by NAT_D:34
;
A10:
DigA_SDSub (
(SD2SDSub (DecSD (y,(n + 1),k))),
((n + 1) + 1)) =
SD2SDSubDigitS (
(DecSD (y,(n + 1),k)),
((n + 1) + 1),
k)
by A8, RADIX_3:def 8
.=
SD2SDSubDigit (
(DecSD (y,(n + 1),k)),
((n + 1) + 1),
k)
by A5, A8, RADIX_3:def 7, XXREAL_0:2
.=
SDSub_Add_Carry (
(DigA ((DecSD (y,(n + 1),k)),(((n + 1) + 1) -' 1))),
k)
by RADIX_3:def 6
.=
SDSub_Add_Carry (
(DigA ((DecSD (y,(n + 1),k)),(n + 1))),
k)
by NAT_D:34
;
set yn =
y mod ((Radix k) |^ n);
set xn =
x mod ((Radix k) |^ n);
set zn =
(SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)));
deffunc H1(
Nat)
-> Element of
INT =
SDSub2INTDigit (
((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),$1,
k);
consider znpp being
FinSequence of
INT such that A11:
len znpp = n
and A12:
for
i being
Nat st
i in dom znpp holds
znpp . i = H1(
i)
from FINSEQ_2:sch 1();
A13:
len (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) = n + 1
by CARD_1:def 7;
A14:
dom znpp = Seg n
by A11, FINSEQ_1:def 3;
A15:
for
j being
Nat st 1
<= j &
j <= len (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) holds
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j
proof
let j be
Nat;
( 1 <= j & j <= len (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) implies (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j )
assume
( 1
<= j &
j <= len (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) )
;
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j
then A16:
j in Seg (n + 1)
by A13, FINSEQ_1:1;
then A17:
j in dom (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))))
by A13, FINSEQ_1:def 3;
now (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . jper cases
( j in Seg n or j = n + 1 )
by A16, FINSEQ_2:7;
suppose A18:
j in Seg n
;
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . jthen
j in dom znpp
by A11, FINSEQ_1:def 3;
then (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j =
znpp . j
by FINSEQ_1:def 7
.=
SDSub2INTDigit (
((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),
j,
k)
by A12, A14, A18
.=
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) /. j
by A16, RADIX_3:def 11
.=
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j
by A17, PARTFUN1:def 6
;
hence
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j
;
verum end; suppose A19:
j = n + 1
;
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . jA20:
j in dom (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))))
by A13, A16, FINSEQ_1:def 3;
(znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j =
SDSub2INTDigit (
((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),
(n + 1),
k)
by A11, A19, FINSEQ_1:42
.=
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) /. (n + 1)
by A16, A19, RADIX_3:def 11
.=
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j
by A19, A20, PARTFUN1:def 6
;
hence
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j
;
verum end; end; end;
hence
(SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))) . j = (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) . j
;
verum
end;
len (znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>) = n + 1
by A11, FINSEQ_2:16;
then A21:
SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))) = znpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))*>
by A13, A15, FINSEQ_1:14;
A22:
Radix k > 0
by POWER:34;
then
y mod ((Radix k) |^ n) < (Radix k) |^ n
by NAT_D:1, PREPOWER:6;
then A23:
y mod ((Radix k) |^ n) is_represented_by n,
k
;
set SDN1 =
(DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)));
set z =
(SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)));
deffunc H2(
Nat)
-> Element of
INT =
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),$1,
k);
consider zpp being
FinSequence of
INT such that A24:
len zpp = n
and A25:
for
i being
Nat st
i in dom zpp holds
zpp . i = H2(
i)
from FINSEQ_2:sch 1();
consider zp being
FinSequence of
INT such that A26:
len zp = n + 1
and A27:
for
i being
Nat st
i in dom zp holds
zp . i = H2(
i)
from FINSEQ_2:sch 1();
A28:
dom zpp = Seg n
by A24, FINSEQ_1:def 3;
for
j being
Nat st 1
<= j &
j <= len znpp holds
znpp . j = zpp . j
proof
let j be
Nat;
( 1 <= j & j <= len znpp implies znpp . j = zpp . j )
assume that A29:
1
<= j
and A30:
j <= len znpp
;
znpp . j = zpp . j
A31:
j <= n + 1
by A11, A30, NAT_1:12;
then A32:
j in Seg (n + 1)
by A29, FINSEQ_1:1;
j <= (n + 1) + 1
by A31, NAT_1:12;
then A33:
j in Seg ((n + 1) + 1)
by A29, FINSEQ_1:1;
A34:
j in Seg n
by A11, A29, A30, FINSEQ_1:1;
then zpp . j =
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
j,
k)
by A25, A28
.=
((Radix k) |^ (j -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),j))
by RADIX_3:def 10
.=
((Radix k) |^ (j -' 1)) * (DigA_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),j))
by RADIX_3:def 9
.=
((Radix k) |^ (j -' 1)) * (SDSubAddDigit ((SD2SDSub (DecSD (x,(n + 1),k))),(SD2SDSub (DecSD (y,(n + 1),k))),j,k))
by A33, Def2
.=
((Radix k) |^ (j -' 1)) * (SDSubAddDigit ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),(SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),j,k))
by A5, A34, Th8, XXREAL_0:2
.=
((Radix k) |^ (j -' 1)) * (DigA_SDSub (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),j))
by A32, Def2
.=
((Radix k) |^ (j -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),j))
by RADIX_3:def 9
.=
SDSub2INTDigit (
((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),
j,
k)
by RADIX_3:def 10
.=
znpp . j
by A12, A14, A34
;
hence
znpp . j = zpp . j
;
verum
end;
then A35:
zpp = znpp
by A24, A11, FINSEQ_1:14;
set RN1 =
(Radix k) |^ (n + 1);
set SDN11 =
(DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)));
set RN1SD11 =
((Radix k) |^ (n + 1)) * (SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k));
set RN =
(Radix k) |^ n;
reconsider RNDx11 =
((Radix k) |^ n) * (DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))),
RNDy11 =
((Radix k) |^ n) * (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1))),
RN1Cx11 =
((Radix k) |^ (n + 1)) * (SDSub_Add_Carry ((DigA ((DecSD (x,(n + 1),k)),(n + 1))),k)),
RN1Cy11 =
((Radix k) |^ (n + 1)) * (SDSub_Add_Carry ((DigA ((DecSD (y,(n + 1),k)),(n + 1))),k)),
RNCx1 =
((Radix k) |^ n) * (SDSub_Add_Carry ((DigA ((DecSD (x,(n + 1),k)),n)),k)),
RNCy1 =
((Radix k) |^ n) * (SDSub_Add_Carry ((DigA ((DecSD (y,(n + 1),k)),n)),k)),
RNCx =
((Radix k) |^ n) * (SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)),
RNCy =
((Radix k) |^ n) * (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k)) as
Integer ;
set SDN =
(DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n));
set RNSC =
((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k));
A36:
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
((n + 1) + 1),
k) =
((Radix k) |^ (((n + 1) + 1) -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1)))
by RADIX_3:def 10
.=
((Radix k) |^ (((n + 1) + 1) -' 1)) * (DigA_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1)))
by RADIX_3:def 9
.=
((Radix k) |^ (n + 1)) * (DigA_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1)))
by NAT_D:34
.=
((Radix k) |^ (n + 1)) * (SDSubAddDigit ((SD2SDSub (DecSD (x,(n + 1),k))),(SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1),k))
by A8, Def2
.=
((Radix k) |^ (n + 1)) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(((n + 1) + 1) -' 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(((n + 1) + 1) -' 1)))),k)))
by A5, A8, Def1, XXREAL_0:2
.=
((Radix k) |^ (n + 1)) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(((n + 1) + 1) -' 1)))),k)))
by NAT_D:34
.=
((Radix k) |^ (n + 1)) * (((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k))) + 0)
by NAT_D:34
.=
(((Radix k) |^ (n + 1)) * (SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k))) + (((Radix k) |^ (n + 1)) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k)))
;
((Radix k) |^ (n + 1)) * (SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k)) = ((Radix k) |^ (n + 1)) * (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))) - ((Radix k) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k))))
by RADIX_3:def 4;
then A37:
((Radix k) |^ (n + 1)) * (SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k)) =
((Radix k) |^ (n + 1)) * (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))) - ((Radix k) * 0))
by A5, A9, A10, Th2
.=
((Radix k) |^ (n + 1)) * ((SDSub_Add_Carry ((DigA ((DecSD (x,(n + 1),k)),(n + 1))),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,(n + 1),k)),(n + 1))),k)))
by A9, A10
;
A38:
((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))) = ((Radix k) |^ n) * (x div ((Radix k) |^ n))
by A6, RADIX_1:24;
x mod ((Radix k) |^ n) < (Radix k) |^ n
by A22, NAT_D:1, PREPOWER:6;
then
x mod ((Radix k) |^ n) is_represented_by n,
k
;
then (x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n)) =
SDSub2IntOut ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))))
by A4, A5, A23
.=
Sum (SDSub2INT ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))))
by RADIX_3:def 12
;
then A39:
((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + 0 = (Sum znpp) + (SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))
by A21, RVSUM_1:74;
set SDACy =
SDSub_Add_Carry (
(DigA ((DecSD (y,n,k)),n)),
k);
set SDACx =
SDSub_Add_Carry (
(DigA ((DecSD (x,n,k)),n)),
k);
A40:
SDSub_Add_Data (
((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))),
k) =
((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))) - ((Radix k) * (SDSub_Add_Carry (((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))),k)))
by RADIX_3:def 4
.=
((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))) - ((Radix k) * 0)
by A5, Th2
;
n <> 0
by A3;
then A41:
n in Seg n
by FINSEQ_1:3;
A42:
dom zp = Seg (n + 1)
by A26, FINSEQ_1:def 3;
A43:
for
j being
Nat st 1
<= j &
j <= len zp holds
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j
proof
let j be
Nat;
( 1 <= j & j <= len zp implies zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j )
assume
( 1
<= j &
j <= len zp )
;
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j
then A44:
j in Seg (n + 1)
by A26, FINSEQ_1:1;
now zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . jper cases
( j in Seg n or j = n + 1 )
by A44, FINSEQ_2:7;
suppose A45:
j in Seg n
;
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . jthen
j in dom zpp
by A24, FINSEQ_1:def 3;
then (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j =
zpp . j
by FINSEQ_1:def 7
.=
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
j,
k)
by A25, A28, A45
.=
zp . j
by A27, A42, A44
;
hence
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j
;
verum end; suppose A46:
j = n + 1
;
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . jthen (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j =
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
(n + 1),
k)
by A24, FINSEQ_1:42
.=
zp . j
by A27, A42, A44, A46
;
hence
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j
;
verum end; end; end;
hence
zp . j = (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) . j
;
verum
end;
A47:
len (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) = (n + 1) + 1
by CARD_1:def 7;
A48:
for
j being
Nat st 1
<= j &
j <= len (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) holds
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j
proof
let j be
Nat;
( 1 <= j & j <= len (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) implies (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j )
assume
( 1
<= j &
j <= len (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) )
;
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j
then A49:
j in Seg ((n + 1) + 1)
by A47, FINSEQ_1:1;
then A50:
j in dom (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))))
by A47, FINSEQ_1:def 3;
now (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . jper cases
( j in Seg (n + 1) or j = (n + 1) + 1 )
by A49, FINSEQ_2:7;
suppose A51:
j in Seg (n + 1)
;
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . jthen
j in dom zp
by A26, FINSEQ_1:def 3;
then (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j =
zp . j
by FINSEQ_1:def 7
.=
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
j,
k)
by A27, A42, A51
.=
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) /. j
by A49, RADIX_3:def 11
.=
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j
by A50, PARTFUN1:def 6
;
hence
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j
;
verum end; suppose A52:
j = (n + 1) + 1
;
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . jA53:
j in dom (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))))
by A47, A49, FINSEQ_1:def 3;
(zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j =
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
((n + 1) + 1),
k)
by A26, A52, FINSEQ_1:42
.=
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) /. ((n + 1) + 1)
by A49, A52, RADIX_3:def 11
.=
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j
by A52, A53, PARTFUN1:def 6
;
hence
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j
;
verum end; end; end;
hence
(SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) . j = (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) . j
;
verum
end;
len (zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>) = n + 1
by A24, FINSEQ_2:16;
then A54:
zp = zpp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))*>
by A26, A43, FINSEQ_1:14;
len (zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>) = (n + 1) + 1
by A26, FINSEQ_2:16;
then
SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))) = zp ^ <*(SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))*>
by A47, A48, FINSEQ_1:14;
then A55:
Sum (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) =
(Sum zp) + (SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))
by RVSUM_1:74
.=
((Sum znpp) + (SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1),k))) + (SDSub2INTDigit (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),((n + 1) + 1),k))
by A54, A35, RVSUM_1:74
;
A56:
n + 1
in Seg (n + 1)
by FINSEQ_1:3;
then A57:
n + 1
in Seg ((n + 1) + 1)
by FINSEQ_2:8;
SDSub2INTDigit (
((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),
(n + 1),
k) =
((Radix k) |^ ((n + 1) -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1)))
by RADIX_3:def 10
.=
((Radix k) |^ ((n + 1) -' 1)) * (DigA_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1)))
by RADIX_3:def 9
.=
((Radix k) |^ n) * (DigA_SDSub (((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k)))),(n + 1)))
by NAT_D:34
.=
((Radix k) |^ n) * (SDSubAddDigit ((SD2SDSub (DecSD (x,(n + 1),k))),(SD2SDSub (DecSD (y,(n + 1),k))),(n + 1),k))
by A57, Def2
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) -' 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) -' 1)))),k)))
by A5, A57, Def1, XXREAL_0:2
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) -' 1)))),k)))
by NAT_D:34
.=
((Radix k) |^ n) * (((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k))) + 0)
by NAT_D:34
.=
(((Radix k) |^ n) * (SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
.=
(((Radix k) |^ n) * (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))) - ((Radix k) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k))))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
by RADIX_3:def 4
.=
((((Radix k) |^ n) * ((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1))))) - ((((Radix k) |^ n) * (Radix k)) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k)))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
.=
((((Radix k) |^ n) * ((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1))))) - (((Radix k) |^ (n + 1)) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k)))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
by NEWTON:6
.=
((((Radix k) |^ n) * ((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1))))) + (- (((Radix k) |^ (n + 1)) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))),k))))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
;
then A58:
Sum (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) = ((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * ((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),(n + 1)))))) + ((- (SDSub2INTDigit (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1),k))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k))))) + (((Radix k) |^ (n + 1)) * (SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),((n + 1) + 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),((n + 1) + 1)))),k)))
by A55, A39, A36;
SDSub2INTDigit (
((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),
(n + 1),
k) =
((Radix k) |^ ((n + 1) -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1)))
by RADIX_3:def 10
.=
((Radix k) |^ ((n + 1) -' 1)) * (DigA_SDSub (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1)))
by RADIX_3:def 9
.=
((Radix k) |^ n) * (DigA_SDSub (((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))) '+' (SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k)))),(n + 1)))
by NAT_D:34
.=
((Radix k) |^ n) * (SDSubAddDigit ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),(SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),(n + 1),k))
by A56, Def2
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),((n + 1) -' 1))) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),((n + 1) -' 1)))),k)))
by A56, A5, Def1, XXREAL_0:2
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),((n + 1) -' 1)))),k)))
by NAT_D:34
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),(n + 1))) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),n))),k)))
by NAT_D:34
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),(n + 1)))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),n))),k)))
by A3, A5, A6, Th5
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD ((x mod ((Radix k) |^ n)),n,k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),n))),k)))
by A3, A5, A7, Th5
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD ((y mod ((Radix k) |^ n)),n,k))),n))),k)))
by A41, A5, RADIX_3:20, XXREAL_0:2
.=
((Radix k) |^ n) * ((SDSub_Add_Data (((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
by A41, A5, RADIX_3:20, XXREAL_0:2
.=
(((Radix k) |^ n) * (SDSub_Add_Data (((SDSub_Add_Carry ((DigA ((DecSD (x,n,k)),n)),k)) + (SDSub_Add_Carry ((DigA ((DecSD (y,n,k)),n)),k))),k))) + (((Radix k) |^ n) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,(n + 1),k))),n)) + (DigA_SDSub ((SD2SDSub (DecSD (y,(n + 1),k))),n))),k)))
;
then A59:
Sum (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) =
(((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + RNDx11) + RNDy11) + (- (RNCx + RNCy))) + (RN1Cx11 + RN1Cy11)
by A40, A58, A37
.=
(((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1)))) - RN1Cx11) + RNCx1)) + RNDy11) + (- (RNCx + RNCy))) + (RN1Cx11 + RN1Cy11)
by A5, Th7, XXREAL_0:2
.=
((((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))))) + RNCx1) + RNDy11) + RN1Cy11) - (RNCx + RNCy)
.=
((((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))))) + RNCx1) + (((((Radix k) |^ n) * (DigA ((DecSD (y,(n + 1),k)),(n + 1)))) - RN1Cy11) + RNCy1)) + RN1Cy11) - (RNCx + RNCy)
by A5, Th7, XXREAL_0:2
.=
((((((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))))) + RNCx1) + (((Radix k) |^ n) * (DigA ((DecSD (y,(n + 1),k)),(n + 1))))) + (- RN1Cy11)) + RNCy1) + RN1Cy11) + (- (RNCx + RNCy))
.=
((((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))))) + RNCx1) + (((Radix k) |^ n) * (DigA ((DecSD (y,(n + 1),k)),(n + 1))))) + RNCy1) + (- (RNCx1 + RNCy))
by A41, Lm2
.=
((((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))))) + RNCx1) + (((Radix k) |^ n) * (DigA ((DecSD (y,(n + 1),k)),(n + 1))))) + RNCy1) + (- (RNCx1 + RNCy1))
by A41, Lm2
.=
((((x mod ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))) + (((Radix k) |^ n) * (DigA ((DecSD (x,(n + 1),k)),(n + 1))))) + 0) + (((Radix k) |^ n) * (DigA ((DecSD (y,(n + 1),k)),(n + 1))))
;
A60:
y = ((y div ((Radix k) |^ n)) * ((Radix k) |^ n)) + (y mod ((Radix k) |^ n))
by A22, NAT_D:2, PREPOWER:6;
x = ((x div ((Radix k) |^ n)) * ((Radix k) |^ n)) + (x mod ((Radix k) |^ n))
by A22, NAT_D:2, PREPOWER:6;
then
Sum (SDSub2INT ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))) = ((y mod ((Radix k) |^ n)) + x) + (((Radix k) |^ n) * (y div ((Radix k) |^ n)))
by A7, A59, A38, RADIX_1:24;
hence
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,(n + 1),k))) '+' (SD2SDSub (DecSD (y,(n + 1),k))))
by A60, RADIX_3:def 12;
verum
end;
A61:
S1[1]
proof
let k,
x,
y be
Nat;
( k >= 3 & x is_represented_by 1,k & y is_represented_by 1,k implies x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))) )
assume that A62:
k >= 3
and A63:
x is_represented_by 1,
k
and A64:
y is_represented_by 1,
k
;
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))
reconsider k =
k,
x =
x,
y =
y as
Element of
NAT by ORDINAL1:def 12;
set X =
SD2SDSub (DecSD (x,1,k));
set Y =
SD2SDSub (DecSD (y,1,k));
reconsider CRY1 =
SDSub_Add_Carry (
((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),
k) as
Integer ;
reconsider DIG1 =
DigA_SDSub (
((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1) as
Element of
INT by INT_1:def 2;
reconsider RSDCX =
(Radix k) * (SDSub_Add_Carry (x,k)),
RSDCY =
(Radix k) * (SDSub_Add_Carry (y,k)) as
Integer ;
reconsider RCRY1 =
(Radix k) * (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) as
Integer ;
A65:
1
in Seg (1 + 1)
by FINSEQ_1:1;
then A66:
(SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))) /. 1 =
SDSub2INTDigit (
((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1,
k)
by RADIX_3:def 11
.=
((Radix k) |^ (1 -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1))
by RADIX_3:def 10
.=
((Radix k) |^ 0) * (DigB_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1))
by XREAL_1:232
.=
1
* (DigB_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1))
by NEWTON:4
.=
DigA_SDSub (
((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1)
by RADIX_3:def 9
;
A67:
len (SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))) = 1
+ 1
by CARD_1:def 7;
then
1
in dom (SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))))
by A65, FINSEQ_1:def 3;
then A68:
(SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))) . 1
= DIG1
by A66, PARTFUN1:def 6;
2
- 1
= 1
;
then A69:
2
-' 1
= 1
by XREAL_0:def 2;
DigA_SDSub (
((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),1) =
SDSubAddDigit (
(SD2SDSub (DecSD (x,1,k))),
(SD2SDSub (DecSD (y,1,k))),1,
k)
by A65, Def2
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),(1 -' 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),(1 -' 1)))),k))
by A62, A65, Def1, XXREAL_0:2
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),0)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),(1 -' 1)))),k))
by XREAL_1:232
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),0)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),0))),k))
by XREAL_1:232
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) + (SDSub_Add_Carry ((0 + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),0))),k))
by RADIX_3:def 5
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) + (SDSub_Add_Carry ((0 + 0),k))
by RADIX_3:def 5
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))),k)) + 0
by RADIX_3:16
.=
((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),1)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))) - ((Radix k) * CRY1)
by RADIX_3:def 4
;
then A70:
DIG1 =
((x - RSDCX) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),1))) - RCRY1
by A62, A63, Th6, XXREAL_0:2
.=
((x - RSDCX) + (y - RSDCY)) - RCRY1
by A62, A64, Th6, XXREAL_0:2
.=
(((x + y) - RSDCX) - RSDCY) - RCRY1
;
reconsider DIG2 =
(Radix k) * (DigA_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),2)) as
Element of
INT by INT_1:def 2;
A71:
2
in Seg (1 + 1)
by FINSEQ_1:1;
then A72:
(SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))) /. 2 =
SDSub2INTDigit (
((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),2,
k)
by RADIX_3:def 11
.=
((Radix k) |^ (2 -' 1)) * (DigB_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),2))
by RADIX_3:def 10
.=
(Radix k) * (DigB_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),2))
by A69
.=
(Radix k) * (DigA_SDSub (((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),2))
by RADIX_3:def 9
;
2
in dom (SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))))
by A71, A67, FINSEQ_1:def 3;
then
(SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))) . 2
= DIG2
by A72, PARTFUN1:def 6;
then
SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))) = <*DIG1,DIG2*>
by A67, A68, FINSEQ_1:44;
then A73:
Sum (SDSub2INT ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))) = DIG1 + DIG2
by RVSUM_1:77;
DigA_SDSub (
((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k)))),2) =
SDSubAddDigit (
(SD2SDSub (DecSD (x,1,k))),
(SD2SDSub (DecSD (y,1,k))),2,
k)
by A71, Def2
.=
(SDSub_Add_Data (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),2)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),2))),k)) + (SDSub_Add_Carry (((DigA_SDSub ((SD2SDSub (DecSD (x,1,k))),(2 -' 1))) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),(2 -' 1)))),k))
by A62, A71, Def1, XXREAL_0:2
.=
(SDSub_Add_Data (((SDSub_Add_Carry (x,k)) + (DigA_SDSub ((SD2SDSub (DecSD (y,1,k))),2))),k)) + CRY1
by A62, A63, A69, Th4, XXREAL_0:2
.=
(SDSub_Add_Data (((SDSub_Add_Carry (x,k)) + (SDSub_Add_Carry (y,k))),k)) + CRY1
by A62, A64, Th4, XXREAL_0:2
.=
(((SDSub_Add_Carry (x,k)) + (SDSub_Add_Carry (y,k))) - ((Radix k) * (SDSub_Add_Carry (((SDSub_Add_Carry (x,k)) + (SDSub_Add_Carry (y,k))),k)))) + CRY1
by RADIX_3:def 4
.=
(((SDSub_Add_Carry (x,k)) + (SDSub_Add_Carry (y,k))) - ((Radix k) * 0)) + CRY1
by A62, Th2
.=
(((SDSub_Add_Carry (x,k)) + (SDSub_Add_Carry (y,k))) - 0) + CRY1
;
hence
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,1,k))) '+' (SD2SDSub (DecSD (y,1,k))))
by A73, A70, RADIX_3:def 12;
verum
end;
for n being Nat st n >= 1 holds
S1[n]
from NAT_1:sch 8(A61, A2);
hence
for k, x, y being Nat st k >= 3 & x is_represented_by n,k & y is_represented_by n,k holds
x + y = SDSub2IntOut ((SD2SDSub (DecSD (x,n,k))) '+' (SD2SDSub (DecSD (y,n,k))))
by A1; verum