let n be non empty Nat; :: thesis: for x, y being Tuple of n,BOOLEAN st x = 0* n & y = 0* n holds
x + y = 0* n

let x, y be Tuple of n,BOOLEAN ; :: thesis: ( x = 0* n & y = 0* n implies x + y = 0* n )
assume A1: ( x = 0* n & y = 0* n ) ; :: thesis: x + y = 0* n
for k being Nat st k in Seg n holds
(x + y) . k = (0* n) . k
proof
let k be Nat; :: thesis: ( k in Seg n implies (x + y) . k = (0* n) . k )
assume A2: k in Seg n ; :: thesis: (x + y) . k = (0* n) . k
reconsider k = k as Nat ;
A3: (0* n) . k = FALSE by A2, FUNCOP_1:13;
( len x = n & len y = n & len (carry x,y) = n & len (x + y) = n ) by FINSEQ_1:def 18;
then A4: ( 1 <= k & k <= len x & k <= len (carry x,y) & k <= len (x + y) ) by A2, FINSEQ_1:3;
then A5: y /. k = FALSE by A1, A3, FINSEQ_4:24;
A6: (carry x,y) /. k = (carry x,y) . k by A4, FINSEQ_4:24
.= FALSE by A1, A3, Th5 ;
(x + y) . k = (x + y) /. k by A4, FINSEQ_4:24
.= FALSE 'xor' FALSE by A1, A2, A5, A6, BINARITH:def 8
.= FALSE ;
hence (x + y) . k = (0* n) . k by A2, FUNCOP_1:13; :: thesis: verum
end;
hence x + y = 0* n by A1, FINSEQ_2:139; :: thesis: verum