DOT/GraphViz [1] is very powerful. You might find it a bit unwieldy at first but, as with everything, editing in plain text is often faster than trying to use a GUI.
For extremely simple stuff, you can use TGF [2] to represent the graph and something like yEd [3] to view it.
None of these tools have any real provision for structured proofs etc., but that could be built.
I've made "proof graphs" with GraphViz, but honestly it was something of a challenge to make them look how I wanted them to. Compared to the time I spent drawing the graph on paper, (ie, collecting the statements and theorems), making the GraphViz version look okay took a long time.
Those graphs are good examples of what I want to be able to make. You bring up a critically important point, though: I must be able to write graphs very quickly, easily, and painlessly, like I use vim to write text or Trello for to-do lists. Most tree-editing interfaces are painfully inefficient and slow to use (and are far too reliant on the mouse).
Speaking as someone who has used graphvis before, those examples are one possible mode of output. The input for the graphvis programs are plain text files. See:
I wrote an iOS app around Graphviz called http://instaviz.com, you can create fairly sophisticated DOT files with shape sketching and linking and without delving into the underlying DOT language.
To be clear, the syntax I suggested in the article is what I want it to look like, not what I want to type in. It takes far too long to type most of those (except the lisp-style one).
I would like to be able to add nodes as easily as I add cards in Trello.
It's not that complex, actually. Here's how the basic usage works: you have a text file containing something like this for an undirected graph --
graph graphname {
a -- b -- c;
b -- d;
}
-- or like this for a directed graph (the -> arrows show you which direction the links are going):
digraph graphname {
a -> b -> c;
b -> d;
}
You can break up that first line into a -> b and b -> c and get the same graph if you want. It's not necessary here but it is when you have lots of outgoing links from the same node.
The other things you can type in are basically formatting options for the various utilities. You then feed these text files to various command line tools to do things like get a PNG of your graph:
dot -Tpng my_text_file.dot -o my_graph_image.png
That's it. The rest is just playing with it to get what you want.
Yeah, it's more the size of it that comes off as imposing at first. I was able to find a decent tutorial when I had to use it and went through the very basic usage of "make a graph and get a PNG with a few formatting options" but there's a lot more available if you have need of it.
For extremely simple stuff, you can use TGF [2] to represent the graph and something like yEd [3] to view it.
None of these tools have any real provision for structured proofs etc., but that could be built.
[1] http://www.graphviz.org/Documentation/dotguide.pdf
[2] http://docs.yworks.com/yfiles/doc/developers-guide/tgf.html
[3] http://www.yworks.com/en/products_yed_about.html