When using \sim as a symbol for negation it gives incorrect spacing and this is clear if the spacing is compared to the spacing of \lnot:

How can the spacing be corrected?
\documentclass{article}
\begin{document}
\(p \leftrightarrow \lnot \lnot p\)
\(p \leftrightarrow \sim \sim p\)
\(\lnot (p \land q) \leftrightarrow (\lnot p \lor \lnot q)\)
\(\sim (p \land q) \leftrightarrow (\sim p \lor \sim q)\)
\end{document}

