Skip to main content

Proving Injectivity of Functions via Program Inversion in Term Rewriting

  • Conference paper
  • 552 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6009))

Abstract

Injectivity is one of the important properties for functions while it is undecidable in general and decidable for linear treeless functions. In this paper, we show new sufficient conditions for injectivity of functions in term rewriting, which are based on program inversion. More precisely, we show that functions defined by non-erasing, convergent and sufficiently complete constructor rewrite systems are injective if the corresponding inverse-computation rewrite systems generated by the inversion framework are innermost-confluent. By using this property, we also show a syntactic sufficient-condition of injectivity.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abramov, S., Glück, R.: The universal resolving algorithm and its correctness: Inverse computation in a functional language. Science of Computer Programming 43(2-3), 193–229 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  2. Almendros-Jiménez, J.M., Vidal, G.: Automatic partial inversion of inductively sequential functions. In: Horváth, Z., Zsók, V., Butterfield, A. (eds.) IFL 2006. LNCS, vol. 4449, pp. 253–270. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  3. Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, United Kingdom (1998)

    Google Scholar 

  4. Dershowitz, N., Mitra, S.: Jeopardy. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, pp. 16–29. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  5. Fülöp, Z.: Undecidable properties of deterministic top-down tree transducers. Theoretical Computer Science 134(2), 311–328 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  6. Giesl, J., Schneider-Kamp, P., Thiemann, R.: Automatic termination proofs in the dependency pair framework. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 281–286. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Gramlich, B.: On the (non-)existence of least fixed points in conditional equational logic and conditional rewriting. In: Proc. 2nd Int. Workshop on Fixed Points in Computer Science (FICS 2000) – Extended Abstracts, pp. 38–40 (2000)

    Google Scholar 

  8. Glück, R., Kawabe, M.: A method for automatic program inversion based on LR(0) parsing. Fundam. Inform. 66(4), 367–395 (2005)

    MATH  Google Scholar 

  9. Glück, R., Kawabe, M.: Revisiting an automatic program inverter for Lisp. SIGPLAN Notices 40(5), 8–17 (2005)

    Article  Google Scholar 

  10. Kawabe, M., Futamura, Y.: Case studies with an automatic program inversion system. In: Proc. of the 21st Conference of Japan Society for Software Science and Technology, No. 6C-3, 5 pages (2004)

    Google Scholar 

  11. Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Information Processing Letters 95(4), 446–453 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  12. Matsuda, K., Hu, Z., Nakano, K., Hamana, M., Takeichi, M.: Bidirectionalization transformation based on automatic derivation of view complement functions. In: Proc. of the 12th ACM SIGPLAN International Conference on Functional Programming, pp. 47–58 (2007)

    Google Scholar 

  13. Matsuda, K., Mu, S.C., Hu, Z., Takeichi, M.: A grammar-based approach to invertible programs. In: Proc. of the 19th European Symposium on Programming (2010) (to appear)

    Google Scholar 

  14. McCarthy, J.: The inversion of functions defined by Turing machines. In: Automata Studies, pp. 177–181. Princeton University Press, Princeton (1956)

    Google Scholar 

  15. Mogensen, T.Æ.: Semi-inversion of guarded equations. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 189–204. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  16. Mogensen, T.Æ.: Semi-inversion of functional parameters. In: Proc. of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 21–29. ACM Press, New York (2008)

    Chapter  Google Scholar 

  17. Nishida, N.: Transformational Approach to Inverse Computation in Term Rewriting. Doctor thesis, Nagoya University, Nagoya, Japan (2004), http://www.trs.cm.is.nagoya-u.ac.jp/~nishida/papers/

  18. Nishida, N., Sakai, M.: Completion after program inversion of injective functions. Postproceedings of the 8th International Workshop on Reduction Strategies in Rewriting and Programming. ENTCS, vol. 237, pp. 39–56 (2009)

    Google Scholar 

  19. Nishida, N., Sakai, M., Kato, T.: Convergent term rewriting systems for inverse computation of injective functions. In: Proc. of the 9th International Workshop on Termination (WST 2007), pp. 77–81 (2007), http://www.trs.cm.is.nagoya-u.ac.jp/~nishida/papers/

  20. Nishida, N., Sakai, M., Sakabe, T.: On simulation-completeness of unraveling for conditional term rewriting systems. IEICE Technical Report SS2004-18, the Institute of Electronics, Information and Communication Engineers (IEICE) 104(243), 25–30 (2004)

    Google Scholar 

  21. Nishida, N., Sakai, M., Sakabe, T.: Partial inversion of constructor term rewriting systems. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 264–278. Springer, Heidelberg (2005)

    Google Scholar 

  22. Nishida, N., Sakai, M., Sakabe, T.: Generation of inverse computation programs of constructor term rewriting systems. The IEICE Transactions on Information and Systems J88-D-I(8), 1171–1183 (2005); in Japanese, see [17]

    Google Scholar 

  23. Ohlebusch, E.: Termination of logic programs: Transformational methods revisited. Applicable Algebra in Engineering, Communication and Computing 12(1-2), 73–116 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  24. Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  25. Plaisted, D.A.: Equational reasoning and term rewriting systems. In: Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 1, pp. 273–364. Oxford University Press, Oxford (1993)

    Google Scholar 

  26. Romanenko, A.: Inversion and metacomputation. In: Proc. of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation. SIGPLAN Notices, vol. 26, pp. 12–22. ACM Press, New York (1991)

    Google Scholar 

  27. Schernhammer, F., Gramlich, B.: On proving and characterizing operational termination of deterministic conditional rewrite systems. In: Proc. of the 9th International Workshop on Termination (WST 2007), pp. 82–85 (2007)

    Google Scholar 

  28. Şerbănuţă, T.F., Roşu, G.: Computationally equivalent elimination of conditions. In: Pfenning, F. (ed.) RTA 2006. LNCS, vol. 4098, pp. 19–34. Springer, Heidelberg (2006)

    Google Scholar 

  29. Wehrman, I., Stump, A., Westbrook, E.M.: Slothrop: Knuth-Bendix completion with a modern termination checker. In: Pfenning, F. (ed.) RTA 2006. LNCS, vol. 4098, pp. 287–296. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nishida, N., Sakai, M. (2010). Proving Injectivity of Functions via Program Inversion in Term Rewriting . In: Blume, M., Kobayashi, N., Vidal, G. (eds) Functional and Logic Programming. FLOPS 2010. Lecture Notes in Computer Science, vol 6009. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12251-4_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-12251-4_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-12250-7

  • Online ISBN: 978-3-642-12251-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics