# (not)implies sign as edges in tikz graph

I would like to make a graph in tikz as in

However I would like to have an implies symbol instead of an arrow. How can I make a figure such as above but with implies (as well as not implies signs) as edges?

• By implies do you mean a \Rightarrow ? (ie one with a double horizontal bar? – Thruston Jun 12 '14 at 13:57
• Did you try \tikz \graph[edges=double] { a -> { b, c} -> d };? Is that what you need? – Thruston Jun 12 '14 at 14:13
• @Thruston: Thanks a lot,+1. (Wonder why I could not find this in the manual) and suppose one also needs a not implies sign i.e. the sign as above but with a slanted line segment that cuts through it, is it ok to overlay or is there a more direct and elegant way like the one you have suggested? Cheers – Abhimanyu Arora Jun 12 '14 at 14:31
• I'd suggest that you create the graph you want with edges=double and use some form of edge label for the not sign. If you update the question with your effort, you might get some more detailed suggestions or answers. – Thruston Jun 12 '14 at 21:21
• You can use a decoration to put the slash midway. – user11232 Jun 12 '14 at 23:56

you can use double and implies (Note: the credit goes to @percusse for not implie command (i.e. degil).

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,decorations.pathmorphing,decorations.markings}
\usetikzlibrary{arrows}

\tikzset{degil/.style={
decoration={markings,
mark= at position 0.5 with {
\node[transform shape] (tempnode) {$\backslash$};
}
},
postaction={decorate}
}
}

\begin{document}
\begin{tikzpicture}[>=stealth,>=implies]
\graph  {
a ->[double] {b,c} ->[double,degil] d
};
\end{tikzpicture}
\end{document}


Perhaps this...

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{graphs,graphs.standard,arrows}
\tikzgraphsset{
implies/.style={edges={double, double equal sign distance, -implies}},
not implies/.style={implies,
edge node={ node [sloped, xscale=-1] {$\backslash$} }
},
!/.style={not implies}
}
\begin{document}
\tikz\graph [implies] {
a -> {b, c} ->[!] d;
};
\end{document}