I'm taking a Theory of Computation class and this solution is tripping me up. If I understand mapping reductions correctly, then if B mapping-reduces to A, then if x is in B then the mapping function F(x) is in A. And if x is not in B then F(x) is not in A. The function F seems to run a recognizer for 0^n1^n on input x, if it accepts then it outputs 0011 which is in B and also the regular language A = L(0*1*). Yet if the recognizer Pb rejects x, x is not in B so F(x) should not be in A, but it outputs 0111 which is in A = L(0*1*)? Is this an error or am I missing something? I thought the output should definitely not be in A in such a situation.
