Consider the following premises. forall z_4: P(z_4) or ~U(z_4). forall z_4: P(z_4) -> Q_4(z_4). forall z_4: Q_4(z_4) -> U(z_4). Can we infer forall z_4: P(z_4) <-> U(z_4) from them? If possible, name the inference rules being used at each step.
 From forall z_4: P(z_4) -> Q_4(z_4), forall z_4: Q_4(z_4) -> U(z_4) we can infer forall z_4: P(z_4) -> U(z_4) via universal transitivity. From forall z_4: P(z_4) or ~U(z_4) we can infer forall z_4: U(z_4) -> P(z_4) via universal rewriting. Finally, from forall z_4: P(z_4) -> U(z_4), forall z_4: U(z_4) -> P(z_4) we can infer forall z_4: P(z_4) <-> U(z_4) via universal biconditional introduction. Therefore, the answer is yes.