deffunc H1( Nat) -> Element of BOOLEAN = ((x /. $1) 'xor' ((Neg2 y) /. $1)) 'xor' ((carry (x,(Neg2 y))) /. $1);
consider z being FinSequence of BOOLEAN such that
A1:
len z = n
and
A2:
for j being Nat st j in dom z holds
z . j = H1(j)
from FINSEQ_2:sch 1();
A3:
dom z = Seg n
by A1, FINSEQ_1:def 3;
z is Element of n -tuples_on BOOLEAN
by A1, FINSEQ_2:92;
then reconsider z = z as Tuple of n, BOOLEAN ;
take
z
; for i being Nat st i in Seg n holds
z /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry (x,(Neg2 y))) /. i)
let i be Nat; ( i in Seg n implies z /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry (x,(Neg2 y))) /. i) )
assume A4:
i in Seg n
; z /. i = ((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry (x,(Neg2 y))) /. i)
then
i in dom z
by A1, FINSEQ_1:def 3;
hence z /. i =
z . i
by PARTFUN1:def 6
.=
((x /. i) 'xor' ((Neg2 y) /. i)) 'xor' ((carry (x,(Neg2 y))) /. i)
by A2, A3, A4
;
verum