Papers by Cristina Borralleras

ACM Transactions on Computational Logic, Aug 17, 2019
We present new methods for solving the Satisfiability Modulo Theories problem over the theory of ... more We present new methods for solving the Satisfiability Modulo Theories problem over the theory of Quantifier-Free Non-linear Integer Arithmetic, SMT(QF-NIA), which consists in deciding the satisfiability of ground formulas with integer polynomial constraints. Following previous work, we propose to solve SMT(QF-NIA) instances by reducing them to linear arithmetic: non-linear monomials are linearized by abstracting them with fresh variables and by performing case splitting on integer variables with finite domain. For variables that do not have a finite domain, we can artificially introduce one by imposing a lower and an upper bound, and iteratively enlarge it until a solution is found (or the procedure times out). The key for the success of the approach is to determine, at each iteration, which domains have to be enlarged. Previously, unsatisfiable cores were used to identify the domains to be changed, but no clue was obtained as to how large the new domains should be. Here we explain two novel ways to guide this process by analyzing solutions to optimization problems: (i) to minimize the number of violated artificial domain bounds, solved via a Max-SMT solver, and (ii) to minimize the distance with respect to the artificial domains, solved via an Optimization Modulo Theories (OMT) solver. Using this SMT-based optimization technology allows smoothly extending the method to also solve Max-SMT problems over non-linear integer arithmetic. Finally we leverage the resulting Max-SMT(QF-NIA) techniques to solve ∃∀ formulas in a fragment of quantified non-linear arithmetic that appears commonly in verification and synthesis applications. CCS Concepts: •Mathematics of computing → Solvers; •Theory of computation → Logic and verification; Automated reasoning; •Computing methodologies → Equation and inequality solving algorithms; Theorem proving algorithms;

Springer eBooks, 2001
There is an increasing use of (first-and higher-order) rewrite rules in many programming language... more There is an increasing use of (first-and higher-order) rewrite rules in many programming languages and logical systems. The recursive path ordering (RPO) is a well-known tool for proving termination of such rewrite rules in the first-order case. However, RPO has some weaknesses. For instance, since it is a simplification ordering, it can only handle simply terminating systems. Several techniques have been developed for overcoming these weaknesses of RPO. A very recent such technique is the monotonic semantic path ordering (MSPO), a simple and easily automatable ordering which generalizes other more ad-hoc methods. Another recent extension of RPO is its higher-order version HORPO. HORPO is an ordering on terms of a typed lambda-calculus generated by a signature of higher-order function symbols. Although many interesting examples can be proved terminating using HORPO, it inherits the weaknesses of the first-order RPO. Therefore, there is an obvious need for higher-order termination orderings without these weaknesses. Here we define the first such ordering, the monotonic higher-order semantic path ordering (MHOSPO), which is still automatable like MSPO. We give evidence of its power by means of several natural and non-trivial examples which cannot be handled by HORPO.
Springer eBooks, 2017
We present a constraint-based method for proving conditional termination of integer programs. Bui... more We present a constraint-based method for proving conditional termination of integer programs. Building on this, we construct a framework to prove (unconditional) program termination using a powerful mechanism to combine conditional termination proofs. Our key insight is that a conditional termination proof shows termination for a subset of program execution states which do not need to be considered in the remaining analysis. This facilitates more effective termination as well as non-termination analyses, and allows handling loops with different execution phases naturally. Moreover, our method can deal with sequences of loops compositionally. In an empirical evaluation, we show that our implementation VeryMax outperforms state-of-the-art tools on a range of standard benchmarks.

