Is it better to use \Rightarrow or \implies to symbolize logical implications? Why?

Also, if I write \not \Rightarrow, I get a symbol that means "does not imply." But if I type \not \implies, it doesn't look right. How do I get the corresponding "does not imply" symbol?

  • 5
    Not an answer to your question, but just a comment: you can use \nRightarrow. – Gonzalo Medina Mar 6 '12 at 23:00
  • 11
    What ever you decide, I would still use \implies so that you can later redefine \implies to be \Rightarrow, but then your LaTeX code still has correct meaning. – Peter Grill Mar 6 '12 at 23:03
  • 2
    Imagine an equal sign just as long as the long arrow. Would you be accepting it as a relational symbol? – percusse Mar 7 '12 at 7:10
  • 1
    Why is it that my compiler can't find the \implies arrow? Anyone know the package one needs for this \implies? – Charlie Parker Jun 17 '17 at 23:17
  • @CharlieParker I think you need 'amsmath' – jamaicanworm Jun 21 '17 at 23:14
up vote 172 down vote accepted

To answer your first question, you should use \implies, not \Rightarrow. \Rightarrow is far too small to give a readable result and is not spaced properly. Knuth specially defined \iff to be used for equivalence and \implies is the same but for implication (from amsmath). An implication is not a relation and so needs to be spaced according to how it is used. It uses a double thick space (which is about an en-space) because it's more important than a relation (the basic rule of math spacing being: the more something is important, the more there should be space around it). Compare the readability of the following formulas:

Rightarrow vs. Longrightarrow vs. implies

The first line uses \Rightarrow and is completely illegible because the main part of the formula (the implication) is nearly invisible. The second line uses \Longrightarrow and is better, but there's nothing that really sets the arrow apart from the surrounding symbols (the two inequalities relations are spaced the same way as the arrow). Finally, in the third line (which uses \implies), the additional space clearly distinguishes the arrow from the rest and so improves the readability of the formula.

Concerning your second question, the simplest way to negate nearly any symbol whatever its length is to use \centernot from the centernot package:

centernot effect on implies

\documentclass{article}

\usepackage{amsmath}
\usepackage{centernot}

\begin{document}

$A \centernot\implies B$

\end{document}

Of course, wrapping \centernot\implies inside a \notimplies macro like Werner did is a good idea.

  • 1
    If only I could upvote twice, once for each answer. – Matthew Leingang Mar 7 '12 at 13:14
  • 4
    Sometimes the implication operator has lower precedence than other things around it, and in such cases, a giant double-wide arrow looks silly. Example: math.stackexchange.com/a/869215/164530 – Will Jul 30 '14 at 20:16
  • does this work for inserting it into stack overflow questions? – Charlie Parker May 22 '15 at 4:59
  • Why is it that my compiler can't find the \implies arrow? Anyone know the package one needs for this \implies? – Charlie Parker Jun 17 '17 at 23:18
  • 1
    @CharlieParker: you need the amsmath package for that. – Philippe Goutet Jun 18 '17 at 5:53

I'll answer the second part of your question, since the first seems more subjective.

You can use

\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\notimplies}{%
  \mathrel{{\ooalign{\hidewidth$\not\phantom{=}$\hidewidth\cr$\implies$}}}}

to represent "does not imply". This provides \notimplies that sets a relational symbol with \not overlaid \implies (technically, the other way around):

enter image description here

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\notimplies}{%
  \mathrel{{\ooalign{\hidewidth$\not\phantom{=}$\hidewidth\cr$\implies$}}}}
\newcommand{\X}{\mathcal{X}}
\newcommand{\Y}{\mathcal{Y}}
\begin{document}
\[
  \X\Rightarrow\Y \quad \X\not\Rightarrow\Y \qquad
  \X\implies\Y \quad \X\notimplies\Y
\]
\end{document}

Of course, from this point the spacing can also be modified, if needed.

For a quick lesson on \ooalign, see \subseteq + \circ as a single symbol (“open subset”).

  • What are the advantages and disatvantages of this \ooalign solution, compared to @Philippe Goutet's \centernot solution? – jamaicanworm Mar 7 '12 at 15:46
  • 3
    @jamaicanworm: there's just a difference of method: \centernot does not use alignment but measures things and then translate them; \ooalign is what Knuth used for \notin to center the slash on the \in. The main advantage of \centernot is that it's ready for use in a package. Another difference is that, in its current state, Werner's solution won't give a good result in subscript (but that's easily fixable with a \mathpalette or \mathchoice). – Philippe Goutet Mar 7 '12 at 18:42
  • 1
    @PhilippeGoutet: Thanks for clearing that up... – Werner Mar 7 '12 at 18:47

The conventions in other parts of mathematics may differ, but in logic texts, implication is virtually never written with long arrows. Implication is most commonly denoted by \rightarrow (= \to) or \supset, occasionally \Rightarrow. Long arrows (\longrightarrow and \Longrightarrow) are used for sequent arrows.

  • 2
    This is something of a subject-language/object-language distinction; a formal language will have some binary connective, usually denoted with \rightarrow (though historically often with \supset, somewhat confusingly). This is strictly different to the informal arrow used for implication between propositions, which is why people tend to use a different symbol. – dbmag9 May 25 '14 at 22:06
  • Thanks for hinting out the \to. I was searching for a simpler way to than to having my algorithms riddled with \rightarrow commands. BTW, \gets is as same as \leftarrow. – Ébe Isaac Nov 30 '16 at 4:59

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.