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