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