10

I am looking for a LaTeX symbol that means "A does not entail B". The mathematical symbol I found for this is , however I haven't found any way of displaying it properly.

How can I convey the desired meaning?

5
  • 3
    This is “does not entail”, which is different from “does not imply”.
    – egreg
    Commented May 22, 2018 at 17:32
  • @egreg Thank you for pointing that out, I will change the question!
    – Philipp
    Commented May 22, 2018 at 17:49
  • We're getting a lot of clever ways to fake a symbol that’s in amssymb.
    – Davislor
    Commented May 22, 2018 at 20:43
  • Although the accepted answer has been edited to list the others now.
    – Davislor
    Commented May 22, 2018 at 22:24
  • Note that for logic, you need to negate the symbol from the turnstile package: none of the font packages which provide these symbols in maths will do the job because these aren't encoded, sadly, as extensible symbols.
    – cfr
    Commented May 23, 2018 at 1:56

4 Answers 4

6
\documentclass{article}
\usepackage{amssymb}
\newcommand\doesnotentail{\mkern-2mu\not\mkern2mu\vdash}
\begin{document}
$A\doesnotentail B$

$A\vdash B$
\end{document}

enter image description here

And some other ways:

\documentclass{article}
\usepackage{amssymb,stackengine}
\newcommand\doesnotentail{\mathrel{\ensurestackMath{%
  \stackengine{.175em}{\vdash}{\scriptstyle/}{O}{c}{F}{F}{L}}}}
\begin{document}
$A\doesnotentail B$ via stackengine

$A\vdash B$ \textbackslash vdash

$A\nvdash B$ \textbackslash nvdash
\end{document}

enter image description here

0
7

The mathabx fonts define a plethora of such symbols. Here is a code to use them without loading the whole font:

\documentclass[11pt]{article}%[14pt]
 \usepackage{amsmath}

\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{%
 <-6> matha5
<6-7> matha6
<7-8> matha7
<8-9> matha8
<9-10> matha9
 <10-12> matha10
  <12-> matha12
  } {}%
\DeclareSymbolFont{matha}{U}{matha}{m}{n}

\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{% 
<-6> matha5 
<6-7> matha6 
<7-8> mathb7 
<8-9> mathb8 
<9-10> mathb9 
<10-12> mathb10 
<12-> mathb12 
}{}%
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}%

\DeclareMathSymbol{\nvdash}{\mathrel}{matha}{"26}
\DeclareMathSymbol{\ndashv}{\mathrel}{matha}{"27}
\DeclareMathSymbol{\nvDash}{\mathrel}{matha}{"2E}
\DeclareMathSymbol{\nDashv}{\mathrel}{matha}{"2F}
\DeclareMathSymbol{\nVdash}{\mathrel}{matha}{"2A}
\DeclareMathSymbol{\ndashV}{\mathrel}{matha}{"2B}

\DeclareMathSymbol{\nVDash}{\mathrel}{mathb}{"2A}
\DeclareMathSymbol{\nDashV}{\mathrel}{mathb}{"2B}
\DeclareMathSymbol{\nVvdash}{\mathrel}{mathb}{"2E}
\DeclareMathSymbol{\ndashVv}{\mathrel}{mathb}{"2F}

\begin{document}

    \begin{alignat*}{4}
\texttt{\textbackslash nvdash} &\quad & \nvdash &\hspace{4em} & \texttt{\textbackslash ndashv} &\quad & \ndashv \\
\texttt{\textbackslash nvDash} &\quad & \nvDash &\hspace{4em} & \texttt{\textbackslash nDashv} &\quad & \nDashv \\
\texttt{\textbackslash nVdash} &\quad & \nvDash &\hspace{4em} & \texttt{\textbackslash ndashV} &\quad & \nDashv \\\\
\texttt{\textbackslash nVDash} &\quad & \nVDash &\hspace{4em} & \texttt{\textbackslash nDashV} &\quad & \nDashV \\
\texttt{\textbackslash nVvdash} &\quad & \nVDash &\hspace{4em} & \texttt{\textbackslash nDashV} &\quad & \ndashVv
\end{alignat*}

\end{document} 

enter image description here

4
  • Good observation! These are additionally in several other packages, including unicode-math, stix and stix2.
    – Davislor
    Commented May 23, 2018 at 0:54
  • Also in mnsymbol and mdsymbol. mathabx has the advantage to fit well the default math fonts.
    – Bernard
    Commented May 23, 2018 at 0:59
  • And several others I know of: anyone who wants the full set can check out the Comprehensive LaTeX Symbols List.
    – Davislor
    Commented May 23, 2018 at 1:01
  • For what it's worth, my personal recommendation is to use unicode math whenever possible. Latin Modern Math/lmodern, Asana Math/newpx, XITS Math/stix,Stix Two Math/stix2, and TeX Gyre Termes Math/newtx are all fonts that have close analogues to legacy packages.
    – Davislor
    Commented May 23, 2018 at 1:23
7

The ⊬ is U+22AC (Does Not Prove). This is \nvdash in amssymb and many other packages, including unicode-math, pxfonts, MnSymbol, fdsymbol, mathabx, stix and more.

\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amssymb} % Or your font package of choice.

\DeclareUnicodeCharacter{22AC}{\ensuremath{\nvdash}}

\begin{document}
\( p ⊬ q \) and \(q \nvdash p\).
\end{document}

p ⊬ q and q ⊬ p

The Comprehensive LaTeX Symbols List shows what the symbol looks like in many of these fonts.

Even simpler:

\documentclass[varwidth, preview]{standalone}
\usepackage{unicode-math}

% You can \setmainfont and \setmathfont here.

\begin{document}
\( p ⊬ q \) and \(q \nvdash p\).
\end{document}

The List of Symbols Defined by unicode-math shows what this symbol looks like in several OpenType fonts (on page 58).

But, the other answers give some really clever ways to fake it, if you want to make things more complicated.

3

Here's a possible solution for keeping the negation slash to the height of the “entailment” symbol.

\documentclass{article}
\usepackage{amsmath,graphicx}

\DeclareRobustCommand{\notvdash}{%
  \mathrel{\mathpalette\vdashnot\vdash}%
}
\makeatletter
\newcommand{\vdashnot}[2]{%
  \sbox0{$\m@th#1#2$}%
  \sbox2{\raisebox{\depth}{$\m@th#1/$}}%
  \ooalign{%
    \hidewidth$\m@th#1\mkern2mu$\resizebox{1.1\width}{\ht0}{\box2}\hidewidth\cr
    \box0\cr
  }%
}
\makeatother

\begin{document}

$A\notvdash B$

\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .