What is RhoLog?
RhoLog is a system for rule-based programming, implemented in Mathematica 5.2. Rules describe object transformations, where objects are represented by Mathematica expressions.
Formally, rules are specified by conditional rewrite rules of type 3 which are deterministic.
The main purpose of a rule is to apply it on a term and to look for the possible results of such an application. Since the relations specified by rules are not necessarily one-to-one, we can express non-deterministic computations.

Distinctive features:
  1. Rules are defined over a higher-order term algebra with function variables and with sequence variables. Function variables are placeholders for functional expressions, and sequence variables are placeholders for (possibly empty) sequences of expressions.
  2. It supports the following operators for building up rule-based strategies: nondeterministic choice, sequential composition, repetition, committed choice, and normal form computation.
  3. Support for generating proof objects. Proof objects are certificates that justify the correctness of the answer provided by RhoLog to a query.
  4. Visualization tools for proof objects, which enable to analyze the deduction derivations of RhoLog in a natural language formulation and at various levels of detail.
[Last update: February 1, 2006]
Latest version is available here.

Download RhoLog.zip, unzip it, and place the unzipped directory RhoLog in the directory $UserBaseDirectory/Applications.
Applications
  1. Joinability tests in non-commutative group theory. [Implemented in Applications/GroupTheory.nb]
  2. Provability in propositional logic. [Implemented in Applications/PropositionalProver.nb]
  3. Coloring a graph with p colors. [Implemented in Applications/Coloring.nb]
  4. Rewriting strategies. [Implemented in Applications/RewritingStrategies.nb]
  5. Lazy narrowing calculi for solving equational goals in theories presented by unconditional and conditional term rewriting systems [Implemented in Applications/LazyNarrowCalculi.nb]
Publications
  1. M. Marin and T. Kutsia. On the Implementation of a Rule-Based Programming System and some of its Applications. In B. Konev and R. Schmidt, editors, Proceedings of the 4th International Workshop on the Implementation of Logics (WIL 2003), Almaty, Kazakhstan, September 26, 2003.
    [abstract]    [ps (14 pages)]    [bibtex entry]
  2. M. Marin and T. Kutsia. Programming with Transformation Rules. In Proceedings of the 5th International Workshop on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC 2003), pages 157-167, Timişoara, Romania, October 1-4, 2003.
    [abstract]    [ps (11 pages)]    [bibtex entry]
  3. M. Marin and F. Piroi. Rule-based Deduction and Views in Mathematica. SFB Report 2003-43, Johannes Kepler University, Linz, October 2003.
    [abstract]    [ps (29 pages)]    [bibtex entry]
  4. M. Marin and F. Piroi. Deduction and Presentation in RhoLog. In F. Kamarredine, editor, Proceedings of the Mathematical Knowledge Management Symposium, , volume 38C of ENTCS, pages 161-182, Heriot-Watt University, Edinburgh, Scotland, January 2004. Elsevier.
    [abstract]    [ps (20 pages)]    [bibtex entry]
  5. M. Marin and F. Piroi. Rule-based Programming with Mathematica. In  Proceedings of the Sixth International Mathematica Symposium, Banff, Alberta, Canada August 1-6 2004.
  6. M. Marin and T. Kutsia. A Rule-based Approach to the Implementation of Evaluation Strategies. In Proceedings of the 6th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC 2004). Timişoara, Romania, September 26-30 2004.
    [abstract]    [ps (14 pages)]
  7. T. Kutsia and M. Marin. Can Context Sequence Matching be used for XML Querying? In L. Vigneron, editor, Proceedings of the 19th International Workshop on Unification (UNIF’05), pages 77-92. Nara, Japan, April 22, 2005.
    [abstract]    [ps revised version. (17 pages)]
  8. M. Marin and T. Ida. Progress of RhoLog, a rule-based programming system. In 7th International Mathematica Symposium (IMS 2005). Perth, Western Australia, August 5-8 2005.
    [abstract]    [nb]    [html]    [bibtex entry]

Maintained by: Mircea Marin
Last update: February 1, 2006.