Question:Given 2 arrays of size $n$, $A = \langle a_1,a_2,\dots,a_n \rangle$ and $B = \langle b_1,b_2,\dots,b_n\rangle$, where $A$ and $B$ store the binary value of an integer. Find $A + B$ and stores the result in array $C$ of size $[n+1]$, $C = \langle c_1,c_2,\dots,c_{n+1}\rangle$.Pseudocode:ADD-BINARY(A,B)C = new integer[A.length + 1]carry = 0for i = A.length to i = 1    C[i] = (A[i] + B[i] + carry) % 2    carry = (A[i] + B[i] + carry) / 2C[1] = carryreturn cAfter writing the pseudo-code, I'm trying to find the loop invariant. One of the statement I can think of is At the start of each iteration in the for loop, C[A.length...i] consists of the sum of binary A[A.length...i] and B[A.length...i].But I check the initialization stage and found out that it is invalid because at the beginning of the for loop C[A.length] does not have the sum yet(it just got initialized). So I'm puzzled whether I'm approaching it the right way. 
Loop invariant for adding 2 arrays storing binary value of integer
loop invariants