[metis-users] KBO vs. LPO
Joe Hurd
joe at gilith.com
Wed Mar 28 02:28:06 UTC 2012
Hi Jasmine,
Sorry for the delay in replying.
Around ten(!) years ago I carried out some experiments with term
orderings in Metis, specifically the "stickiness" of constraints on
clauses resulting from KBO comparisons. I wrote them up in a Cambridge
CL technical report:
http://www.gilith.com/research/papers/ordering.pdf
However, that reference was just for interest's sake. To answer your
specific question, I would certainly consider adding different
orderings to Metis. In Clause.sig the order is explicitly
parameterized:
type parameters =
{ordering : KnuthBendixOrder.kbo,
orderLiterals : literalOrder,
orderTerms : bool}
If someone were to create a new module LexicographicPathOrder with the
same signature as KnuthBendixOrder I would happily hook pull it in to
the Metis sources and offer it as an option to Clause.parameters.
Cheers,
Joe
On Mon, Mar 19, 2012 at 5:16 PM, Jasmin Blanchette
<jasmin.blanchette at gmail.com> wrote:
> Hi Joe,
>
> KBO is hard-coded in Metis. Although KBO is generally acknowledged to "order more things" than LPO, there are some advantages to LPO, such as the possibility of orienting
>
> map f (Cons x xs) = Cons (f x) (map f xs)
>
> (and in general equations where variables occur several times on the right-hand side) left-to-right. Combined with an appropriate precedence function (that reflects the order in which symbols are defined in HOL), this could do wonders.
>
> From what I understand, it would be fairly straightforward to adapt Metis's code to support LPO as well -- or am I mistaken? What are your views on this? Would you be ready to consider an eventual patch that adds LPO, or at least the possibility of plugging-in non-KBO term orderings, for integration in the Metis repository?
>
> Thanks in advance.
>
> Cheers,
>
> Jasmin
>
>
> _______________________________________________
> metis-users mailing list
> metis-users at gilith.com
> http://www.gilith.com/metis/mailing-list
More information about the metis-users
mailing list