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