I'm currently trying to map out mathematics, by writing up a whole lot of definitions, theorems and axioms and noting the dependencies between them (for instance if B is a definition, it will contain words which themselves were defined earlier in definition A, so B depends on A).
I don't just want to make a big list of theorems and definitions, though, I have this picture in my head of an incredibly big graph (in the graph theoretic sense) - a map, if you will, of mathematics. This is a very rough example of the template, though I'd have it the other way round, personally.
The aim is to find software which I can use to create this graph. Here are my wants and needs:
I need it to be interactive. This is in the sense that if I click on a node (the theorems, definitions, etc are nodes, dependencies are represented by arrows), I'd like a picture to appear somewhere of the page detailing that node. I'd assume this would be achieved by either somehow linking the graph to the pdf file of the list, or perhaps by my taking a screenshot of the particular page in the list and perhaps linking that in some way to the node. It would be preferable if the picture remained in the programme, rather than making adobe open up or something.
It would also be amazing if I could also link the document to the graph, so I can open up the big list through this software, and click on the page of 'theorem A' to highlight the node of 'theorem A'.
I need it to allow the labelling the nodes and arrows for ease of navigation. So one node might look something like [Theorem A], for example.
I need it to be able to handle a large number of nodes. Potentially thousands. If this is simply not possible I can try to overcome that, I guess.
I would greatly like it to be zoomable, in a sense perhaps similar to google maps. All I mean is that a large, static picture is unlikely to suit me.
It would be nice if the software were fairly easy to use, but I can cope with a learning curve if the documentation is good.
If at all possible, I'd like the software to work on a Mac. This is just because my laptop is a mac, and so is not a necessity by any means.
Does anyone know of software that could meet my needs? Or might I need to try to create it? (I'm learning C++, given enough time I could surely make such a program with that, right?)
Many thanks, this is probably an unusual request. The tags are me throwing darts at a wall, if anyone could improve them I'd be much obliged.