deffunc H1( Nat) -> Element of BOOLEAN = ((x /. $1) 'xor' (y /. $1)) 'xor' ((carry (x,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;
reconsider z = z as Tuple of n, BOOLEAN by A1, CARD_1:def 7;
take z ; :: thesis: for i being Nat st i in Seg n holds
z /. i = ((x /. i) 'xor' (y /. i)) 'xor' ((carry (x,y)) /. i)

let i be Nat; :: thesis: ( i in Seg n implies z /. i = ((x /. i) 'xor' (y /. i)) 'xor' ((carry (x,y)) /. i) )
assume A4: i in Seg n ; :: thesis: z /. i = ((x /. i) 'xor' (y /. i)) 'xor' ((carry (x,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' (y /. i)) 'xor' ((carry (x,y)) /. i) by A2, A3, A4 ;
:: thesis: verum