Lecture Notes in Computer Science, 2000
Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in ... more Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in practice, since its monotonicity has to be proved by hand for each concrete term rewrite system (TRS). In this paper we present a monotonic variation of SPO, called MSPO. It characterizes termination, i.e., a TRS is terminating if and only if its rules are included in some MSPO. Hence MSPO is a complete termination method. On the practical side, it can be easily automated using as ingredients standard interpretations and general-purpose orderings like RPO. This is shown to be a su ciently powerful way to handle several non-trivial examples and to obtain methods like dummy elimination or dependency pairs (without the dependency graph re nement) as particular cases. Finally, we obtain some positive modularity results for termination based on MSPO. ? partially supported by the CICYT project HEMOSS ref. TIC98-0949-C02-01.
Journal of Logic and Computation, Jun 22, 2012
In most termination tools two ingredients, namely recursive path orderings (RPO) and polynomial i... more In most termination tools two ingredients, namely recursive path orderings (RPO) and polynomial interpretation orderings (POLO), are used in a consecutive disjoint way to solve the final constraints generated from the termination problem. In this paper we present a simple ordering that combines both RPO and POLO and defines a family of orderings that includes both, and extend them with the possibility of having, at the same time, an RPO-like treatment for some symbols and a POLO-like treatment for the others. The ordering is extended to higher-order terms, providing a new fully automatable use of polynomial interpretations in combination with betareduction.
12th International …, 2012
In most termination tools two ingredients, namely recursive path orderings (RPO) and polynomial i... more In most termination tools two ingredients, namely recursive path orderings (RPO) and polynomial interpretation orderings (POLO), are used in a consecutive disjoint way to solve the final constraints generated from the termination problem. We present a simple ordering that combines both RPO and POLO and defines a family of orderings that includes both, and extends them with the possibility of having, at the same time, an RPO-like treatment for some symbols and a POLO-like treatment for the others. The ordering is extended to higher-order terms, providing an automatable use of polynomial interpretations in combination with beta-reduction. * This work has been partially supported by the Spanish MEC/MICINN under grants TIN2008-04547 and TIN 2010-68093-C02-01 1 We would like to thank the anonymous referee that pointed us this possible extension
Polynomial constraint-solving plays a prominent role in several areas of engineering and software... more Polynomial constraint-solving plays a prominent role in several areas of engineering and software verification. In particular, polynomial constraint solving has a long and successful history in the development of tools for proving termination of programs. Well-known and very efficient techniques, like SAT algorithms and tools, have been recently proposed and used for implementing polynomial constraint solving algorithms through appropriate encodings. However, powerful techniques like the ones provided by the SMT (SAT modulo theories) approach for linear arithmetic constraints (over the rationals) are underexplored to date. In this paper we show that the use of these techniques for developing polynomial constraint solvers outperforms the best existing solvers and provides a new and powerful approach for implementing better and more general solvers for termination provers.
Recursive Path Orderings Can Be Context-Sensitive
Automated Deduction—CADE-18, 2002
Abstract. Context-sensitive rewriting (CSR) is a simple restriction of rewriting which can be use... more Abstract. Context-sensitive rewriting (CSR) is a simple restriction of rewriting which can be used eg for modelling non-eager evaluation in programming languages. Many times termination is a crucial property for program verification. Hence, developing tools for automatically ...

