Raw File
-*- coding: utf-8 -*-

Anagopos 3D: A Reduction Graph Visualizer for Term Rewriting and λ-Calculus


Anagopos 3D can be used to visualize reduction graphs from term rewriting and
λ-calculus. The tool derives from the Anagopos visualization tool [1] and
is similarly distributed under the GNU General Public License. Contrary to
Anagopos, which is based on GraphViz, graph drawing in Anagopos 3D depends on
capabilities of UbiGraph. UbiGraph does 3D layout of graphs based on a force-
directed algorithm, where GraphViz is limited to 2D layouts.

The code-base of the tool also partially derives from Anagopos. The source
code of Anagopos can be found at:



To use the tool a copy of UbiGraph is required, which can be downloaded from:


After starting the UbiGraph server software (ubigraph_server), Anagopos 3D can
be invoked with:

    python src/anagopos3d.py

The operation of the tool is similar to that of Anagopos, whose usage is
described in [1]. Remark that not all functionality from Anapopos is present:
The current tool only supports one graph drawing algorithm and one color scheme.
Moreover, only the TPDB format for TRS descriptions is supported. Finally, part
of the functionality, such as resetting the graph layout, is taken over by
UbiGraph (see also the UbiGraph documentation).


Anagopos 3D was developed with Python 2.6 and depends on wxWidgets 2.8.

The code is not likely to work with Python 3 or other versions of wxWidgets.

Possible Future Extensions

* Ensure the interface does no "lock-up" during foward and backward operations.
* UbiGraph does not seem to be supported any longer. Hence, alternative 3D
  graph drawing libraries should be considered.


[1] N.B.B. Grathwohl, J. Ketema, J.D. Pallesen, and J.G. Simonsen. Anagopos:
    A Reduction Graph Visualizer for Term Rewriting and Lambda Calculus.
    Proceedings of the 22nd International Conference on Rewriting Techniques
    and Applications (RTA 2011), volume 10 of LIPIcs, pages 61-70.

back to top