let n be non zero Nat; for z1, z2 being Tuple of n, BOOLEAN
for d1, d2 being Element of BOOLEAN holds (z1 ^ <*d1*>) + (z2 ^ <*d2*>) = (z1 + z2) ^ <*((d1 'xor' d2) 'xor' (add_ovfl (z1,z2)))*>
let z1, z2 be Tuple of n, BOOLEAN ; for d1, d2 being Element of BOOLEAN holds (z1 ^ <*d1*>) + (z2 ^ <*d2*>) = (z1 + z2) ^ <*((d1 'xor' d2) 'xor' (add_ovfl (z1,z2)))*>
let d1, d2 be Element of BOOLEAN ; (z1 ^ <*d1*>) + (z2 ^ <*d2*>) = (z1 + z2) ^ <*((d1 'xor' d2) 'xor' (add_ovfl (z1,z2)))*>
for i being Nat st i in Seg (n + 1) holds
((z1 + z2) ^ <*((d1 'xor' d2) 'xor' (add_ovfl (z1,z2)))*>) /. i = (((z1 ^ <*d1*>) /. i) 'xor' ((z2 ^ <*d2*>) /. i)) 'xor' ((carry ((z1 ^ <*d1*>),(z2 ^ <*d2*>))) /. i)
hence
(z1 ^ <*d1*>) + (z2 ^ <*d2*>) = (z1 + z2) ^ <*((d1 'xor' d2) 'xor' (add_ovfl (z1,z2)))*>
by Def5; verum