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