Abstract
This paper introduces a propositional encoding for recursive path orders (RPO), in connection with dependency pairs. Hence, we capture in a uniform setting all common instances of RPO, i.e., lexicographic path orders (LPO), multiset path orders (MPO), and lexicographic path orders with status (LPOS). This facilitates the application of SAT solvers for termination analysis of term rewrite systems (TRSs). We address four main inter-related issues and show how to encode them as satisfiability problems of propositional formulas that can be efficiently handled by SAT solving: (A) the lexicographic comparison w.r.t. a permutation of the arguments; (B) the multiset extension of a base order; (C) the combined search for a path order together with an argument filter to orient a set of inequalities; and (D) how the choice of the argument filter influences the set of inequalities that have to be oriented (so-called usable rules). We have implemented our contributions in the termination prover AProVE. Extensive experiments show that by our encoding and the application of SAT solvers one obtains speedups in orders of magnitude as well as increased termination proving power.
Similar content being viewed by others
References
Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comp. Sci. 236(1–2), 133–178 (2000)
Audemard, G., Simon, L.: glucose. http://www.lri.fr/~simon/glucose/
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)
Ben-Amram, A.M., Codish, M.: A SAT-based approach to size change termination with global ranking functions. In: TACAS ’08. LNCS 4963, pp. 218–232 (2007)
Ben Cherifa, A., Lescanne, P.: Termination of rewriting systems by polynomial interpretations and its implementation. Sci. Comput. Program. 9(2), 137–159 (1987)
Biere, A.: PrecoSAT. http://fmv.jku.at/precosat/
Bofill, M., Busquets, D., Villaret, M.: A declarative approach to robust weighted max-SAT. In: PPDP ’10, pp. 67–76. ACM (2010)
Borralleras, C., Lucas, S., Navarro-Marset, R., Rodríguez-Carbonell, E., Rubio, A.: Solving non-linear polynomial arithmetic via SAT modulo linear arithmetic. In: CADE ’09. LNAI 5663, pp. 294–305 (2009)
Codish, M., Schneider-Kamp, P., Lagoon, V., Thiemann, R., Giesl, J.: SAT solving for argument filterings. In: LPAR ’06. LNAI 4246, pp. 30–44 (2006)
Codish, M., Lagoon, V., Stuckey, P.J.: Solving partial order constraints for LPO termination. Journal on Satisfiability, Boolean Modeling and Computation 5, 193–215 (2008)
Codish, M., Genaim, S., Stuckey, P.J.: A declarative encoding of telecommunications feature subscription in SAT. In: PPDP ’09, pp. 255–266. ACM (2009)
Dershowitz, N.: Orderings for term-rewriting systems. Theor. Comp. Sci. 17, 279–301 (1982)
Eén, N., Sörensson, N.: MiniSAT. http://minisat.se/
Eén, N., Sörensson, N.: Translating pseudo-Boolean constraints into SAT. Journal on Satifiability, Boolean Modeling and Computation 2(1–4), 1–26 (2006)
Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2–3), 195–220 (2008)
Feydy, T., Schutt, A., Stuckey, P.J.: Global difference constraint propagation for finite domain solvers. In: PPDP ’08, pp. 226–235. ACM (2008)
Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: SAT ’07. LNCS 4501, pp. 340–354 (2007)
Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: Maximal termination. In: RTA ’08. LNCS 5117, pp. 110–125 (2008)
Fuhs, C., Navarro-Marset, R., Otto, C., Giesl, J., Lucas, S., Schneider-Kamp, P.: Search techniques for rational polynomial orders. In: AISC ’08. LNAI 5144, pp. 109–124 (2008)
Geser, A.: Relative Termination. PhD Thesis, University of Passau, Germany (1990)
Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: FroCoS ’05. LNAI 3717, pp. 216–231 (2005)
Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: LPAR ’04. LNAI 3452, pp. 301–331 (2005)
Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: automatic termination proofs in the dependency pair framework. In: IJCAR ’06. LNAI 4130, pp. 281–286 (2006)
Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)
Gotlieb, A.: TCAS software verification using constraint programming. Knowl. Eng. Rev. (2010, to appear)
Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1–2), 172–199 (2005)
Hirokawa, N., Middeldorp, A.: Tyrolean termination tool: techniques and features. Inf. Comput. 205(4), 474–511 (2007)
Jefferson, C., Moore, N.C.A., Nightingale, P., Petrie, K.E.: Implementing logical connectives in constraint programming. Artif. Intell. 174, 1407–1429 (2010)
Kamin, S., Lévy, J.J.: Two Generalizations of the Recursive Path Ordering. Technical Report, University of Illinois, IL, USA (1980)
Koprowski, A., Middeldorp, A.: Predictive labeling with dependency pairs using SAT. In: CADE ’07. LNAI 4603, pp. 410–425 (2007)
Krishnamoorthy, M.S., Narendran, P.: On recursive path ordering. Theor. Comp. Sci. 40, 323–328 (1985)
Kurihara, M., Kondo, H.: Efficient BDD encodings for partial order constraints with application to expert systems in software verification. In: IEA/AIE ’04. LNCS 3029, pp. 827–837 (2004)
Kusakari, K., Nakamura, M., Toyama, Y.: Argument filtering transformation. In: PPDP ’99. LNCS 1702, pp. 47–61 (1999)
Lankford, D.: On Proving Term Rewriting Systems are Noetherian. Technical Report MTP-3, Louisiana Technical University, Ruston, LA, USA (1979)
Le Berre, D., Parrain, A.: SAT4J. http://www.sat4j.org
Lescanne, P.: Computer experiments with the REVE term rewriting system generator. In: POPL ’83, pp. 99–108. ACM (1983)
Lescuyer, S., Conchon, S.: Improving Coq propositional reasoning using a lazy CNF conversion scheme. In: FroCoS ’09. LNCS 5749, pp. 287–303 (2009)
Manna, Z., Ness, S.: On the termination of Markov algorithms. In: 3rd Hawaii International Conference on System Science, pp. 789–792 (1970)
Mariën, M., Wittocx, J., Denecker, M., Bruynooghe, M.: SAT(ID): Satisfiability of propositional logic extended with inductive definitions. In: SAT ’08. LNCS 4996, pp. 211–224 (2008)
Schneider-Kamp, P., Thiemann, R., Annov, E., Codish, M., Giesl, J.: Proving termination using recursive path orders and SAT solving. In: FroCoS ’07. LNAI 4720, pp. 267–282 (2007)
Tamura, N., Taga, A., Kitagawa, S., Banbara, M.: Compiling finite linear CSP into SAT. Constraints 14(2), 254–272 (2009)
Tseitin, G.: On the complexity of derivation in propositional calculus. In: Studies in Constructive Mathematics and Mathematical Logic, pp. 115–125, 1968. Reprinted in J. Siekmann and G. Wrightson (eds.), Automation of Reasoning, 2:466-483 (1983)
Zankl, H., Hirokawa, N., Middeldorp, A.: Constraints for argument filterings. In: SOFSEM ’07. LNCS 4362, pp. 579–590 (2007)
Zankl, H., Hirokawa, N., Middeldorp, A.: KBO orientability. J. Autom. Reason. 43(2), 173–201 (2009)
Zankl, H., Middeldorp, A.: Increasing interpretations. Ann. Math. Artif. Intell. 56(1), 87–108 (2009)
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported by the G.I.F. under grant 966-116.6 and by the DFG under grant GI 274/5-3.
Rights and permissions
About this article
Cite this article
Codish, M., Giesl, J., Schneider-Kamp, P. et al. SAT Solving for Termination Proofs with Recursive Path Orders and Dependency Pairs. J Autom Reasoning 49, 53–93 (2012). https://doi.org/10.1007/s10817-010-9211-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-010-9211-0