The first Hadamard transform prepares a uniform superposition in the first register while the second stays zero. The Boolean quantum oracle, now with an -bit output register and bitwise addition, therefore gives
This state is normalized because distinct labels are orthogonal, even when their oracle outputs coincide. Addition in the oracle is bitwise exclusive-or, making the oracle reversible; replacing the first register by would not define a unitary gate for a two-to-one function.
For the later recovery steps we use the intended nonzero hidden-period promise . Then two-to-one behavior and force each fibre to be exactly . The printed allowance does not explicitly exclude zero. If zero were allowed without a nonzero-period promise, the displayed identity would hold trivially for every function and would not specify Simon's problem. That distinction is addressed again in the query count.
The promise is Simon's problem. If , then implies , so is an injective function. If , then each value has exactly the two preimages and ; thus is two-to-one and is constant on the two-element cosets of .
Regard bit strings as the elementary abelian group under bitwise exclusive or. The promise says
Thus is constant exactly on the cosets of and distinct between them. Determining the hidden subgroup determines its nonzero element , so this is Simon's problem as an instance of the hidden subgroup problem.