Confused why outputs of a priority encoder could be X instead of 0 or 1

So this is the truth table given for the Priority Encoder: and this is its logic diagram:
I am extremely confused with the part where the outputs x and y are labeled as X (where D0 D1 D2 D3 are all zero). First of all, how could an output be a "don't care" term? What that would mean is that when D0 D1 D2 D3 are all zero, x and y are either 1 or 0. But that does not make sense at all. How could an output have an indefinite value when we have definite inputs?

As you can see from the diagram, x = D2 + D3 and y = D3 + D1D2'. So if you put zeros to all inputs it is clear that x and y should be 0. Then why is it shown as X in the truth table?

• I think they mean that if V is false, nothing is sopposed to care about the vales of x and y. Ie. the inputs of whatever that the outputs connect to need to have "don't care" in their truth tables. Oct 23, 2018 at 4:16
• it is not undefined ... it is don't care ..... the truth table came before the circuit .... the designer of the truth table decided that those values are irrelevant Oct 24, 2018 at 6:31