In article <47pnbh$fhc at ralph.vnet.net>,
TTCJ34A at prodigy.com (DR JOHN C ERB) wrote:
->Can Mathematica be used to solve logic problems? As a
->simplistic example: Mary is older than Tom; Tom is older
->than Sue; is Mary older than Sue? I would like to be able
->to do this type of problem without specifying values (i.e.,
->ageMary=35).
->Thank you.
->John C. Erb
It is not that difficult to implement backtracking and unification
in Mathematica. I developed a simple Prolog interpreter that
could be used to answer such questions. Here are the references:
@article{Maeder94c,
author = { Roman E. Maeder},
journal = MathJournal,
volume = { 4},
number = { 1},
title = {Logic Programming {I}: The Interpreter},
year = 1994
}
@article{Maeder94d,
author = { Roman E. Maeder},
journal = MathJournal,
volume = { 4},
number = { 2},
title = {Logic Programming {II}: Applications},
year = 1994
}
the code is in the electronic supplement of the Mathematica Journal.
It is available through MathSource.
Roman Maeder
Theoretical Computer Science
ETH Zentrum, IFW
8092 Zurich
Switzerland