reserve k,m,n for Nat,
  i1,i2,i3 for Integer,
  e for set;
reserve i,k,m,n,p,x,y for Nat;
reserve a for Tuple of n,(k-SD);

theorem
  for n st n >= 1 holds for k,x,y st k >= 2 & x is_represented_by n,k &
y is_represented_by n,k holds x + y = (SDDec(DecSD(x,n,k) '+' DecSD(y,n,k))) +
  (Radix(k) |^ n)* SD_Add_Carry(DigA(DecSD(x,n,k),n)+DigA(DecSD(y,n,k),n))
proof
  defpred P[Nat] means for k,x,y be Nat st k >= 2 & x is_represented_by $1,k &
y is_represented_by $1,k holds x + y = (SDDec(DecSD(x,$1,k) '+' DecSD(y,$1,k)))
+(Radix(k) |^ $1)* SD_Add_Carry(DigA(DecSD(x,$1,k),$1)+DigA(DecSD(y,$1,k),$1));
  let n;
  assume
A1: n >= 1;
A2: for n be Nat st n >= 1 & P[n] holds P[n+1]
  proof
    let n be Nat;
    assume that
A3: n >= 1 and
A4: P[n];
A5: n in Seg n by A3,FINSEQ_1:3;
    let k,x,y be Nat;
A6: n+1 in Seg (n+1) by FINSEQ_1:3;
    set z = DecSD(x,(n+1),k) '+' DecSD(y,(n+1),k);
    set yn = y mod (Radix(k) |^ n);
    set xn = x mod (Radix(k) |^ n);
    assume that
A7: k >= 2 and
A8: x is_represented_by (n+1),k and
A9: y is_represented_by (n+1),k;
    set zn = DecSD(xn,n,k) '+' DecSD(yn,n,k);
A10: len DigitSD(zn) = n by CARD_1:def 7;
A11: len DigitSD(z) = n+1 by CARD_1:def 7;
A12: for i be Nat st 1 <= i & i <= len DigitSD(z) holds (DigitSD(z)).i = (
    (DigitSD(zn))^<*SubDigit(z,n+1,k)*>).i
    proof
      let i be Nat;
      assume that
A13:  1 <= i and
A14:  i <= len DigitSD(z);
A15:  i -'1 = i - 1 by A13,XREAL_1:233;
A16:  i <= n+1 by A14,CARD_1:def 7;
      then
A17:  i in Seg (n+1) by A13,FINSEQ_1:1;
      then
A18:  i in dom DigitSD(z) by A11,FINSEQ_1:def 3;
      per cases by A17,FINSEQ_2:7;
      suppose
A19:    i in Seg n;
        then
A20:    i in dom DigitSD(zn) by A10,FINSEQ_1:def 3;
        then
A21:    ((DigitSD(zn))^<*SubDigit(z,n+1,k)*>).i = DigitSD(zn).i by
FINSEQ_1:def 7
          .= (DigitSD(zn))/.i by A20,PARTFUN1:def 6
          .= SubDigit(zn,i,k) by A19,Def6
          .= (Radix(k) |^ (i -'1)) *Add(DecSD(xn,n,k),DecSD(yn,n,k),i,k) by A19
,Def14
          .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
DigA(DecSD(yn,n,k),i),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),i -'1) + DigA(DecSD(
        yn,n,k),i -'1))) by A7,A19,Def13;
A22:    DigitSD(z).i = (DigitSD(z))/.i by A18,PARTFUN1:def 6
          .= SubDigit(z,i,k) by A17,Def6
          .= (Radix(k) |^ (i -'1)) *Add(DecSD(x,(n+1),k),DecSD(y,(n+1),k),i,
        k) by A17,Def14
          .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(x,(n+1),k),i) +
DigA(DecSD(y,(n+1),k),i),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),i -'1) + DigA(
        DecSD(y,(n+1),k),i -'1))) by A7,A17,Def13;
        now
          per cases by A13,XXREAL_0:1;
          suppose
A23:        i = 1;
            then
