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