Abstract
Equivalent transformation has been proposed as a methodology for providing programs with appropriate data structures. For instance, logic programs which use lists are transformed into equivalent programs that use difference-lists. However lists and difference-lists are both usual terms and in this sense no new data structures are introduced in the transformation. Since logic programming has fixed data structure called terms, no one can develop theoretical foundations for introducing new data structures into programs as far as only logic programs are discussed. In this paper we develop a theoretical foundation of equivalent transformation that introduces new data structures. We introduce a parameter Γfor data structures, by which many languages with different data structures are characterized. By changing this parameter (say from Γ1 to Γ2) we can discuss data structure change for programs. We de.ne a concept of safe extension of data structures, and prove that the meaning of a program on a data structure is preserved by safe extension of the data structure.
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
Aït-Kaci, H. and Nasr, R., LOGIN: A Logic Programming Language with Built-In Inheritance, The Journal of Logic Programming, 3 (1986).
Akama, K., PAL: An Extended Prolog with Inheritance Hierarchy, information processing society of Japan, Vol.28 No.4 pp.27–34 (1987).
Akama, K., Nomura, Y., and Miyamoto, E., Semantic Interpretation of Natural Languages by Program Transformation, Computer Software, Vol.12, No.5, pp.45–62 (1995).
Akama, K., Shigeta, Y., and Miyamoto, E., A Framework of Problem Solving by Equivalent Transformation of Logic Program, J. Japan Soc. Artif. Intell., Vol.12, No.2, pp.90–99 (1997).
Brough, D. R. and Hogger, C. J., Compiling Associativity into Logic Programs, The Journal of Logic Programming, Vol.4, pp.345–359 (1987).
Hentenryck, V., Constraint Satisfaction in Logic Programming, The MIT Press (1989).
Lloyd, J. W., Foundations of Logic Programming, Second edition, Springer-Verlag (1987).
Marriot, K. and Sondergaad, H., Difference-List Transformation for Prolog, New Generation Computing, Vol.11, pp.125–177(1993).
Pettorossi, A. and Proietti, M., Transformation of Logic Programs: Foundations and Techniques, The Journal of Logic Programming, Vol.19/20, 1994, pp.261–320.
Wirth, N., Algorithms + Data Structures = Programs, Prentice-Hall (1976).
Zhang, J. and Grant, P. W., An Automatic Di.erence-List Transformation Algorithm for Prolog, Proc. 1988 European Conference on Artificial Intelligence (ECAI’88), pp.320–325 (1988).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Akama, K., Koike, H., Mabuchi, H. (2001). Equivalent Transformation by Safe Extension of Data Structures. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2001. Lecture Notes in Computer Science, vol 2244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45575-2_15
Download citation
DOI: https://doi.org/10.1007/3-540-45575-2_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43075-9
Online ISBN: 978-3-540-45575-2
eBook Packages: Springer Book Archive