let m, k be Nat; :: thesis: for r being Tuple of m + 2,k -SD st k >= 2 holds
(SDDec (M0 r)) + (SDDec (Mmask r)) = (SDDec r) + (SDDec (DecSD (0,(m + 2),k)))

let r be Tuple of m + 2,k -SD ; :: thesis: ( k >= 2 implies (SDDec (M0 r)) + (SDDec (Mmask r)) = (SDDec r) + (SDDec (DecSD (0,(m + 2),k))) )
A1: m + 2 >= 1 by NAT_1:12;
A2: for i being Nat holds
( not i in Seg (m + 2) or ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) )
proof
let i be Nat; :: thesis: ( not i in Seg (m + 2) or ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) )
assume A3: i in Seg (m + 2) ; :: thesis: ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) )
now :: thesis: ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) )
per cases ( i < m or i >= m ) ;
suppose A4: i < m ; :: thesis: ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) )
A5: DigA ((M0 r),i) = M0Digit (r,i) by A3, Def2
.= 0 by A3, A4, Def1 ;
DigA ((Mmask r),i) = MmaskDigit (r,i) by A3, Def9
.= r . i by A3, A4, Def8
.= DigA (r,i) by A3, RADIX_1:def 3 ;
hence ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) ) by A5; :: thesis: verum
end;
suppose A6: i >= m ; :: thesis: ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) )
A7: DigA ((Mmask r),i) = MmaskDigit (r,i) by A3, Def9
.= 0 by A3, A6, Def8 ;
DigA ((M0 r),i) = M0Digit (r,i) by A3, Def2
.= r . i by A3, A6, Def1
.= DigA (r,i) by A3, RADIX_1:def 3 ;
hence ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) ) by A7; :: thesis: verum
end;
end;
end;
hence ( ( DigA ((M0 r),i) = DigA (r,i) & DigA ((Mmask r),i) = 0 ) or ( DigA ((Mmask r),i) = DigA (r,i) & DigA ((M0 r),i) = 0 ) ) ; :: thesis: verum
end;
assume k >= 2 ; :: thesis: (SDDec (M0 r)) + (SDDec (Mmask r)) = (SDDec r) + (SDDec (DecSD (0,(m + 2),k)))
hence (SDDec (M0 r)) + (SDDec (Mmask r)) = (SDDec r) + (SDDec (DecSD (0,(m + 2),k))) by A1, A2, RADIX_5:15; :: thesis: verum