Consider the following premises. u <-> q. p -> q. u -> q. Can we infer ~(p -> u) from them? If possible, name the inference rules being used at each step.
 From u <-> q we can infer q -> u via biconditional elimination. From q -> u, u -> q we can infer q <-> u via biconditional introduction. From q <-> u we can infer q -> u via biconditional elimination. Finally, from p -> q, q -> u we can infer p -> u via transitivity, which contradicts ~(p -> u). Therefore, the answer is no.