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