En primer lugar, pido disculpas por el formato de esto, ¡no tengo ni idea de cómo hacer una tabla! Espero que siga siendo lo suficientemente claro.
$$ \begin{array}{cccc|cc|c} p & q & ¬p & ¬q & (p\rightarrow ¬q) & (p\rightarrow¬q)∧q & (p\rightarrow¬q)∧q\rightarrow¬p\\ \hline 1 & 1 & 0 & 0 & 0 & 0 & 1\\ 1 & 0 & 0 & 1 & 1 & 0 & 1\\ 0 & 1 & 1 & 0 & 1 & 1 & 1\\ 0 & 0 & 1 & 1 & 1 & 0 & 1 \end{array} $$
Y por eso es una tautología. Alternativamente, si esto es de un curso de lógica formal, vas a querer mostrar $\vDash ((p\rightarrow ¬q)∧q)\rightarrow ¬p)$ , lo que debería ser bastante sencillo al menos para la lógica proposicional. Sin embargo, no he hecho nada de lógica en un buen tiempo, así que no me gustaría tratar de intentar eso de la parte superior de mi cabeza. O si estás tan lejos, podrías hacer una prueba formal usando NNO para asemejarse a una prueba por contradicción y luego usar el teorema de completitud para transferirlo.