Ah, OK, so I'm not sure what Mathematica has to do with this.
A unifier should probably be written in Lisp. To be useful for math, we'll
need something considerably more elaborate than Norvig's unifier. In
particular, we'll presumably want to support identities, associativity, and
commutativity of the basic arithmetic operators, so that x*y will unify
with w (x=1, y=w or x=w, y=1). This is the sort of thing that Moses' old
pattern-matcher (schatchen) in the integration package does, though in a
less general and clean way than modern unifiers.
-s
On Sat, Sep 29, 2012 at 1:30 PM, Emmanuel Charpentier <
emm.charpentier at free.fr> wrote:
> Le Sat, 29 Sep 2012 09:42:57 -0400, Steve Stevenson wrote:
>
> > In 2007 there was a discussion of unification and Maxima. Has anyone
> > worked on a unifier since?
>
> I remembered that a 90's textbook explained unification by building a
> fullunifier (in Common Lisp). A bit of googling allowed me to retrieve
> Peter Norvig's book reference (see below) and code (3 first hits...).
>
> This could be a starting point, no ? Now, the question is whether it is
> better to translate this code in Maxima or to keep it in Lisp and to
> interface it in Maxima. Either way, my knowledge of Maxima is way too
> weak to do it now...
>
> HTH,
>
> Emmanuel Charpentier
>
> Norvig's textbook :
>
> @book{norvig1992paradigms,
> title={Paradigms of artificial intelligence programming: case studies
> in Common LISP},
> author={Norvig, P.},
> year={1992},
> publisher={Morgan Kaufmann}
> }
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>