Consider the following premises. forall z_3: S_2(z_3) -> S_3(z_3). forall z_3: ~S_3(z_3). forall z_3: S_3(z_3) -> Q(z_3). forall z_3: Q(z_3) -> S_2(z_3). Can we infer forall z_3: ~Q(z_3) from them? If possible, name the inference rules being used at each step.
 From forall z_3: Q(z_3) -> S_2(z_3), forall z_3: S_2(z_3) -> S_3(z_3) we can infer forall z_3: Q(z_3) -> S_3(z_3) via universal transitivity. From forall z_3: Q(z_3) -> S_3(z_3), forall z_3: S_3(z_3) -> Q(z_3) we can infer forall z_3: Q(z_3) <-> S_3(z_3) via universal biconditional introduction. Finally, from forall z_3: Q(z_3) <-> S_3(z_3), forall z_3: ~S_3(z_3) we can infer forall z_3: ~Q(z_3) via universal biconditional elimination. Therefore, the answer is yes.