Encoding DP Techniques and Control Strategies
for Maximal Completion


This site provides supporting material for the paper Encoding Dependency Pair Techniques and Control Strategies for Maximal Completion by Haruhiko Sato and Sarah Winkler.

This paper describes two advancements of SAT-based Knuth- Bendix completion as implemented in Maxcomp. (1) Termination techniques using the dependency pair framework are encoded as satisfiability problems, including dependency graph and reduction pair processors. (2) Instead of relying on pure maximal completion, diㄦent SAT-encoded control strategies are exploited. Experiments show that these developments let Maxcomp improve over other automatic completion tools, and produce novel complete systems.


You may want to download the sources and a 64bit executable.


The usage of MaxcompDP is as follows:
$ ./maxcompdp -M auto eq_systems/slothrop_cge.trs
The option -M allows to specify a strategy for MaxcompDP. Options include auto, lpo, kbo, mpol, dp, dg, dgk, maxcomp, red, cpred, and comp. The options -N and -K allow to set the n and k parameters. The input file is supposed to be in the trs format.


The following tables summarize results for the test bed comprising 115 equational systems from the distribution of mkbTT, run on a system equipped with an Intel Core i7 with four cores of 2.1GHz each and 7.5 GB of memory. Each ES was given a time limit of 600 seconds,
  1. comparison with other tools
    comparison with other automatic completion tools: the original version of Maxcomp, mkbTT, and KBCV.
  2. termination strategies
    comparison of LPO, DP, DG, DG-2SCC (using Cred+comp+cpred), and the auto setting
  3. control strategies for DP techniques
    comparison of Smaxcomp, Sunoriented, Sred, Scomp, Scpred and Sred+comp+cpred, using DP([LPol,LPO])
  4. control strategies for LPO
    comparison of Cmaxcomp and Cred+comp+cpred, using LPO
  5. k values
    comparison of a) fixing k=2 and b) initially choosing k=6 for two iterations
  6. completions of CGE6 (306.77) and CGE7 (362.14)