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