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:
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.
It supports the following operators for building up rule-based
strategies: nondeterministic choice, sequential composition,
repetition, committed choice, and normal form computation.
Support for generating proof objects. Proof objects are
certificates that justify the correctness of the answer provided by RhoLog
to a query.
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
Joinability tests in non-commutative group theory. [Implemented
in Applications/GroupTheory.nb]
Provability in propositional logic. [Implemented in
Applications/PropositionalProver.nb]
Coloring a graph with p
colors. [Implemented in Applications/Coloring.nb]
Rewriting strategies. [Implemented in
Applications/RewritingStrategies.nb]
Lazy narrowing calculi for solving equational goals in theories
presented by unconditional and conditional term rewriting systems
[Implemented in Applications/LazyNarrowCalculi.nb]
Publications
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]
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]
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]
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]
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.
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)]
T.
Kutsia and M. Marin.
Can Context Sequence Matching be used for XML Querying? In L. Vigneron,
editor, Proceedings of the 19thInternational
Workshop on Unification (UNIF’05),
pages 77-92. Nara, Japan, April 22, 2005.
[abstract]
[ps revised
version. (17 pages)]
M.
Marin and T.
Ida.
Progress of RhoLog, a rule-based
programming system. In 7thInternational 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.