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