[Termtools] supplementing the competition input format
Peter Schneider-Kamp
psk at informatik.rwth-aachen.de
Fri Sep 22 14:43:41 CEST 2006
Dear all,
I propose to amend the competition input format to
express settings commonly encountered in the DP framework.
Feel cordially invited to give feedback and discuss
the details either on the list or with me.
The hope is to accomplish the following:
* allow for the direct specification of termination
problems as so-called "DP problems"
* allow for the use of e.g. AProVE's frontend for
Haskell98 which produces DP problems rather than TRSs
* establish a format for tool cooperation on a deeper
level than TRSs, for example by being able to
integrate a new ordering as an external component
into a DP-based tool such as AProVE or Jambox
The syntactical changes would be two new cases
for the productions of "decl"
* PAIRS listofrules
* RESTRICTION restrictiondecl
a new case for the production of "strategydecl"
* (QRESTRICTION listofterms)
and two new productions
* listofterms ::= e | term listofterms
* restrictiondecl ::= MINIMAL
Of course, the names for PAIRS, RESTRICTION, QRESTRICTION,
and MINIMAL are subject to discussion. We might want to
call PAIRS TOPRULES etc.
The semantics are that the rules in PAIRS can only be
applied at the top level while the rules of RULES can
be applied anywhere. For showing termination of such
a DP problem (or rather "finiteness") we have to show
that rules from PAIRS cannot be applied infinitely
often. This looks similar to relative termination,
but due to the top level restriction it is quite
a different beast.
If (RESTRICTION MINIMAL) then we only need to show that
rules from PAIRS cannot be applied infinitely often
for terms that are terminating w.r.t RULES.
If a non-empty (STRATEGY (QRESTRICTION f(0) g(x,y)))
is given, the evaluation may only take place
for positions where no subterm can be matched
by either f(0) or g(x,y). By having the left-hand
sides of (RULES ...) in the QRESTRICTION list,
we can simulate innermost. An empty (or not given
QRESTRICTION) corresponds to full termination.
This is useful as we do not lose completeness
in the innermost case when deleting rules. This
can also be used for regular TRSs.
If we can agree on such an extension, I would be happy
to help in reworking the input format definition.
We should also integrate semantical side conditions for
each of the sub categories of TRS (such as
context-sensitive etc.) as discussed on the mailing
list before.
Best regards,
Peter
P.S.: There are currently two different ways of expressing
different term pairs. For relative termination
we use (RULES s -> t u ->= v) whereas for termination
modulo a theory we use (RULES s -> t)
(THEORY (EQUATIONS u == v)).
I have preferred the latter as there is a clearer
separation between pairs of terms that have a
different meaning. Anyway, I would think we should
agree on a consistent way for this.
P.P.S: Actually, in AProVE we use the following syntax:
three new cases for the productions of "decl"
* PAIRS listofrules
* Q listofterms
* MINIMAL minimaldecl
and two new productions
* listofterms ::= e | term listofterms
* minimaldecl ::= YES | NO
--
Peter Schneider-Kamp mailto:psk at informatik.rwth-aachen.de
LuFG Informatik II http://www-i2.informatik.rwth-aachen.de/~nowonder
RWTH Aachen phone: ++49 241 80-21211
More information about the Termtools
mailing list