6 research outputs found

    Normal forms and normal theories in conditional rewriting

    Full text link
    this is the author’s version of a work that was accepted for publication in Journal of Logical and Algebraic Methods in Programming. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Journal of Logical and Algebraic Methods in Programming vol. 85 (2016) DOI 10.1016/j.jlamp.2015.06.001We present several new concepts and results on conditional term rewriting within the general framework of order-sorted rewrite theories (OSRTs), which support types, subtypes and rewriting modulo axioms, and contains the more restricted framework of conditional term rewriting systems (CTRSs) as a special case. The concepts shed light on several subtle issues about conditional rewriting and conditional termination. We point out that the notions of irreducible term and of normal form, which coincide for unconditional rewriting, have been conflated for conditional rewriting but are in fact totally different notions. Normal form is a stronger concept. We call any rewrite theory where all irreducible terms are normal forms a normal theory. We argue that normality is essential to have good executability and computability properties. Therefore we call all other theories abnormal, freaks of nature to be avoided. The distinction between irreducible terms and normal forms helps in clarifying various notions of strong and weak termination. We show that abnormal theories can be terminating in various, equally abnormal ways; and argue that any computationally meaningful notion of strong or weak conditional termination should be a property of normal theories. In particular we define the notion of a weakly operationally terminating (or weakly normalizing) OSRT, discuss several evaluation mechanisms to compute normal forms in such theories, and investigate general conditions under which the rewriting-based operational semantics and the initial algebra semantics of a confluent, weakly normalizing OSRT coincide thanks to a notion of canonical term algebra. Finally, we investigate appropriate conditions and proof methods to ensure that a rewrite theory is normal; and characterize the stronger property of a rewrite theory being operationally terminating in terms of a natural generalization of the notion of quasidecreasing order. (C) 2015 Elsevier Inc. All rights reserved.We thank the anonymous referees for their constructive criticism and helpful comments. This work has been partially supported by NSF grant CNS 13-19109. Salvador Lucas' research was developed during a sabbatical year at UIUC and was also supported by the EU (FEDER), Spanish MINECO projects TIN2010-21062-C02-02 and TIN 2013-45732-C4-1-P, and GV grant BEST/2014/026 and project PROMETEO/2011/052.Lucas Alba, S.; Meseguer, J. (2016). Normal forms and normal theories in conditional rewriting. Journal of Logical and Algebraic Methods in Programming. 85(1):67-97. https://doi.org/10.1016/j.jlamp.2015.06.001S679785

    Variant-based Equational Unification under Constructor Symbols

    Full text link
    Equational unification of two terms consists of finding a substitution that, when applied to both terms, makes them equal modulo some equational properties. A narrowing-based equational unification algorithm relying on the concept of the variants of a term is available in the most recent version of Maude, version 3.0, which provides quite sophisticated unification features. A variant of a term t is a pair consisting of a substitution sigma and the canonical form of tsigma. Variant-based unification is decidable when the equational theory satisfies the finite variant property. However, this unification procedure does not take into account constructor symbols and, thus, may compute many more unifiers than the necessary or may not be able to stop immediately. In this paper, we integrate the notion of constructor symbol into the variant-based unification algorithm. Our experiments on positive and negative unification problems show an impressive speedup.Comment: In Proceedings ICLP 2020, arXiv:2009.09158. arXiv admin note: substantial text overlap with arXiv:1909.0824

    The 2D Dependency Pair Framework for Conditional Rewrite Systems¿Part II: Advanced Processors and Implementation Techniques

    Full text link
    [EN] Proving termination of programs in `real-life¿ rewriting-based languages like CafeOBJ, Haskell, Maude, etc., is an important subject of research. To advance this goal, faithfully cap- turing the impact in the termination behavior of the main language features (e.g., conditions in program rules) is essential. In Part I of this work, we have introduced a 2D Dependency Pair Framework for automatically proving termination properties of Conditional Term Rewriting Systems. Our framework relies on the notion of processor as the main practical device to deal with proofs of termination properties of conditional rewrite systems. Processors are used to decompose and simplify the proofs in a divide and conquer approach. With the basic proof framework defined in Part I, here we introduce new processors to further improve the abil- ity of the 2D Dependency Pair Framework to deal with proofs of termination properties of conditional rewrite systems. We also discuss relevant implementation techniques to use such processors in practice.Partially supported by the EU (FEDER) and projects RTI2018-094403-B-C32, PROMETEO/2019/098, SP20180225. Jose Meseguer was supported by grants NSF CNS 13-19109 and NRL N00173-17-1-G002. Salvador Lucas' research was partly developed during a sabbatical year at the UIUC.Lucas Alba, S.; Meseguer, J.; Gutiérrez Gil, R. (2020). The 2D Dependency Pair Framework for Conditional Rewrite Systems¿Part II: Advanced Processors and Implementation Techniques. Journal of Automated Reasoning. 64(8):1611-1662. https://doi.org/10.1007/s10817-020-09542-3S16111662648Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236(1–2), 133–178 (2000)Alarcón, B., Gutiérrez, R., Lucas, S., Navarro-Marset, R.: Proving termination properties with MU-TERM. In: Proceedings of AMAST’10, LNCS, vol. 6486, pp. 201–208 (2011)Baader, F., Nipkow, T.: Term Rewriting and all That. Cambridge University Press, Cambridge (1998)Barwise, J.: An introduction to first-order logic. In: Barwise, J. (ed.) Handbook of Mathematical Logic. North-Holland, Amsterdam (1977)Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude—A High-Performance Logical Framework. LNCS 4350, Springer, New York (2007)Contejean, E., Marché, C., Tomás, A.-P., Urbain, X.: Mechanically proving termination using polynomial interpretations. J. Autom. Reason. 34(4), 325–363 (2006)Dershowitz, N.: A note on simplification orderings. Inf. Process. Lett. 9(5), 212–215 (1979)Durán, F., Lucas, S., Meseguer, J.: MTT: the Maude termination tool (system description). In: Proceedings of IJCAR’08, LNAI, vol. 5195, pp. 313–319 (2008)Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2–3), 195–220 (2008)Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: Automatic Termination proofs in the dependency pair framework. In: Proceeding of IJCAR’06, LNAI, vol. 4130, pp. 281–286 (2006)Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: Proceedings of LPAR’04, LNAI, vol. 3452, pp. 301–331 (2004)Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)Goguen, J., Meseguer, J.: Models and equality for logical programming. In: Proceedings of TAPSOFT’87, LNCS, vol. 250, pp. 1–22 (1987)Gutiérrez, R., Lucas, S.: Automatic generation of logical models with AGES. In: Proceedings of CADE 2019, LNCS, vol. 11716, pp. 287–299 (2019). Tool page: http://zenon.dsic.upv.es/ages/Hirokawa, N., Middeldorp, A.: Dependency pairs revisited. In: Proceedings of RTA’04, LNCS, vol. 3091, pp. 249–268 (2004)Hodges, W.: Elementary predicate logic. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, vol. 1, pp. 1–131. Reidel Publishing Company, Dordrecht (1983)Lankford, D.S.: On proving term rewriting systems are noetherian. Technical Report, Louisiana Technological University, Ruston, LA (1979)Lucas, S.: Using Well-founded relations for proving operational termination. J. Autom. Reason. to appear (2020). https://doi.org/10.1007/s10817-019-09514-2Lucas, S., Gutiérrez, R.: Automatic synthesis of logical models for order-sorted first-order theories. J. Autom. Reason. 60(4), 465–501 (2018)Lucas, S., Gutiérrez, R.: Use of logical models for proving infeasibility in term rewriting. Inf. Process. Lett. 136, 90–95 (2018)Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Inf. Process. Lett. 95, 446–453 (2005)Lucas, S., Meseguer, J.: Models for logics and conditional constraints in automated proofs of termination. In: Proceedings of AISC’14, LNAI, vol. 8884, pp. 9–20 (2014)Lucas, S., Meseguer, J.: 2D Dependency pairs for proving operational termination of CTRSs. In: Escobar, S., (ed) Proceedings of the 10th International Workshop on Rewriting Logic and its Applications, WRLA’14, LNCS, vol. 8663, pp. 195–212 (2014)Lucas, S., Meseguer, J.: Dependency pairs for proving termination properties of conditional term rewriting systems. J. Log. Algebr. Methods Program. 86, 236–268 (2017)Lucas, S., Meseguer, J.: Normal forms and normal theories in conditional rewriting. J. Log. Algebr. Methods Program. 85(1), 67–97 (2016)Lucas, S., Meseguer, J., Gutiérrez, R.: Extending the 2D DP framework for conditional term rewriting systems. In: Selected Papers from LOPSTR’14, LNCS, vol. 8981, pp. 113–130 (2015)Lucas, S., Meseguer, J., Gutiérrez, R.: The 2D dependency pair framework for conditional rewrite systems. Part I: Definition and basic processors. J. Comput. Syst. Sci. 96, 74–106 (2018)McCune, W.: Prover9 & Mace4. http://www.cs.unm.edu/~mccune/prover9/ (2005–2010)Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, New York (2002)Schernhammer, F., Gramlich, B.: Characterizing and proving operational termination of deterministic conditional term rewriting systems. J. Log. Algebr. Program. 79, 659–688 (2010)Sternagel, T., Middeldorp, A.: Conditional confluence (system description). In: Proceedings of RTA-TLCA’14, LNCS, vol. f8560, pp. 456–465 (2014)Sternagel, T., Middeldorp, A.: Infeasible conditional critical pairs. In: Proceedings of IWC’15, pp. 13–18 (2014)Thiemann, R.: The DP Framework for Proving Termination of Term Rewriting. PhD Thesis, RWTH Aachen, Technical Report AIB-2007-17 (2007)Thiemann, R., Giesl, J., Schneider-Kamp, P.: Improved modular termination proofs using dependency pairs. In: Proceedings of IJCAR’04, LNAI, vol. 3097, pp. 75–90 (2004)Wang, H.: Logic of many-sorted theories. J. Symb. Log. 17(2), 105–116 (1952

    Programming and symbolic computation in Maude

    Full text link
    [EN] Rewriting logic is both a flexible semantic framework within which widely different concurrent systems can be naturally specified and a logical framework in which widely different logics can be specified. Maude programs are exactly rewrite theories. Maude has also a formal environment of verification tools. Symbolic computation is a powerful technique for reasoning about the correctness of concurrent systems and for increasing the power of formal tools. We present several new symbolic features of Maude that enhance formal reasoning about Maude programs and the effectiveness of formal tools. They include: (i) very general unification modulo user-definable equational theories, and (ii) symbolic reachability analysis of concurrent systems using narrowing. The paper does not focus just on symbolic features: it also describes several other new Maude features, including: (iii) Maude's strategy language for controlling rewriting, and (iv) external objects that allow flexible interaction of Maude object-based concurrent systems with the external world. In particular, meta-interpreters are external objects encapsulating Maude interpreters that can interact with many other objects. To make the paper self-contained and give a reasonably complete language overview, we also review the basic Maude features for equational rewriting and rewriting with rules, Maude programming of concurrent object systems, and reflection. Furthermore, we include many examples illustrating all the Maude notions and features described in the paper.Duran has been partially supported by MINECO/FEDER project TIN2014-52034-R. Escobar has been partially supported by the EU (FEDER) and the MCIU under grant RTI2018-094403-B-C32, by the Spanish Generalitat Valenciana under grant PROMETE0/2019/098, and by the US Air Force Office of Scientific Research under award number FA9550-17-1-0286. MartiOliet and Rubio have been partially supported by MCIU Spanish project TRACES (TIN2015-67522-C3-3-R). Rubio has also been partially supported by a MCIU grant FPU17/02319. Meseguer and Talcott have been partially supported by NRL Grant N00173 -17-1-G002. Talcott has also been partially supported by ONR Grant N00014-15-1-2202.Durán, F.; Eker, S.; Escobar Román, S.; NARCISO MARTÍ OLIET; José Meseguer; Rubén Rubio; Talcott, C. (2020). Programming and symbolic computation in Maude. Journal of Logical and Algebraic Methods in Programming. 110:1-58. https://doi.org/10.1016/j.jlamp.2019.100497S158110Alpuente, M., Escobar, S., Espert, J., & Meseguer, J. (2014). A modular order-sorted equational generalization algorithm. Information and Computation, 235, 98-136. doi:10.1016/j.ic.2014.01.006K. Bae, J. Meseguer, Predicate abstraction of rewrite theories, in: [36], 2014, pp. 61–76.Bae, K., & Meseguer, J. (2015). Model checking linear temporal logic of rewriting formulas under localized fairness. Science of Computer Programming, 99, 193-234. doi:10.1016/j.scico.2014.02.006Bae, K., Meseguer, J., & Ölveczky, P. C. (2014). Formal patterns for multirate distributed real-time systems. Science of Computer Programming, 91, 3-44. doi:10.1016/j.scico.2013.09.010P. Borovanský, C. Kirchner, H. Kirchner, P.E. Moreau, C. Ringeissen, An overview of ELAN, in: [77], 1998, pp. 55–70.Bouhoula, A., Jouannaud, J.-P., & Meseguer, J. (2000). Specification and proof in membership equational logic. Theoretical Computer Science, 236(1-2), 35-132. doi:10.1016/s0304-3975(99)00206-6Bravenboer, M., Kalleberg, K. T., Vermaas, R., & Visser, E. (2008). Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming, 72(1-2), 52-70. doi:10.1016/j.scico.2007.11.003Bruni, R., & Meseguer, J. (2006). Semantic foundations for generalized rewrite theories. Theoretical Computer Science, 360(1-3), 386-414. doi:10.1016/j.tcs.2006.04.012M. Clavel, F. Durán, S. Eker, S. Escobar, P. Lincoln, N. Martí-Oliet, C.L. Talcott, Two decades of Maude, in: [86], 2015, pp. 232–254.Clavel, M., Durán, F., Eker, S., Lincoln, P., Martı́-Oliet, N., Meseguer, J., & Quesada, J. F. (2002). Maude: specification and programming in rewriting logic. Theoretical Computer Science, 285(2), 187-243. doi:10.1016/s0304-3975(01)00359-0Clavel, M., & Meseguer, J. (2002). Reflection in conditional rewriting logic. Theoretical Computer Science, 285(2), 245-288. doi:10.1016/s0304-3975(01)00360-7F. Durán, S. Eker, S. Escobar, N. Martí-Oliet, J. Meseguer, C.L. Talcott, Associative unification and symbolic reasoning modulo associativity in Maude, in: [121], 2018, pp. 98–114.Durán, F., Lucas, S., Marché, C., Meseguer, J., & Urbain, X. (2008). Proving operational termination of membership equational programs. Higher-Order and Symbolic Computation, 21(1-2), 59-88. doi:10.1007/s10990-008-9028-2F. Durán, J. Meseguer, An extensible module algebra for Maude, in: [77], 1998, pp. 174–195.Durán, F., & Meseguer, J. (2003). Structured theories and institutions. Theoretical Computer Science, 309(1-3), 357-380. doi:10.1016/s0304-3975(03)00312-8Durán, F., & Meseguer, J. (2007). Maude’s module algebra. Science of Computer Programming, 66(2), 125-153. doi:10.1016/j.scico.2006.07.002Durán, F., & Meseguer, J. (2012). On the Church-Rosser and coherence properties of conditional order-sorted rewrite theories. The Journal of Logic and Algebraic Programming, 81(7-8), 816-850. doi:10.1016/j.jlap.2011.12.004F. Durán, P.C. Ölveczky, A guide to extending Full Maude illustrated with the implementation of Real-Time Maude, in: [116], 2009, pp. 83–102.S. Escobar, Multi-paradigm programming in Maude, in: [121], 2018, pp. 26–44.Escobar, S., Meadows, C., Meseguer, J., & Santiago, S. (2014). State space reduction in the Maude-NRL Protocol Analyzer. Information and Computation, 238, 157-186. doi:10.1016/j.ic.2014.07.007Escobar, S., Sasse, R., & Meseguer, J. (2012). Folding variant narrowing and optimal variant termination. The Journal of Logic and Algebraic Programming, 81(7-8), 898-928. doi:10.1016/j.jlap.2012.01.002H. Garavel, M. Tabikh, I. Arrada, Benchmarking implementations of term rewriting and pattern matching in algebraic, functional, and object-oriented languages – the 4th rewrite engines competition, in: [121], 2018, pp. 1–25.Goguen, J. A., & Burstall, R. M. (1992). Institutions: abstract model theory for specification and programming. Journal of the ACM, 39(1), 95-146. doi:10.1145/147508.147524Goguen, J. A., & Meseguer, J. (1984). Equality, types, modules, and (why not?) generics for logic programming. The Journal of Logic Programming, 1(2), 179-210. doi:10.1016/0743-1066(84)90004-9Goguen, J. A., & Meseguer, J. (1992). Order-sorted algebra I: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science, 105(2), 217-273. doi:10.1016/0304-3975(92)90302-vR. Gutiérrez, J. Meseguer, Variant-based decidable satisfiability in initial algebras with predicates, in: [61], 2018, pp. 306–322.Gutiérrez, R., Meseguer, J., & Rocha, C. (2015). Order-sorted equality enrichments modulo axioms. Science of Computer Programming, 99, 235-261. doi:10.1016/j.scico.2014.07.003Horn, A. (1951). On sentences which are true of direct unions of algebras. Journal of Symbolic Logic, 16(1), 14-21. doi:10.2307/2268661Katelman, M., Keller, S., & Meseguer, J. (2012). Rewriting semantics of production rule sets. The Journal of Logic and Algebraic Programming, 81(7-8), 929-956. doi:10.1016/j.jlap.2012.06.002Kowalski, R. (1979). Algorithm = logic + control. Communications of the ACM, 22(7), 424-436. doi:10.1145/359131.359136Lucanu, D., Rusu, V., & Arusoaie, A. (2017). A generic framework for symbolic execution: A coinductive approach. Journal of Symbolic Computation, 80, 125-163. doi:10.1016/j.jsc.2016.07.012D. Lucanu, V. Rusu, A. Arusoaie, D. Nowak, Verifying reachability-logic properties on rewriting-logic specifications, in: [86], 2015, pp. 451–474.Lucas, S., & Meseguer, J. (2016). Normal forms and normal theories in conditional rewriting. Journal of Logical and Algebraic Methods in Programming, 85(1), 67-97. doi:10.1016/j.jlamp.2015.06.001N. Martí-Oliet, J. Meseguer, A. Verdejo, A rewriting semantics for Maude strategies, in: [116], 2009, pp. 227–247.Martí-Oliet, N., Palomino, M., & Verdejo, A. (2007). Strategies and simulations in a semantic framework. Journal of Algorithms, 62(3-4), 95-116. doi:10.1016/j.jalgor.2007.04.002Meseguer, J. (1992). Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1), 73-155. doi:10.1016/0304-3975(92)90182-fMeseguer, J. (2012). Twenty years of rewriting logic. The Journal of Logic and Algebraic Programming, 81(7-8), 721-781. doi:10.1016/j.jlap.2012.06.003Meseguer, J. (2017). Strict coherence of conditional rewriting modulo axioms. Theoretical Computer Science, 672, 1-35. doi:10.1016/j.tcs.2016.12.026J. Meseguer, Generalized rewrite theories and coherence completion, in: [121], 2018, pp. 164–183.Meseguer, J. (2018). Variant-based satisfiability in initial algebras. Science of Computer Programming, 154, 3-41. doi:10.1016/j.scico.2017.09.001Meseguer, J., Goguen, J. A., & Smolka, G. (1989). Order-sorted unification. Journal of Symbolic Computation, 8(4), 383-413. doi:10.1016/s0747-7171(89)80036-7Meseguer, J., & Ölveczky, P. C. (2012). Formalization and correctness of the PALS architectural pattern for distributed real-time systems. Theoretical Computer Science, 451, 1-37. doi:10.1016/j.tcs.2012.05.040Meseguer, J., Palomino, M., & Martí-Oliet, N. (2008). Equational abstractions. Theoretical Computer Science, 403(2-3), 239-264. doi:10.1016/j.tcs.2008.04.040Meseguer, J., & Roşu, G. (2007). The rewriting logic semantics project. Theoretical Computer Science, 373(3), 213-237. doi:10.1016/j.tcs.2006.12.018Meseguer, J., & Roşu, G. (2013). The rewriting logic semantics project: A progress report. Information and Computation, 231, 38-69. doi:10.1016/j.ic.2013.08.004Meseguer, J., & Skeirik, S. (2017). Equational formulas and pattern operations in initial order-sorted algebras. Formal Aspects of Computing, 29(3), 423-452. doi:10.1007/s00165-017-0415-5Meseguer, J., & Thati, P. (2007). Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols. Higher-Order and Symbolic Computation, 20(1-2), 123-160. doi:10.1007/s10990-007-9000-6C. Olarte, E. Pimentel, C. Rocha, Proving structural properties of sequent systems in rewriting logic, in: [121], 2018, pp. 115–135.Ölveczky, P. C., & Meseguer, J. (2007). Semantics and pragmatics of Real-Time Maude. Higher-Order and Symbolic Computation, 20(1-2), 161-196. doi:10.1007/s10990-007-9001-5Ölveczky, P. C., & Thorvaldsen, S. (2009). Formal modeling, performance estimation, and model checking of wireless sensor network algorithms in Real-Time Maude. Theoretical Computer Science, 410(2-3), 254-280. doi:10.1016/j.tcs.2008.09.022Rocha, C., Meseguer, J., & Muñoz, C. (2017). Rewriting modulo SMT and open system analysis. Journal of Logical and Algebraic Methods in Programming, 86(1), 269-297. doi:10.1016/j.jlamp.2016.10.001Şerbănuţă, T. F., Roşu, G., & Meseguer, J. (2009). A rewriting logic approach to operational semantics. Information and Computation, 207(2), 305-340. doi:10.1016/j.ic.2008.03.026Skeirik, S., & Meseguer, J. (2018). Metalevel algorithms for variant satisfiability. Journal of Logical and Algebraic Methods in Programming, 96, 81-110. doi:10.1016/j.jlamp.2017.12.006S. Skeirik, A. Ştefănescu, J. Meseguer, A constructor-based reachability logic for rewrite theories, in: [61], 2018, pp. 201–217.Strachey, C. (2000). Higher-Order and Symbolic Computation, 13(1/2), 11-49. doi:10.1023/a:1010000313106A. Ştefănescu, S. Ciobâcă, R. Mereuta, B.M. Moore, T. Serbanuta, G. Roşu, All-path reachability logic, in: [36], 2014, pp. 425–440.Tushkanova, E., Giorgetti, A., Ringeissen, C., & Kouchnarenko, O. (2015). A rule-based system for automatic decidability and combinability. Science of Computer Programming, 99, 3-23. doi:10.1016/j.scico.2014.02.00
    corecore