Abstract
Narrowing is a procedure that was conceived in the context of equational E-unification, and that has also been used in a wide range of applications. The classic completeness result due to Hullot states that any term rewriting derivation starting from an instance of an expression that has been obtained by using a normalized substitution can be ‘lifted’ to a narrowing derivation. Since then, several variants and extensions of narrowing have been developed in order to improve that result under certain assumptions or for particular classes of term rewriting systems.
In this work we propose a new narrowing notion for constructor systems that is based on the novel notion of s-unifier, that essentially allows a variable to be bound to several expressions at the same time. A Maude-based implementation for this narrowing relation, using an adaptation of natural narrowing as on-demand evaluation strategy, is presented, and its use for symbolic reachability analysis applied to the verification of cryptographic protocols is also outlined.
Research partially supported by the Spanish projects DESAFIOS10 (TIN2009-14599-C03-01), FAST-STAMP (TIN2008-06622-C03-01/TIN), PROMETIDOS-CM (S2009/TIC-1465), and GPD-UCM (UCM-BSCH-GR58/08-910502).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Antoy, S., Hanus, M.: Overlapping Rules and Logic Variables in Functional Logic Programs. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 87–101. Springer, Heidelberg (2006)
Antoy, S., Hanus, M.: Functional logic programming. Communications of the ACM 53(4), 74–85 (2010)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press (1998)
Baader, F., Snyder, W.: Unification theory. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 445–532. Elsevier and MIT Press (2001)
Bouhoula, A., Jouannaud, J.-P., Meseguer, J.: Specification and proof in membership equational logic. Theoretical Computer Science 236, 35–132 (2000)
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)
Dolev, D., Yao, A.C.-C.: On the security of public key protocols. IEEE Transactions on Information Theory 29(2), 198–207 (1983)
Durán, F., Eker, S., Escobar, S., Meseguer, J., Talcott, C.L.: Variants, unification, narrowing, and symbolic reachability in maude 2.6. In: Schmidt-Schauß, M. (ed.) RTA. LIPIcs, vol. 10, pp. 31–40. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2011)
Escobar, S.: Implementing Natural Rewriting and Narrowing Efficiently. In: Kameyama, Y., Stuckey, P.J. (eds.) FLOPS 2004. LNCS, vol. 2998, pp. 147–162. Springer, Heidelberg (2004)
Hanus, M.: Functional logic programming: From theory to Curry. Technical report, Christian-Albrechts-Universität Kiel (2005)
Hullot, J.: Canonical Forms and Unification. In: Bibel, W., Kowalski, R. (eds.) Automated Deduction. LNCS, vol. 87, pp. 318–334. Springer, Heidelberg (1980)
López-Fraguas, F.J., Rodríguez-Hortalá, J., Sánchez-Hernández, J.: A Fully Abstract Semantics for Constructor Systems. In: Treinen, R. (ed.) RTA 2009. LNCS, vol. 5595, pp. 320–334. Springer, Heidelberg (2009)
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)
Meseguer, J., Roşu, G.: The rewriting logic semantics project. Theoretical Computer Science 373(3), 213–237 (2007)
Meseguer, J., Thati, P.: Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols. Higher-Order and Symbolic Computation 20(1-2), 123–160 (2007)
Middeldorp, A., Hamoen, E.: Completeness results for basic narrowing. Appl. Algebra Eng. Commun. Comput. 5, 213–253 (1994)
Riesco, A., Rodríguez-Hortalá, J.: Generators: Detailed proofs. Technical Report 07/12, DSIC (2012), http://gpd.sip.ucm.es/snarrowing
Riesco, A., Rodríguez-Hortalá, J.: S-narrowing for constructor systems: Detailed proofs. Technical report, DSIC (2012), http://gpd.sip.ucm.es/snarrowing
Rodríguez-Hortalá, J.: A hierarchy of semantics for non-deterministic term rewriting systems. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) Proceedings Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2008. LIPICS, vol. 2, pp. 328–339. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik (2008)
Runciman, C., Naylor, M., Lindblad, F.: Smallcheck and Lazy Smallcheck: automatic exhaustive testing for small values. In: Gill, A. (ed.) Proceedings of the 1st ACM SIGPLAN Symposium on Haskell, Haskell 2008, pp. 37–48. ACM (2008)
Thati, P., Meseguer, J.: Complete symbolic reachability analysis using back-and-forth narrowing. Theoretical Computer Science 366(1-2), 163–179 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Riesco, A., Rodríguez-Hortalá, J. (2012). S-Narrowing for Constructor Systems. In: Roychoudhury, A., D’Souza, M. (eds) Theoretical Aspects of Computing – ICTAC 2012. ICTAC 2012. Lecture Notes in Computer Science, vol 7521. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32943-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-32943-2_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32942-5
Online ISBN: 978-3-642-32943-2
eBook Packages: Computer ScienceComputer Science (R0)