The definition of the circuit is if the input is n bits, then the output is n+1 bits long.

But in the template both inputs and outputs are 16 bits, plus the s[n] bit is not constant ‘0’ as described in the circuit definition, while c[0] is.

Shouldn’t the output be 17 bits long, as necessary for it to compute the sum properly?

We need to ignore one of the bits?

Thank you

Full-Adder(i) has inputs a_i,b_i,c_i and outputs:

s_i=a_i ~xor~ b_i ~xor~ c_i, where c_{i+1} is the carry bit that corresponds to the inputs.

Hence s_n=0 and c_n=0 simply because they are not an output of a full adder.

Correctness follows from the fact that each full adder is correct.

Why is Cn a zero?

There may be a carry and the output sum may have another digit (one more than the outputs), am I wrong?