Generating a graphviz dot file equivalent to the mol file of pred(3)
in chemlambda v2: pred_3.mol (original name was erroneous)
The lambda calculus expression for pred(3)
(predecessor(3) == 2
) is PRED := λn.λf.λx.n (λg.λh.h (g f)) (λu.x) (λu.u)
(ref wikipedia)
Writing the above expression as nodes in a graph leads to the below graph. The corresponding dot file was written manually and available further below in this gist. An annotated version of pred_3.mol
to help compare it to pred_3.dot
is available further below in this gist.
To generate the dot file automatically from lambda terms, check http://www.teamshadi.net/chemlambda-js/ (a fork from this jsfiddle ). Its current output for pred(3)
matches with the manually specified graph below.
Version 4 (2019-04-11): shifted indeces back by 1 (e.g. L1 to L0) to match with the auto-generated graph from here
Compare the above graph to the chemlambda d3.js graph for pred_3.mol
here
To experiment with graphviz, use
http://www.webgraphviz.com/ or
https://dreampuf.github.io/GraphvizOnline
http://viz-js.com/
Notes:
- This work was prompted from chamlambda issue #6
- Older versions of graphs:
@mbuliga
Where can I find the documentation of the 8 re-write steps implemented at http://imar.ro/~mbuliga/pred_3_is_2.html ?
I tried to figure the re-writes of the 1st step from the json files
pred_2_0.json, pred_2_1.json
that are used in that html page,but I'm finding it very difficult to relate the
links
section in the two files