let z1, z2 be Tuple of n,BOOLEAN ; :: thesis: ( ( for i being Nat st i in Seg n holds
z1 /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry x,(Neg2 y)) /. i) ) & ( for i being Nat st i in Seg n holds
z2 /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry x,(Neg2 y)) /. i) ) implies z1 = z2 )

assume that
A5: for i being Nat st i in Seg n holds
z1 /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry x,(Neg2 y)) /. i) and
A6: for i being Nat st i in Seg n holds
z2 /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry x,(Neg2 y)) /. i) ; :: thesis: z1 = z2
A7: ( len z1 = n & len z2 = n ) by FINSEQ_1:def 18;
then X: dom z1 = Seg n by FINSEQ_1:def 3;
now
let j be Nat; :: thesis: ( j in dom z1 implies z1 . j = z2 . j )
assume A8: j in dom z1 ; :: thesis: z1 . j = z2 . j
( Seg n = Seg (len z1) & Seg n = Seg (len z2) ) by FINSEQ_1:def 18;
then A9: ( j in dom z1 & j in dom z2 ) by A8, X, FINSEQ_1:def 3;
thus z1 . j = z1 /. j by A8, PARTFUN1:def 8
.= ((x /. j) 'xor' ((Neg2 y) /. j)) 'xor' ((carry x,(Neg2 y)) /. j) by A5, A8, X
.= z2 /. j by A6, A8, X
.= z2 . j by A9, PARTFUN1:def 8 ; :: thesis: verum
end;
hence z1 = z2 by A7, FINSEQ_2:10; :: thesis: verum