Lecture Notes in Computer Science, 2001
There is an increasing use of (first-and higher-order) rewrite rules in many programming language... more There is an increasing use of (first-and higher-order) rewrite rules in many programming languages and logical systems. The recursive path ordering (RPO) is a well-known tool for proving termination of such rewrite rules in the first-order case. However, RPO has some weaknesses. For instance, since it is a simplification ordering, it can only handle simply terminating systems. Several techniques have been developed for overcoming these weaknesses of RPO. A very recent such technique is the monotonic semantic path ordering (MSPO), a simple and easily automatable ordering which generalizes other more ad-hoc methods. Another recent extension of RPO is its higher-order version HORPO. HORPO is an ordering on terms of a typed lambda-calculus generated by a signature of higher-order function symbols. Although many interesting examples can be proved terminating using HORPO, it inherits the weaknesses of the first-order RPO. Therefore, there is an obvious need for higher-order termination orderings without these weaknesses. Here we define the first such ordering, the monotonic higher-order semantic path ordering (MHOSPO), which is still automatable like MSPO. We give evidence of its power by means of several natural and non-trivial examples which cannot be handled by HORPO.
In most termination tools two ingredients, namely recursive path orderings (RPO) and polynomial i... more In most termination tools two ingredients, namely recursive path orderings (RPO) and polynomial interpretation orderings (POLO), are used in a consecutive disjoint way to solve the final constraints generated from the termination problem. We present a simple ordering that combines both RPO and POLO and defines a family of orderings that includes both, and extends them with the possibility of having, at the same time, an RPO-like treatment for some symbols and a POLO-like treatment for the others. The ordering is extended to higher-order terms, providing an automatable use of polynomial interpretations in combination with beta-reduction. * This work has been partially supported by the Spanish MEC/MICINN under grants TIN2008-04547 and TIN 2010-68093-C02-01 1 We would like to thank the anonymous referee that pointed us this possible extension
Recursive Path Orderings Can Be Context-Sensitive
Lecture Notes in Computer Science, 2002
Abstract. Context-sensitive rewriting (CSR) is a simple restriction of rewriting which can be use... more Abstract. Context-sensitive rewriting (CSR) is a simple restriction of rewriting which can be used eg for modelling non-eager evaluation in programming languages. Many times termination is a crucial property for program verification. Hence, developing tools for automatically ...

Lecture Notes in Computer Science, 2000
Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in ... more Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in practice, since its monotonicity has to be proved by hand for each concrete term rewrite system (TRS). In this paper we present a monotonic variation of SPO, called MSPO. It characterizes termination, i.e., a TRS is terminating if and only if its rules are included in some MSPO. Hence MSPO is a complete termination method. On the practical side, it can be easily automated using as ingredients standard interpretations and general-purpose orderings like RPO. This is shown to be a su ciently powerful way to handle several non-trivial examples and to obtain methods like dummy elimination or dependency pairs (without the dependency graph re nement) as particular cases. Finally, we obtain some positive modularity results for termination based on MSPO. ? partially supported by the CICYT project HEMOSS ref. TIC98-0949-C02-01.

Proving Termination of AC-rewriting withoutExtended
Polynomial interpretations and RPO-like orderings allow one to prove termination of Associative a... more Polynomial interpretations and RPO-like orderings allow one to prove termination of Associative and Commutative (AC-)rewriting by only checking the rules of the given rewrite system without considering the so-called extended rules. However, these methods have important limitations as termination proving tools. To overcome these limitations, more powerful methods like the dependency pairs method have been extended to the AC-case. Unfortunately, in order to ensure AC-termination, the extended rules, which, in general, are hard to prove, must be added to the rewrite system. In this paper we present a new automatable ordering-based termination proving method for AC-rewriting which does not need to consider extended rules. Due to this, we can easily prove several non-trivial examples appearing in the literature that, to our knowledge, can be handled by no other automatic method.
On the termination of meta-programs. .. .. . Oliver Theel, On a control-theoretic approach for pr... more On the termination of meta-programs. .. .. . Oliver Theel, On a control-theoretic approach for proving termination Xavier Urbain, Proving termination automatically and incrementally .

