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