Abstract
In this paper typed norms, a class of functions to evaluate terms which have a specified structure, are defined and studied. The required structure is described by means of a type schema which has to be well formed, that is well defined and unambiguous. By interpreting the type schema in a semantic domain, we associate a set of typed norms to it. Such norms can distinguish among: (1) terms which have the required structure and hence are evaluated in the semantic domain, (2) terms which do not have it and hence are evaluated to “false”, (3) terms which could have instances with the required structure and hence are evaluated to “may be”. In the first two cases the term cannot change its “main” structure by applying a substitution to it, and hence its value is fixed. This is an interesting property allowing us to describe terms properties which cannot be affected by further computation, once they have been reached. The applications of typed norms can be determined by choosing the language of the type schema and the semantic domain. In the examples we show how a simple proof method for universal termination of pure Prolog programs, we proposed in [BCF91a, BCF91b], is extended to deal with a larger class of programs.
This work has been partially supported by “Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo” of CNR under Grant n. 89.00026.69
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Apt K.R., Pedreschi D., Studies in Pure Prolog: Termination, in Proceedings Symposium on Computational Logic, J. W. Lloyd Ed., Basic Research Series 1, Springer-Verlag (1990), 150–176.
Apt K.R., Introduction to Logic Programming, in Handbook of Theoretical Computer Science, J. van Leeuwen Ed., Elsevier Science Publishers 1990.
Apt K.R., Pedreschi D., Proving Termination of General Prolog Programs. Technical Report, CWI, Amsterdam, 1991.
M. Baudinet. Proving termination properties of PROLOG Programs. In Proceedings of the 3rd Annual Symposium on Logic in Computer Science (LICS), Edinburgh, Scotland (1988), 336–347.
Bezem M., Characterizing Termination of Logic Programs, in Proceedings NACLP'89, E. L. Lusk, R. A. Overbeek, Eds., The MIT Press (1989), 69–80.
Bossi A., Cocco N., Verifying Correctness of Logic Programs, in Proceedings TAPSOFT'89, Vol. 2, J. Diaz, F. Orejas, Eds., LNCS 352, Springer-Verlag, (1989), 96–110.
Bossi A., Cocco N., Fabris M., Proving Termination of Logic Programs by Exploiting Term Properties, in Proceedings CCPSD-TAPSOFT '91, S. Abramsky, T.S.E. Maibaum, Eds., LNCS 494, Springer-Verlag, (1991), 153–180.
Bossi A., Cocco N., Fabris M., Norms on terms and their use in proving universal termination of a logic program, CNR Technical Report “Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo”, n. 4/29 (March 1991).
Bossi A., Cocco N., Fabris M., Typed Norms for Logic Programs. Technical Report Dip. Matematica Pura e Applicata, Università di Padova, Italy, (December 1991).
Bruynooghe M., Janssens G., Callebaut A., Demoen B., Abstract Interpretation: towards the global optimization of Prolog programs, In Proceedings Symp. on Logic Programmming, IEEE Society Press, (1987), 192–204.
Cortesi A., Filè G., Winsborough W., Prop Revisited: Propositional Formula as Abstract Domain for Groundness Analysis. In Proceedings of LICS 91. Amsterdam, The Netherlands (July 1991), IEEE Computer Society Press, 322–327.
Colussi L., Marchiori E, Proving Correctness of Logic Programs Using Axiomatic Semantics, in Proceedings ICLP'91, K. Furukawa, Ed., The MIT Press (1991) 629–642.
Debray S., Static Inference of Modes and data Dependencies in Logic Programs, ACM Trans. on Programming Languages and Systems 11, No. 3, (1989), 418–450.
Deville Y., Logic Programming Systematic Program Development, Addison-Wesley 1990.
Francez N., Grumberg O., Katz S., Pnueli A., Proving Termination of Prolog Programs. In Logics of Programs LNCS 193, Springer-Verlag, 1985, 89–105.
Filè G. and Sottero P., Abstract Interpretation for Type Checking. In Procceding of PLILP 91, J. Maluszynski and M. Wirsing (eds), LNCS 528, Springer-Verlag, (1991), 311–322.
Janssens G., Bruynooghe M., Deriving Descriptions of Possible Values of Program Variables by means of Abstract Interpretation, Technical Report CW 107, Dept. of Computer Science, K.U. Leuven, (March 1990), to appear in Journal of Logic Programming.
Lloyd J. W., Foundations of Logic Programming, second edition, Springer-Verlag, 1987.
Marriott K., Søndergaard H., Abstract Interpretation of Logic Programs: the Denotational Approach. In Proceedings GULP '90, A. Bossi (ed.), Padova (June 1990), 399–425.
Plümer L., Termination Proofs for Logic Programs based on Predicate Inequalities, in Proceedings ICLP'90, (1990), 634–648.
Plümer L., Termination Proofs for Logic Programs, Lecture Notes in Artificial Intelligence 446, Springer-Verlag, 1990.
Ullman J.D., Van Gelder A., Efficient Tests for Top-Down Termination of Logical Rules, JACM 35, No. 2, (1988), 345–373.
Vasak T., Potter J., Characterisation of Terminating Logic Programs, in Proceedings Int. Symposium on Logic Programming '86, IEEE, (1986) 140–147.
Verschaetse K., De Schreye D., Deriving Termination Proofs for Logic Programs Using Abstract Procedures. In Proceedings ICLP'91, Paris, June 1991. The MIT Press, 301–315.
Wang B., Shryamasunder R.K., Proving Termination of Logic Programs, In Perspective in Theoretical Computer Science, Commemorative Volume, Ed. R. Narasimhan, World Scientific Publishers, Singapore, 380–397 (1989).
Wang B., Shryamasunder R.K., Methodology for Proving the Termination of Logic Programs, In Proceedings STACS'91. Hamburg, Germany, February 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bossi, A., Cocco, N., Fabris, M. (1992). Typed norms. In: Krieg-Brückner, B. (eds) ESOP '92. ESOP 1992. Lecture Notes in Computer Science, vol 582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55253-7_5
Download citation
DOI: https://doi.org/10.1007/3-540-55253-7_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55253-6
Online ISBN: 978-3-540-46803-5
eBook Packages: Springer Book Archive