Journal of Automated Reasoning, 2010
Polynomial constraint solving plays a prominent role in several areas of hardware and software an... more Polynomial constraint solving plays a prominent role in several areas of hardware and software analysis and verification, e.g., termination proving, program invariant generation and hybrid system verification, to name a few. In this paper we propose a new method for solving non-linear constraints based on encoding the problem into an SMT problem considering only linear arithmetic. Unlike other existing methods, our method focuses on proving satisfiability of the constraints rather than on proving unsatisfiability, which is more relevant in several applications as we illustrate with several examples. Nevertheless, we also present new techniques based on the analysis of unsatisfiable cores that allow one to efficiently prove unsatisfiability too for a broad class of problems. The power of our approach is demonstrated by means of extensive experiments comparing our prototype with state-of-the-art tools on benchmarks taken both from the academic and the industrial world. Keywords Non-linear arithmetic • constraint solving • polynomial constraints • SAT modulo theories • termination • system verification This work has been partially supported by the EU (FEDER) and the Spanish MEC/MICINN, under grants TIN 2007-68093-C02-01 and TIN 2007-68093-C02-02.
Context-sensitive rewriting (CSR) is a simple restriction of rewriting which can be used e.g. for... more Context-sensitive rewriting (CSR) is a simple restriction of rewriting which can be used e.g. for modelling non-eager evaluation in programming languages. Many times termination is a crucial property for program verification. Hence, developing tools for automatically proving termination of CSR is necessary. All known methods for...

Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in ... more Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in practice, since its monotonicity has to be proved by hand for each concrete term rewrite system (TRS). In this paper we present a monotonic variation of SPO, called MSPO. It characterizes termination, i.e., a TRS is terminating if and only if its rules are included in some MSPO. Hence MSPO is a complete termination method. On the practical side, it can be easily automated using as ingredients standard interpretations and general-purpose orderings like RPO. This is shown to be a sufficiently powerful way to handle several non-trivial examples and to obtain methods like dummy elimination or dependency pairs as particular cases. Finally, we obtain some positive modularity results for termination based on MSPO. 1 Introduction Rewrite systems are sets of rules (directed equations) used to compute by repeatedly replacing parts of a given formula with equal ones until the simplest po...

There is an increasing use of ( rst-and higher-order) rewrite rules in many programming languages... more There is an increasing use of ( rst-and higher-order) rewrite rules in many programming languages and logical systems. The recursive path ordering (RPO) is a well-known tool for proving termination of such rewrite rules in the rst-order case. However, RPO has some weaknesses. For instance, since it is a simpli cation ordering, it can only handle simply terminating systems. Several techniques have been developed for overcoming these weaknesses of RPO. A very recent such technique is the monotonic semantic path ordering (MSPO), a simple and easily automatizable ordering which generalizes other more ad-hoc methods. Another recent extension of RPO is its higher-order version HORPO. HORPO is an ordering on terms of a typed lambda-calculus generated by a signature of higher-order function symbols. Although many interesting examples can be proved terminating using HORPO, it inherits the weaknesses of the rst-order RPO. Therefore, there is an obvious need for higher-order termination orderings without these weaknesses. Here we de ne the rst such ordering, the monotonic higher-order semantic path ordering (MHOSPO), which is still automatizable like MSPO. We give evidence of its power by means of several natural and non-trivial examples which cannot be handled by HORPO.
Abstract. Polynomial constraint-solving plays a prominent role in several areas of engineering an... more Abstract. Polynomial constraint-solving plays a prominent role in several areas of engineering and software verification. In particular, polynomial constraint solving has a long and successful history in the development of tools for proving termination of programs. Well-known and very efficient techniques, like SAT algorithms and tools, have been recently proposed and used for implementing polynomial constraint solving algorithms through appropriate encodings. However, powerful techniques like the ones provided by the SMT (SAT modulo theories) approach for linear arithmetic constraints (over the rationals) are underexplored to date. In this paper we show that the use of these techniques for developing polynomial constraint solvers outperforms the best existing solvers and provides a new and powerful approach for implementing better and more general solvers for termination provers.

We will show how to translate the termination proof of a term rewrite system (TRS) using the Mono... more We will show how to translate the termination proof of a term rewrite system (TRS) using the Monotonic Semantic Path Ordering (MSPO) [BFR00] into a constraint solving problem. By using the definition of MSPO a disjunction of constraints is obtained, such that, if any of these constraints can be solved, then the TRS is proved to be terminating. Our constraints have the same semantics as the ones obtained by the successful Arts and Giesl’s Dependency Pair method (DP) [AG00], and, in particular, one of the constraints obtained from the definition of the MSPO coincides with the one given by the DP method. On the one hand, this shows that DP can be seen as a particular case of our method, and the examples show that the constraint considered by DP is not always the best one to be considered. On the other hand, since both kind of constraints share the same semantics, we can reuse all techniques developed to solve DP constraints like, for instance, the DP graph or many other ideas developed...
Uploads
Papers by Cristina Borralleras