[m-dev.] Assocative predicates

Peter David ROSS petdr at cs.mu.OZ.AU
Fri Apr 17 16:55:24 AEST 1998


I think that your syntax being the most general is a good idea.

I have even worked out an algorithm to recognise if a predicate is
assocative or left assocative or right assocative according to a
specific form of the declaration.

However I am not sure what the best way to save the terms would be
and would appreciate your advice.


PS. This a decl which declares the transform between append being left
or right assocative.

:- pragma assert(all [A,B,C,R,T] (
    append(A, B, T), append(T, C, R) <=>
    append(B, C, T), append(A, T, R))).

More information about the developers mailing list