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