The usual place at Comprehensive LaTeX Symbol List has the \upmodels
symbol in the mnsymbol
package, which looks more like the first symbol used in the Wikipedia article. The horizontal distance between the bars is be a bit smaller than the first version, though. See for yourself:
\documentclass{article}
\usepackage{MnSymbol}
\begin{document}
\def\ci{\perp\!\!\!\perp} % from Wikipedia
\newcommand\independent{\protect\mathpalette{\protect\independenT}{\perp}} % symbols-a4, p.106
\def\independenT#1#2{\mathrel{\rlap{$#1#2$}\mkern2mu{#1#2}}}
$\upmodels$ % mnsymbol
$\independent$
$\ci$
\end{document}
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 the amsmath
package). An implication is not a relation like >
and, therefore, needs to be spaced according to how it is used. Two thick spaces (which are about an en-space) precede and follow an implication because it's more important than a relation. (Basic rule of math spacing: the more important an operator, the wider the space around it). Compare the readability of the following formulas:
The first line uses \Rightarrow
and is the least legible because the main part of the formula (the implication) is difficult to identify. The second line uses \Longrightarrow
and is better, but there's not enough space to set the arrow apart from the surrounding symbols (the two inequalities are spaced as much as the arrow). Finally, in the third line (which uses \implies
), the additional space highlights 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:
\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.
Best Answer
The traditional way to typeset assignments in pseudocode, including a modification of a variable, is to write them in the full form:
Alternatively, you can typeset a call to a function "Inc" or "Increment", or even use
\textbf{increment} $i$
, but it's disputable whether these variants will be more readable than the one the reader is accustomed to.