A24:        ((DigitSD(zn))^<*SubDigit(z,n+1,k)*>).i = ( Radix(k) |^ (i -'
1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) + DigA(DecSD(yn,n,k),i),k) +
SD_Add_Carry(DigA(DecSD(xn,n,k),i -'1) + DigA(DecSD(yn,n,k),0))) by A21,
XREAL_1:232
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
DigA(DecSD(yn,n,k),i),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),0) + DigA(DecSD(yn,n
            ,k),0))) by A23,XREAL_1:232
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
DigA(DecSD(yn,n,k),i),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),0) + 0)) by Def3
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
            DigA(DecSD(yn,n,k),i),k)+0) by Def3,Th17;
            DigitSD(z).i = (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD
(x,(n+1),k),i) + DigA(DecSD(y,(n+1),k),i),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),
            k),i -'1) + DigA(DecSD(y,(n+1),k),0))) by A22,A23,XREAL_1:232
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(x,(n+1),k),i
) + DigA(DecSD(y,(n+1),k),i),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),0) + DigA(
            DecSD(y,(n+1),k),0))) by A23,XREAL_1:232
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(x,(n+1),k),i
) + DigA(DecSD(y,(n+1),k),i),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),0) + 0))
            by Def3
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(x,(n+1),k),i
            ) + DigA(DecSD(y,(n+1),k),i),k)+0) by Def3,Th17
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
            DigA(DecSD(y,(n+1),k),i),k)) by A19,Lm3
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
            DigA(DecSD(yn,n,k),i),k)) by A19,Lm3;
            hence thesis by A24;
          end;
          suppose
A25:        i > 1;
A26:        i - 1 <= n by A16,XREAL_1:20;
            i -'1 >= 1 by A25,NAT_D:49;
            then
A27:        i -'1 in Seg n by A15,A26,FINSEQ_1:1;
            DigitSD(z).i = (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD
(xn,n,k),i) + DigA(DecSD(y,(n+1),k),i),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),
            i -'1) + DigA(DecSD(y,(n+1),k),i -'1))) by A19,A22,Lm3
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
DigA(DecSD(yn,n,k),i),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),i -'1) + DigA(
            DecSD(y,(n+1),k),i -'1))) by A19,Lm3
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
DigA(DecSD(yn,n,k),i),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),i -'1) + DigA(DecSD(
            y,(n+1),k),i -'1))) by A27,Lm3
              .= (Radix(k) |^ (i -'1)) *(SD_Add_Data(DigA(DecSD(xn,n,k),i) +
DigA(DecSD(yn,n,k),i),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),i -'1) + DigA(DecSD(
            yn,n,k),i -'1))) by A27,Lm3;
            hence thesis by A21;
          end;
        end;
        hence thesis;
      end;
      suppose
A28:    i = n+1;
        then ((DigitSD(zn))^<*SubDigit(z,n+1,k)*>).i = ((DigitSD(zn))^<*
        SubDigit(z,n+1,k)*>).((len (DigitSD(zn)))+1) by CARD_1:def 7
          .= SubDigit(z,n+1,k) by FINSEQ_1:42
          .= (DigitSD(z))/.(n+1) by A6,Def6
          .= DigitSD(z).(n+1) by A18,A28,PARTFUN1:def 6;
        hence thesis by A28;
      end;
    end;
A29: SubDigit(z,n+1,k) = (Radix(k) |^ n)*DigB(z,(n+1)) by NAT_D:34;
A30: Radix(k) > 0 by POWER:34;
    then
A31: x = (x div (Radix(k) |^ n))*(Radix(k) |^ n) + (x mod (Radix(k) |^ n))
    by NAT_D:2,PREPOWER:6;
    set y1 = y div (Radix(k) |^ n);
    set x1 = x div (Radix(k) |^ n);
A32: len <*SubDigit(z,n+1,k)*> = 1 by FINSEQ_1:39;
A33: DigA(DecSD(y,(n+1),k),n+1) = y1 by A9,Th23;
    yn < Radix(k) |^ n by A30,NAT_D:1,PREPOWER:6;
    then
A34: yn is_represented_by n,k;
    xn < Radix(k) |^ n by A30,NAT_D:1,PREPOWER:6;
    then
A35: xn is_represented_by n,k;
    len (DigitSD(zn)^<*SubDigit(z,n+1,k)*>) = len DigitSD(zn) + len <*
    SubDigit(z,n+1,k)*> by FINSEQ_1:22
      .= n+1 by A32,CARD_1:def 7;
    then len DigitSD(z) = len (DigitSD(zn)^<*SubDigit(z,n+1,k)*>) by
CARD_1:def 7;
    then DigitSD(z) = DigitSD(zn)^<*SubDigit(z,n+1,k)*> by A12,FINSEQ_1:14;
    then SDDec(z) = (Radix(k) |^ n)*DigB(z,(n+1)) + Sum DigitSD(zn) by A29,
