46 research outputs found

    Optimizing a Certified Proof Checker for a Large-Scale Computer-Generated Proof

    Full text link
    In recent work, we formalized the theory of optimal-size sorting networks with the goal of extracting a verified checker for the large-scale computer-generated proof that 25 comparisons are optimal when sorting 9 inputs, which required more than a decade of CPU time and produced 27 GB of proof witnesses. The checker uses an untrusted oracle based on these witnesses and is able to verify the smaller case of 8 inputs within a couple of days, but it did not scale to the full proof for 9 inputs. In this paper, we describe several non-trivial optimizations of the algorithm in the checker, obtained by appropriately changing the formalization and capitalizing on the symbiosis with an adequate implementation of the oracle. We provide experimental evidence of orders of magnitude improvements to both runtime and memory footprint for 8 inputs, and actually manage to check the full proof for 9 inputs.Comment: IMADA-preprint-c

    Models for logics and conditional constraints in automated proofs of termination

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-13770-4_3Reasoning about termination of declarative programs, which are described by means of a computational logic, requires the definition of appropriate abstractions as semantic models of the logic, and also handling the conditional constraints which are often obtained. The formal treatment of such constraints in automated proofs, often using numeric interpretations and (arithmetic) constraint solving can greatly benefit from appropriate techniques to deal with the conditional (in)equations at stake. Existing results from linear algebra or real algebraic geometry are useful to deal with them but have received only scant attention to date. We investigate the definition and use of numeric models for logics and the resolution of linear and algebraic conditional constraints as unifying techniques for proving termination of declarative programs.Developed during a sabbatical year at UIUC. Supported by projects NSF CNS13-19109, MINECO TIN2010-21062-C02-02 and TIN2013-45732-C4-1-P, and GV BEST/2014/026 and PROMETEO/2011/052.Lucas Alba, S.; Meseguer, J. (2014). Models for logics and conditional constraints in automated proofs of termination. En Artificial Intelligence and Symbolic Computation. Springer Verlag (Germany). 9-20. https://doi.org/10.1007/978-3-319-13770-4_3S920Alarcón, B., Gutiérrez, R., Lucas, S., Navarro-Marset, R.: Proving Termination Properties with mu-term. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 201–208. Springer, Heidelberg (2011)Alarcón, B., Lucas, S., Navarro-Marset, R.: Using Matrix Interpretations over the Reals in Proofs of Termination. In: Proc. of PROLE 2009, pp. 255–264 (2009)Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C. (eds.): All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)Contejean, E., Marché, C., Tomás, A.-P., Urbain, X.: Mechanically proving termination using polynomial interpretations. J. of Aut. Reas. 34(4), 325–363 (2006)Endrullis, J., Waldmann, J., Zantema, H.: Matrix Interpretations for Proving Termination of Term Rewriting. J. of Aut. Reas. 40(2-3), 195–220 (2008)Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: Maximal Termination. In: Voronkov, A. (ed.) RTA 2008. LNCS, vol. 5117, pp. 110–125. Springer, Heidelberg (2008)Futatsugi, K., Diaconescu, R.: CafeOBJ Report. AMAST Series. World Scientific (1998)Hudak, P., Peyton-Jones, S.J., Wadler, P.: Report on the Functional Programming Language Haskell: a non–strict, purely functional language. Sigplan Notices 27(5), 1–164 (1992)Lucas, S.: Context-sensitive computations in functional and functional logic programs. Journal of Functional and Logic Programming 1998(1), 1–61 (1998)Lucas, S.: Polynomials over the reals in proofs of termination: from theory to practice. RAIRO Theoretical Informatics and Applications 39(3), 547–586 (2005)Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Information Processing Letters 95, 446–453 (2005)Lucas, S., Meseguer, J.: Proving Operational Termination of Declarative Programs in General Logics. In: Proc. of PPDP 2014, pp. 111–122. ACM Digital Library (2014)Lucas, S., Meseguer, J.: 2D Dependency Pairs for Proving Operational Termination of CTRSs. In: Proc. of WRLA 2014. LNCS, vol. 8663 (to appear, 2014)Lucas, S., Meseguer, J., Gutiérrez, R.: Extending the 2D DP Framework for CTRSs. In: Selected papers of LOPSTR 2014. LNCS (to appear, 2015)Meseguer, J.: General Logics. In: Ebbinghaus, H.-D., et al. (eds.) Logic Colloquium 1987, pp. 275–329. North-Holland (1989)Nguyen, M.T., de Schreye, D., Giesl, J., Schneider-Kamp, P.: Polytool: Polynomial interpretations as a basis for termination of logic programs. Theory and Practice of Logic Programming 11(1), 33–63 (2011)Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer (April 2002)Prestel, A., Delzell, C.N.: Positive Polynomials. In: From Hilbert’s 17th Problem to Real Algebra. Springer, Berlin (2001)Podelski, A., Rybalchenko, A.: A Complete Method for the Synthesis of Linear Ranking Functions. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 239–251. Springer, Heidelberg (2004)Schrijver, A.: Theory of linear and integer programming. John Wiley & Sons (1986)Zantema, H.: Termination of Context-Sensitive Rewriting. In: Comon, H. (ed.) RTA 1997. LNCS, vol. 1232, pp. 172–186. Springer, Heidelberg (1997

    Using Representation Theorems for Proving Polynomials Non-negative

    Full text link
    Proving polynomials non-negative when variables range on a subset of numbers (e.g., [0, +∞)) is often required in many applications (e.g., in the analysis of program termination). Several representations for univariate polynomials P that are non-negative on [0, +∞) have been investigated. They can often be used to characterize the property, thus providing a method for checking it by trying a match of P against the representation. We introduce a new characterization based on viewing polynomials P as vectors, and find the appropriate polynomial basis B in which the non-negativeness of the coordinates [P]B representing P in B witnesses that P is non-negative on [0, +∞). Matching a polynomial against a representation provides a way to transform universal sentences ∀x ∈ [0, +∞) P(x) ≥ 0 into a constraint solving problem which can be solved by using efficient methods. We consider different approaches to solve both kind of problems and provide a quantitative evaluation of performance that points to an early result by P´olya and Szeg¨o’s as an appropriate basis for implementations in most cases.Lucas Alba, S. (2014). Using Representation Theorems for Proving Polynomials Non-negative. En Artificial Intelligence and Symbolic Computation: 12th International Conference, AISC 2014, Seville, Spain, December 11-13, 2014. Proceedings. Springer Verlag (Germany). 21-33. doi:10.1007/978-3-319-13770-4_4S2133Alarcón, B., Gutiérrez, R., Lucas, S., Navarro-Marset, R.: Proving Termination Properties with mu-term. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 201–208. Springer, Heidelberg (2011)Basu, S., Pollack, R., Roy, M.-F.: Algorithms in Real Algebraic Geometry. Springer, Berlin (2006)Bernstein, S.: Démonstration du théorème de Weierstrass fondée sur le calcul des probabilités. Communic. Soc. Math. de Kharkow 13(2), 1–2 (1912)Bernstein, S.: Sur la répresentation des polynômes positifs. Communic. Soc. Math. de Kharkow 14(2), 227–228 (1915)Borralleras, C., Lucas, S., Oliveras, A., Rodríguez, E., Rubio, A.: SAT Modulo Linear Arithmetic for Solving Polynomial Constraints. Journal of Automated Reasoning 48, 107–131 (2012)Boudaoud, F., Caruso, F., Roy, M.-F.: Certificates of Positivity in the Bernstein Basis. Discrete Computational Geometry 39, 639–655 (2008)Choi, M.D., Lam, T.Y., Reznick, B.: Sums of squares of real polynomials. In: Proc. of the Symposium on Pure Mathematics, vol. 4, pp. 103–126. American Mathematical Society (1995)Contejean, E., Marché, C., Tomás, A.-P., Urbain, X.: Mechanically proving termination using polynomial interpretations. Journal of Automated Reasoning 32(4), 315–355 (2006)Hilbert, D.: Über die Darstellung definiter Formen als Summe von Formenquadraten. Mathematische Annalen 32, 342–350 (1888)Hong, H., Jakuš, D.: Testing Positiveness of Polynomials. Journal of Automated Reasoning 21, 23–38 (1998)Karlin, S., Studden, W.J.: Tchebycheff systems: with applications in analysis and statistics. Interscience, New York (1966)Lucas, S.: Polynomials over the reals in proofs of termination: from theory to practice. RAIRO Theoretical Informatics and Applications 39(3), 547–586 (2005)Polya, G., Szegö, G.: Problems and Theorems in Analysis II. Springer (1976)Powers, V., Reznick, B.: Polynomials that are positive on an interval. Transactions of the AMS 352(10), 4677–4692 (2000)Powers, V., Wörmann, T.: An algorithm for sums of squares of real polynomials. Journal of Pure and Applied Algebra 127, 99–104 (1998

    Improved Matrix Interpretation

    No full text
    We present a new technique to prove termination of Term RewritingSystems, with full automation. A crucial task in this context is to find suitablewell-founded orderings. A popular approach consists in interpreting terms intoa domain equipped with an adequate well-founded ordering. In addition to theusual interpretations: natural numbers or polynomials over integer/rational numbers,the recently introduced matrix based interpretations have proved to be veryefficient regarding termination of string rewriting and of term rewriting. In thisspirit we propose to interpret terms as polynomials over integer matrices. Designedfor term rewriting, our generalisation subsumes previous approaches allowingfor more orderings without increasing the search space. Thus it performsbetter than the original version. Another advantage is that, interpreting terms toactual polynomials of matrices, it opens the way to matrix non linear interpretations.This result is implemented in the CiME3 rewriting toolkit

    Bag Equivalence via a Proof-Relevant Membership Relation

    No full text
    Abstract. Two lists are bag equivalent if they are permutations of each other, i.e. if they contain the same elements, with the same multiplicity, but perhaps not in the same order. This paper describes how one can define bag equivalence as the presence of bijections between sets of membership proofs. This definition has some desirable properties: – Many bag equivalences can be proved using a flexible form of equational reasoning. – The definition generalises easily to arbitrary unary containers, including types with infinite values, such as streams. – By using a slight variation of the definition one gets set equivalence instead, i.e. equality up to order and multiplicity. Other variations give the subset and subbag preorders. – The definition works well in mechanised proofs.

    Generalized and Formalized Uncurrying

    No full text
    Uncurrying is a termination technique for applicative term rewrite systems. During our formalization of uncurrying in the theorem prover Isabelle, we detected a gap in the original pen-and-paper proof which cannot directly be filled without further preconditions. Our final formalization does not demand additional preconditions, and generalizes the existing techniques since it allows to uncurry non-applicative term rewrite systems. Furthermore, we provide new results on uncurrying for relative termination and for dependency pairs
    corecore