On the Correctness of Bubbling

  • Sergio Antoy
  • Daniel W. Brown
  • Su-Hui Chiang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4098)


Bubbling, a recently introduced graph transformation for functional logic computations, is well-suited for the reduction of redexes with distinct replacements. Unlike backtracking, bubbling preserves operational completeness; unlike copying, it avoids the up-front construction of large contexts of redexes, an expensive and frequently wasteful operation. We recall the notion of bubbling and offer the first proof of its completeness and soundness with respect to rewriting.


Logic Program Functional Logic Term Graph True False Term Rewrite System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alpuente, M., Hanus, M., Lucas, S., Vidal, G.: Specialization of functional logic programs based on needed narrowing. Theory and Practice of Logic Programming 5(3), 273–303 (2005)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Antoy, S.: Optimal non-deterministic functional logic computations. In: Hanus, M., Heering, J., Meinke, K. (eds.) ALP 1997 and HOA 1997. LNCS, vol. 1298, pp. 16–30. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  3. 3.
    Antoy, S.: Constructor-based conditional narrowing. In: Proceedings of the Third ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, pp. 199–206. ACM Press, New York (2001)CrossRefGoogle Scholar
  4. 4.
    Antoy, S.: Evaluation strategies for functional logic programming. Journal of Symbolic Computation 40(1), 875–903 (2005)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Antoy, S., Brown, D., Chiang, S.: Lazy context cloning for non-deterministic graph rewriting. In: Proc. of the 3rd International Workshop on Term Graph Rewriting, Termgraph 2006, Vienna, Austria, pp. 61–70 (April 2006)Google Scholar
  6. 6.
    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 (to appear, 2006)CrossRefGoogle Scholar
  7. 7.
    Antoy, S., Hanus, M., Liu, J., Tolmach, A.: A virtual machine for functional logic computations. In: Grelck, C., Huch, F., Michaelson, G.J., Trinder, P. (eds.) IFL 2004. LNCS, vol. 3474, pp. 108–125. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)Google Scholar
  9. 9.
    Bezem, M., Klop, J.W., de Vrijer, R. (eds.): Term Rewriting Systems. Cambridge University Press, Cambridge (2003)MATHGoogle Scholar
  10. 10.
    Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 243–320. Elsevier, Amsterdam (1990)Google Scholar
  11. 11.
    Echahed, R., Janodet, J.-C.: On constructor-based graph rewriting systems. Research Report 985-I, IMAG (1997)Google Scholar
  12. 12.
    Echahed, R., Janodet, J.-C.: Admissible graph rewriting and narrowing. In: Proceedings of the Joint International Conference and Symposium on Logic Programming, Manchester, June 1998, pp. 325–340. MIT Press, Cambridge (1998)Google Scholar
  13. 13.
    González Moreno, J.C., López Fraguas, F.J., Hortalá González, M.T., Rodríguez Artalejo, M.: An approach to declarative programming based on a rewriting logic. The Journal of Logic Programming 40, 47–87 (1999)MATHCrossRefGoogle Scholar
  14. 14.
    Hanus, M. (ed.): PAKCS 1.7.1: The Portland Aachen Kiel Curry System (March 27, 2006), available at:
  15. 15.
    Hanus, M. (ed.): Curry: An integrated functional logic language (vers.0.8.2) (March 28, 2006), available at:
  16. 16.
    Huet, G., Lévy, J.-J.: Computations in orthogonal term rewriting systems. In: Lassez, J.-L., Plotkin, G. (eds.) Computational logic: essays in honour of Alan Robinson. MIT Press, Cambridge (1991)Google Scholar
  17. 17.
    Hussmann, H.: Nondeterministic algebraic specifications and nonconfluent rewriting. Journal of Logic Programming 12, 237–255 (1992)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Klop, J.W.: Term rewriting systems. In: Abramsky, S., Gabbay, D., Maibaum, T. (eds.) Handbook of Logic in Computer Science, vol. II. Oxford University Press, Oxford (1992)Google Scholar
  19. 19.
    López-Fraguas, F., Sánchez-Hernández, J.: TOY: A multiparadigm declarative system. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, pp. 244–247. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    O’Donnell, M.J.: Equational Logic as a Programming Language. MIT Press, Cambridge (1985)MATHGoogle Scholar
  21. 21.
    Plump, D.: Term graph rewriting. In: Kreowski, H.-J., Ehrig, H., Engels, G., Rozenberg, G. (eds.) Handbook of Graph Grammars, vol. 2, pp. 3–61. World Scientific, Singapore (1999)Google Scholar
  22. 22.
    Tolmach, A., Antoy, S., Nita, M.: Implementing functional logic languages using multiple threads and stores. In: Proc. of the Ninth International Conference on Functional Programming (ICFP 2004), Snowbird, Utah, USA, pp. 90–102. ACM Press, New York (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Sergio Antoy
    • 1
  • Daniel W. Brown
    • 1
  • Su-Hui Chiang
    • 1
  1. 1.Department of Computer SciencePortland State UniversityPortlandUSA

Personalised recommendations