Consider the following premises. exists y: U(y) <-> P(y). forall y: ~U(y). forall y: U(y) -> P(y). Can we infer exists y: ~P(y) from them? If possible, name the inference rules being used at each step.
 From exists y: U(y) <-> P(y) we can infer exists y: P(y) -> U(y) via existential biconditional elimination. From forall y: U(y) -> P(y), exists y: P(y) -> U(y) we can infer exists y: U(y) <-> P(y) via existential biconditional introduction. Finally, from exists y: U(y) <-> P(y), forall y: ~U(y) we can infer exists y: ~P(y) via existential biconditional elimination. Therefore, the answer is yes.