# Logical equivalence vDashv

I need to create a symbol logical equivalence. Contact vDash with appropriate vertical line, but I can not find any. Can you advise?

• the package mathabx has both \Dashv and \vDash is this what you mean? – Nico Vecchio Nov 11 '13 at 8:31
• is this the same as unicode U+29E6, "gleich stark = tautological equivalent"? if so, that is in the stix and xits fonts. – barbara beeton Nov 11 '13 at 13:52

While mathabx has some symbols that might help, using it means changing all symbol fonts and this, in general, is not desirable.

Here's a possible way to do it: superimpose a \vDash symbol to its reflected copy.

\documentclass{article}
\usepackage{amsmath,amssymb,graphicx}
\newcommand{\Dashv}{%
\mathrel{\text{\reflectbox{$\vDash$}}}%
}
\newcommand{\vDashv}{%
\mathrel{%
\text{%
\ooalign{$\vDash$\cr\reflectbox{$\vDash$}\cr}%
}%
}%
}

\begin{document}
$f\vDash g$

$f\Dashv g$

$f\vDashv g$
\end{document}


I've also defined a \Dashv command with the reflected symbol.

See \subseteq + \circ as a single symbol ("open subset") for a quick introduction to \ooalign.

• just asking, but does the resulting symbol denote logical equivalence? I found some occurrences of =||= (which would be obtained with \Dashv\vDash from mathabx but never something like |=|. – Nico Vecchio Nov 11 '13 at 8:55
• @dcmst I don't know; that's how I interpreted the question. On the other hand, there's no ‘official’ symbol for logical equivalence and anybody is free to choose their own. – egreg Nov 11 '13 at 8:58
• Even if there is no official way =||= would be what logicians would understand (and I have seen a few times). An alternative would be to write \vDash f \equiv g (assuming the Deduction Theorem holds). – Guido Nov 11 '13 at 9:07
• @dcmst Would it be like the two symbols separated by a thin space? – egreg Nov 11 '13 at 10:07
• In my tentative understanding of the question, the OP wanted a =||= like symbol, exactly as it is rendered by \Dashv\vDash (with matabhx) with no customization. But you have a point, because after re-reading the question, that word "contact" made me reconsider my initial understanding. Maybe the OP will be more specific after he sees your answer. – Nico Vecchio Nov 11 '13 at 10:15

Is this what is meant? 'Logical equivalence' can mean a number of things so I'm trying to go by the description but am not very clear (like everyone else).

The code:

\documentclass{article}

\usepackage{turnstile}

\begin{document}

$P \wedge Q\ \ssststile{}{}\ \sim(\sim P \vee \sim Q)$

\end{document}


This is not really a symbol for logical equivalence as logicians usually mean it, but if it is anything like a \vdash, I think it must be something along these lines. In case that's not what is required, the turnstile package is almost certain to provide the symbol which is desired here. It can produce very many varieties of turnstile.

EDIT: Actually, I just realised it was \vDash rather than \vdash so maybe:

\documentclass{article}

\usepackage{turnstile}

\begin{document}

$P \wedge Q\ \sdststile{}{}\ \sim(\sim P \vee \sim Q)$

\end{document}