Abstract
This survey aims at providing unified definitions of strategies, strategic rewriting and strategic programs. It gives examples of main constructs and languages used to write strategies. It also explores some properties of strategic rewriting and operational semantics of strategic programs. Current research topics are identified.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
Remark due to an external referee.
References
Alpuente, M., Escobar, S., Lucas, S.: Correct and complete (positive) strategy annotations for OBJ. In: Proceedings of the 5th International Workshop on Rewriting Logic and its Applications (WRLA) , vol. 71, Elecronic Notes in Theoretical Computer Science, pp. 70–89 (2004)
Andrei, O., Fernandez, M., Kirchner, H., Melançon, G., Namet, O., Pinaud, B.: PORGY: strategy-driven interactive transformation of graphs. In: Echahed, R. (ed.) TERMGRAPH, 6th International Workshop on Computing with Terms and Graphs, vol. 48, Electronic Proceedings in Theoretical Computer Science (EPTCS), pp. 54–68 (2011)
Andrei, O., Kirchner, H.: A port graph calculus for autonomic computing and invariant verification. Electron. Notes Theor. Comput. Sci. 253(4), 17–38 (2009)
Andrews, P.B., Brown, C.E.: TPS: a hybrid automatic-interactive system for developing proofs. J. Appl. Logic 4(4), 367–395 (2006)
Antoy, S., Middeldorp, A.: A sequential reduction strategy. Theor. Comput. Sci. 165(1), 75–95 (1996)
Augustsson, L.: A compiler for lazy ML. In: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, LFP 1984, pp. 218–227, New York, NY, USA. ACM (1984)
Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: piggybacking rewriting on java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007)
Balland, E., Moreau, P.-E., Reilles, A.: Effective strategic programming for java developers. Softw. Pract. Exp. 44(2), 129–162 (2012)
Barendregt, H.: The Lambda-calculus, its syntax and semantics. Studies in Logic and the Foundation of Mathematics, Second edition. Elsevier Science Publishers B. V. (North-Holland), Amsterdam (1984)
Bezem, M., Klop, J.W., de Vrijer, R. (eds.): Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (2003)
Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E.: ELAN from a rewriting logic point of view. Theor. Comput. Sci. 285(2), 155–185 (2002)
Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. Electr. Notes Theor. Comput. Sci. 15, 55–70 (1998)
Borovanský, P., Kirchner, C., Kirchner, H., Ringeissen, C.: Rewriting with strategies in ELAN: a functional semantics. Int. J. Found. Comput. Sci. 12(1), 69–98 (2001)
Bourdier, T., Cirstea, H., Dougherty, D.J., Kirchner, H.: Extensional and intensional strategies. In: Proceedings Ninth International Workshop on Reduction Strategies in Rewriting and Programming, vol. 15, Electronic Proceedings in Theoretical Computer Science, pp. 1–19 (2009)
Castro, C.: Building constraint satisfaction problem solvers using rewrite rules and strategies. Fundamenta Informaticae 34(3), 263–293 (1998)
Cirstea, H., Kirchner, C., Liquori, L., Wack, B.: Rewrite strategies in the rewriting calculus. In: Gramlich, B., Lucas, S. (eds.) Electronic Notes in Theoretical Computer Science, vol. 86. Elsevier (2003)
Cirstea, H., Kirchner, C.: The rewriting calculus - Part I and II. Logic J. Interest Gr. Pure Appl. Logics 9(3), 427–498 (2001)
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework: How to Specify, Program, and Verify Systems in Rewriting Logic. Programming and Software Engineering, vol. 4350. Springer, Heidelberg (2007)
de Moura, L., Passmore, G.O.: The strategy challenge in SMT solving. In: Bonacina, M.P., Stickel, M.E. (eds.) Automated Reasoning and Mathematics. LNCS, vol. 7788, pp. 15–44. Springer, Heidelberg (2013)
Delahaye, D.: A tactic language for the system Coq. In: Parigot, M., Voronkov, A. (eds.) LPAR 2000. LNCS (LNAI), vol. 1955, pp. 85–95. Springer, Heidelberg (2000)
Dijkstra, E.W.: Selected Writings on Computing - A Personal Perspective. Texts and Monographs in Computer Science. Springer, New York (1982)
Dougherty, D.J.: Rewriting strategies and game strategies. Internal report, August 2008
Ermel, C., Rudolf, M., Taentzer, G.: The AGG approach: language and environment. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations: Applications, Languages, and Tools, pp. 551–603. World Scientific, Singapore (1997)
Fernández, M., Kirchner, H., Namet, O.: A strategy language for graph rewriting. In: Vidal, G. (ed.) LOPSTR 2011. LNCS, vol. 7225, pp. 173–188. Springer, Heidelberg (2012)
Fernández, M., Kirchner, H., Namet, O.: Strategic portgraph rewriting: an interactive modelling and analysis framework. In: Lafuente, A.L., Bosnacki, D., Edelkamp, S., Wij, A. (eds.) Proceedings 3rd Workshop on GRAPH Inspection and Traversal Engineering (GRAPHITE 2014), Grenoble, France, 5th April 2014, vol. 159, Electronic Proceedings in Theoretical Computer Science, pp. 15–29 (2014)
Futatsugi, K., Goguen, J.A., Jouannaud, J.-P., Meseguer, J.: Principles of OBJ2. In: Reid, B. (ed.) Proceedings 12th ACM Symposium on Principles of Programming Languages, pp. 52–66. ACM Press (1985)
Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: a fast SPO-based graph rewriting tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 383–397. Springer, Heidelberg (2006)
Giesl, J., Middeldorp, A.: Innermost termination of context-sensitive rewriting. In: Ito, M., Toyama, M. (eds.) DLT 2002. LNCS, vol. 2450, pp. 231–244. Springer, Heidelberg (2003)
Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for haskell by term rewriting. ACM Trans. Program. Lang. Syst. 33(2), 7:1–7:39 (2011)
Gnaedig, I., Kirchner, H.: Termination of rewriting under strategies. ACM Trans. Comput. Logic 10(2), 1–52 (2009)
Goguen, J., Malcolm, G. (eds.): Software Engineering with OBJ: Algebraic Specification in Action. Advances in Formal Methods. Kluwer Academic Publishers, Boston (2000). ISBN 0-7923-7757-5
Gordon, M., Milner, R., Morris, L., Newey, M., Wadsworth, C.: A metalanguage for interactive proof in LCF. In: Proceedings of 5th ACM Symposium on Principles of Programming Languages, pp. 119–130. ACM Press, January 1978
Grädel, E., Thomas, W., Wilke, T. (eds.): Automata, Logics, and Infinite Games: A Guide to Current Research [outcome of a Dagstuhl seminar, February 2001]. LNCS, vol. 2500. Springer, Heidelberg (2002)
Habel, A., Müller, J., Plump, D.: Double-pushout graph transformation revisited. Math. Struct. Comput. Sci. 11(5), 637–688 (2001)
Habel, A., Plump, D.: Computational completeness of programming languages based on graph transformation. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 230–245. Springer, Heidelberg (2001)
Hanus, M.: Curry: a multi-paradigm declarative language (system description). In: Twelfth Workshop Logic Programming (WLP 1997), Munich (1997)
Huet, G., Lévy, J.-J.: Computations in non-ambiguous linear term rewriting systems. Technical report, INRIA Laboria (1979)
Huet, G., Lévy, J.-J..: Computations in orthogonal rewriting systems, I and II. In: Lassez, J.-L., Plotkin, G. (eds.) Computational Logic, chapter 11, 12, pp. 395–414. MIT press (1991)
Jones, S.L.P.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)
Kechri, A.S.: Classical Descriptive Set Theory. Graduate Texts in Mathematics, vol. 156. Springer, New York (1995)
Kirchner, C., Kirchner, F., Kirchner, H.: Strategic computations and deductions. In: Benzmüller, C., Brown, C.E.., Siekmann, J., Statman, R. (eds.) Reasoning in Simple Type Theory. Festchrift in Honour of Peter B. Andrews on His 70th Birthday, vol. 17, Studies in Logic and the Foundations of Mathematics, pp. 339–364. College Publications (2008)
Kirchner, C., Kirchner, F., Kirchner, H.: Constraint based strategies. In: Escobar, S. (ed.) WFLP 2009. LNCS, vol. 5979, pp. 13–26. Springer, Heidelberg (2010)
Kirchner, C., Kirchner, H., Vittek, M.: Implementing computational systems with constraints. In: Principles and Practice of Constraint Programming, pp. 156–165 (1993)
Kirchner, C., Kirchner, H., Vittek, M.: Designing constraint logic programming languages using computational systems. In: Van Hentenryck, P., Saraswat, V. (eds.) Principles and Practice of Constraint Programming. The Newport Papers, chapter 8, pp. 131–158. The MIT Press (1995)
Kirchner., H.: A rewriting point of view on strategies. In: Mogavero, F., Murano, A., Vardi, M.Y. (eds.) Proceedings 1st International Workshop on Strategic Reasoning(SR 2013), Rome, Italy, March 16–17, vol. 112, Electronic Proceedings in Theoretical Computer Science (EPTCS), pp. 99–105 (2013)
Letichevsky, A.: Development of rewriting strategies. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714. Springer, Heidelberg (1993)
Lévy, J.-J.: Optimal reductions in the lambda-calculus. In: Seldin, J.P., Hindley, J.R. (eds.) To H.B.Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 159–191. Academic Press, New York (1980)
Lucas, S.: Context-sensitive computations in functional and functional logic programs. J. Func. Logic Program. 1, 1–61 (1998)
Lucas, S.: Termination of on-demand rewriting and termination of OBJ programs. In: Sondergaard, H. (ed.) Proceedings of the 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP 2001), pp. 82–93, Firenze, Italy, September 2001. ACM Press, New York (2001)
Lucas, S.: Termination of rewriting with strategy annotations. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 669–684. Springer, Heidelberg (2001)
Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Inf. Process. Lett. 95(4), 446–453 (2015)
Lucas, S., Meseguer, J.: Strong and weak operational termination of order-sorted rewrite theories. In: Escobar, S. (ed.) WRLA 2014. LNCS, vol. 8663, pp. 178–194. Springer, Heidelberg (2014)
Martí-Oliet, N., Meseguer, J.: Rewriting logic as a logical and semantic framework. In: Meseguer, J. (ed.) Electronic Notes in Theoretical Computer Science, vol. 4. Elsevier Science Publishers (2000)
Martí-Oliet, N., Meseguer, J., Verdejo, A.: Towards a strategy language for maude. In: Martí-Oliet, N. (ed.) Proceedings Fifth International Workshop on Rewriting Logic and its Applications (WRLA 2004), Barcelona, Spain, March 27 - April 4, vol. 117, Electronic Notes in Theoretical Computer Science, pp. 417–441. Elsevier Science Publishers B. V. (North-Holland) (2005)
Martí-Oliet, N., Meseguer, J., Verdejo, A.: A rewriting semantics for maude strategies. Electron. Notes Theor. Comput. Sci. 238(3), 227–247 (2008)
McCune, W.: Semantic guidance for saturation provers. In: Calmet, J., Ida, T., Wang, D. (eds.) AISC 2006. LNCS (LNAI), vol. 4120, pp. 18–24. Springer, Heidelberg (2006)
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theor. Comput. Sci. 96(1), 73–155 (1992)
Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: ICSE, pp. 742–745 (2000)
O’Donnell, M.J. (ed.): Computing in Systems Described by Equations. LNCS. Springer, Heidelberg (1977)
Okamoto, K., Sakai, M., Nishida, N., Sakabe, T.: Weakly-innermost strategy and its completeness on terminating right-linear TRSs. In: Proceedings 5th International Workshop on Reduction Strategies in Rewriting and Programming April 22: Nara, p. 2005. ENTCS, Japan (2005)
Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607. Springer, Heidelberg (1992)
Plasmeijer, M.J., van Eekelen, M.C.J.D.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley, Boston (1993)
Plotkin, G.D.: A structural approach to operational semantics. J. Log. Algebr. Program. 60–61, 17–139 (2004)
Plump, D.: The graph programming language GP. In: Bozapalidis, S., Rahonis, G. (eds.) CAI 2009. LNCS, vol. 5725, pp. 99–122. Springer, Heidelberg (2009)
Plump, D., Steinert, S.: The semantics of graph programs. In: Mackie, L., Moreira, A.M. (eds.) Proceedings Tenth International Workshop on Rule-Based Programming (RULE 2009), Brasília, Brazil, 28th June 2009, vol. 21, Electronic Proceedings in Theoretical Computer Science (EPTCS), pp. 27–38 (2009)
Rensink, A.: The GROOVE simulator: a tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)
Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES approach: language and environment. In: Ehrig, H., Engels, G., Kreowski, H-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Vol. 2, Applications, Languages, and Tools, pp. 479–546. World Scientific (1997)
Van de Pol, J.: Just-in-time: on strategy annotations. In: Proceedings of WRS 2001, 1st International Workshop on Reduction Strategies in Rewriting and Programming, vol. 57, Elecronic Notes in Theoretical Computer Science, pp. 41–63 (2001)
van Oostrom, V., de Vrijer, R.: Term Rewriting Systems, vol. 2, Cambridge Tracts in Theoretical Computer Science, chapter 9: Strategies. Cambridge University Press (2003)
Visser, E.: Stratego: a language for program transformation based on rewriting strategies system description of stratego 0.5. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)
Visser, E.: A survey of strategies in rule-based program transformation systems. J. Symbolic Comput. 40(1), 831–873 (2005)
Walukiewicz, L.: A landscape with games in the background. In: 19th IEEE Symposium on Logic in Computer Science (LICS 2004), pp. 356–366 (2004)
Acknowledgements
The results presented here are based on pioneer work in the Elan language designed in the Protheo team from 1990 to 2002. They rely on joint work with many people, in particular Marian Vittek and Peter Borovanský, Claude Kirchner and Florent Kirchner, Dan Dougherty, Horatiu Cirstea and Tony Bourdier, Oana Andrei, Maribel Fernandez and Olivier Namet. I am grateful to the members of the Protheo and the Porgy teams, for many inspiring discussions on the topics of this paper. I sincerely thank the reviewers for their careful reading and pertinent and constructive remarks. A special tribute is given to José Meseguer, for his inspiring works on rewriting logic and strategies, and this paper is dedicated to him.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Kirchner, H. (2015). Rewriting Strategies and Strategic Rewrite Programs. In: Martí-Oliet, N., Ölveczky, P., Talcott, C. (eds) Logic, Rewriting, and Concurrency. Lecture Notes in Computer Science(), vol 9200. Springer, Cham. https://doi.org/10.1007/978-3-319-23165-5_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-23165-5_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23164-8
Online ISBN: 978-3-319-23165-5
eBook Packages: Computer ScienceComputer Science (R0)