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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, United Kingdom (1998)
Dershowitz, N., Mitra, S.: Jeopardy. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, pp. 16–29. Springer, Heidelberg (1999)
Fülöp, Z.: Undecidable properties of deterministic top-down tree transducers. Theoretical Computer Science 134(2), 311–328 (1994)
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)
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)
Glück, R., Kawabe, M.: A method for automatic program inversion based on LR(0) parsing. Fundam. Inform. 66(4), 367–395 (2005)
Glück, R., Kawabe, M.: Revisiting an automatic program inverter for Lisp. SIGPLAN Notices 40(5), 8–17 (2005)
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)
Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Information Processing Letters 95(4), 446–453 (2005)
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)
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)
McCarthy, J.: The inversion of functions defined by Turing machines. In: Automata Studies, pp. 177–181. Princeton University Press, Princeton (1956)
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)
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)
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/
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)
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/
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)
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)
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]
Ohlebusch, E.: Termination of logic programs: Transformational methods revisited. Applicable Algebra in Engineering, Communication and Computing 12(1-2), 73–116 (2001)
Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, Heidelberg (2002)
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)
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)
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)
Ş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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)