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