let z1, z2 be Tuple of n, BOOLEAN ; ( ( 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
A6:
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
A7:
for i being Nat st i in Seg n holds
z2 /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry x,(Neg2 y)) /. i)
; z1 = z2
A8:
len z1 = n
by FINSEQ_1:def 18;
A9:
len z2 = n
by FINSEQ_1:def 18;
A10:
dom z1 = Seg n
by A8, FINSEQ_1:def 3;
A11:
now let j be
Nat;
( j in dom z1 implies z1 . j = z2 . j )assume A12:
j in dom z1
;
z1 . j = z2 . jA13:
Seg n = Seg (len z2)
by FINSEQ_1:def 18;
A14:
j in dom z2
by A10, A12, A13, FINSEQ_1:def 3;
thus z1 . j =
z1 /. j
by A12, PARTFUN1:def 8
.=
((x /. j) 'xor' ((Neg2 y) /. j)) 'xor' ((carry x,(Neg2 y)) /. j)
by A6, A10, A12
.=
z2 /. j
by A7, A10, A12
.=
z2 . j
by A14, PARTFUN1:def 8
;
verum end;
thus
z1 = z2
by A8, A9, A11, FINSEQ_2:10; verum