Counterexample for $(p\rightarrow q) \longleftrightarrow (!q \rightarrow\mathord !p) $ 
Is the statement $$(p\rightarrow q) \longleftrightarrow (!q \rightarrow \mathord!p)  $$ always true? If it is not, provide a counterexample.

Till now I cannot find a counterexample nor prove that the statement is always true.
$!x$ is the negation of $x$.
 A: Let us think about when implication has to be true? Or, equivalently, when it has to be false?


*

*$p\implies q$ is false if and only if $p$ is true and $q$ is false.

*$\neg q \implies \neg p$ is false if and only if $\neg q$ is true and $\neg p$ is false, i.e. when $q$ is false and  $p$ is true.


We've shown that whenever one of the statements does not hold, then the other also has to be false. It means exactly that these statements are equivalent. We cannot find any counterexample.
A: It seems that I am so late here to try, but, you can use this fact that $$p\longrightarrow q\equiv( \sim p\vee q)$$ Now see that $$p\longrightarrow q\equiv( \sim p\vee \color{blue}q)\equiv(\sim p\vee\color{blue}\sim\color{blue}(\color{blue}\sim\color{blue} q\color{blue}))\equiv(\sim(\sim q)\vee\sim p)\equiv\sim q\longrightarrow\sim p$$
A: Indeed, you're having trouble finding a counterexample because there is no counterexample!.
To prove the that the biconditional is true, this is a nice sort of problem where proof by truth-table comparison" comes in handy, comparing the evaluation each possible truth value assignment of $p, q$ (i.e., comparing each row), we can determine whether the biconditional is evaluates to true:
See for example, for each row in the following truth table, compare the corresponding truth-value of$\;p\rightarrow q\;$ with $\;\lnot q \rightarrow \lnot p$.  If the evaluation of each of the connectives agree (both true, or both false), for each given row, then the biconditional evaluates true:

Indeed: We see that for each of the possible $4$ truth-value assignments for each row of the truth table, $p \rightarrow q$ and $\lnot q \rightarrow \lnot p\;$ evaluate to precisely the same truth value. That is precisely what is required for the biconditional to hold. Hence, $$(p\rightarrow q) \longleftrightarrow (\lnot q \rightarrow \lnot p)$$
Indeed, by the law of the contrapositive:
$$(p \rightarrow q) \equiv (\lnot q \rightarrow \lnot q)$$
A: A footnote: The other answers given all assume that the arrow here is the classical material conditional (i.e. has the truth-table given in @amWhy's answer, i.e. makes $p \to q$ equivalent to $\sim p \lor q$ as in @Babak's answer).
It is well worth remarking that the principle that a conditional $p \to q$ is equivalent to $\sim q \to \sim p$  holds in some non-classical logics, including some relevance logics.
If you consider a pair of natural deduction proofs from $p \to q$ to and from  $\sim q \to \sim p$ you'll see you don't need to appeal e.g. to the "irrelevant" classical rule from a contradiction infer anything (or to anything which implies it). 
