Two necessary conditions for strategy-proofness: On what domains are they also sufficient?