RVSUM_1:74
      .= Add(DecSD(x,(n+1),k),DecSD(y,(n+1),k),(n+1),k)*(Radix(k) |^ n) +
    Sum DigitSD(zn) by A6,Def14
      .= (SD_Add_Data(DigA(DecSD(x,(n+1),k),(n+1)) + DigA(DecSD(y,(n+1),k),(
n+1)),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),(n+1)-'1) + DigA(DecSD(y,(n+1),k)
    ,(n+1)-'1)))*(Radix(k) |^ n) + Sum DigitSD(zn) by A6,A7,Def13
      .= (SD_Add_Data(DigA(DecSD(x,(n+1),k),(n+1)) + DigA(DecSD(y,(n+1),k),(
n+1)),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),(n+1)-'1) + DigA(DecSD(y,(n+1),k)
    ,n)))*(Radix(k) |^ n) + Sum DigitSD(zn) by NAT_D:34
      .= (SD_Add_Data(DigA(DecSD(x,(n+1),k),(n+1)) + DigA(DecSD(y,(n+1),k),(
n+1)),k) + SD_Add_Carry(DigA(DecSD(x,(n+1),k),n) + DigA(DecSD(y,(n+1),k),n)))*(
    Radix(k) |^ n) + Sum DigitSD(zn) by NAT_D:34
      .= (SD_Add_Data(DigA(DecSD(x,(n+1),k),(n+1)) + DigA(DecSD(y,(n+1),k),(
n+1)),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),n) + DigA(DecSD(y,(n+1),k),n)))*(
    Radix(k) |^ n) + Sum DigitSD(zn) by A5,Lm3
      .= (SD_Add_Data(DigA(DecSD(x,(n+1),k),(n+1)) + DigA(DecSD(y,(n+1),k),(
n+1)),k) + SD_Add_Carry(DigA(DecSD(xn,n,k),n) + DigA(DecSD(yn,n,k),n)))*(Radix(
    k) |^ n) + Sum DigitSD(zn) by A5,Lm3
      .= (SD_Add_Data(x1+y1,k)+ SD_Add_Carry(DigA(DecSD(xn,n,k),n) + DigA(
    DecSD(yn,n,k),n)))*(Radix(k) |^ n) + Sum DigitSD(zn) by A8,A33,Th23
      .= SD_Add_Data(x1+y1,k)*(Radix(k) |^ n) + (SD_Add_Carry(DigA(DecSD(xn,
n,k),n)+DigA(DecSD(yn,n,k),n)) *(Radix(k) |^ n)+(SDDec(DecSD(xn,n,k)'+'DecSD(yn
    ,n,k))))
      .= SD_Add_Data(x1+y1,k)*(Radix(k) |^ n) + (xn + yn) by A4,A7,A35,A34
      .= SD_Add_Data(x1+y1,k)*(Radix(k) |^ n) + xn + yn;
    then SDDec(z) + SD_Add_Carry(x1+y1)*(Radix(k) |^ (n+1)) = SD_Add_Data(x1+
    y1,k)*(Radix(k) |^ n) + SD_Add_Carry(x1+y1)*(Radix(k) |^ (n+1))+ xn + yn
      .= SD_Add_Data(x1+y1,k)*(Radix(k) |^ n) + SD_Add_Carry(x1+y1)*((Radix(
    k) |^ n)*Radix(k)) + xn + yn by NEWTON:6
      .= (x1*(Radix(k) |^ n) + xn) + (y1*(Radix(k) |^ n) + yn)
      .= x + y by A30,A31,NAT_D:2,PREPOWER:6;
    hence thesis by A8,A33,Th23;
  end;
A36: P[1]
  proof
    let k,x,y be Nat;
    assume k >= 2 & x is_represented_by 1,k & y is_represented_by 1,k;
    then
A37: SDDec(DecSD(x,1,k)'+'DecSD(y,1,k)) = SD_Add_Data(x + y,k) &
SD_Add_Carry( DigA(DecSD(x,1,k),1)+DigA(DecSD(y,1,k),1)) = SD_Add_Carry(x+y)
by Th22,Th24;
    thus thesis by A37;
  end;
  for n be Nat st n >= 1 holds P[n] from NAT_1:sch 8(A36,A2);
  hence thesis by A1;
end;
