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