From the book 'the art of multiprocessor programming':
A protocol state is bivalent if the decision value is not yet fixed: there is some execution starting from that state in which the threads decide 0, and one in which they decide 1.
Lemma 5.1.1. Every 2-thread consensus protocol has a bivalent initial state. Proof: Consider the initial state where A has input 0 and B has input 1. If A finishes the protocol before B takes a step, then A must decide 0, because it must decide some thread’s input, and 0 is the only input it has seen (it cannot decide 1 because it has no way of distinguishing this state from the one in which B has input 0).
Symmetrically, if B finishes the protocol before A takes a step, then B must decide 1, because it must decide some thread’s input, and 1 is the only input it has seen. It follows that the initial state where A has input 0 and B has input 1 is bivalent.
I don't understand why it can only output the input it has seen already. And for A why "it cannot decide 1 because it has no way of distinguishing this state from the one in which B has input 0)".