Abstract
The paper provides an overview of an approach to the semantics of (constraint) logic programs, whose aim is providing suitable theoretical bases for modeling observable properties of logic programs in a compositional way. The approach is based on the idea of choosing (either equivalence classes or abstractions of) sets of clauses as semantic domain and provides an uniform framework for defining different compositional semantics for logic programs, parametrically with respect to a given notion of observability. Since some observable properties have a natural definition which is dependent on the selection rule, the framework has been adapted to cope also with a suitable class of rules, which includes the leftmost selection rule. This provides a formal description of most of the observable properties of Prolog derivations and can therefore be viewed as reference semantics for Prolog transformation and analysis systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Apt, K.R.: Logic programming. In: Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics (B), pp. 493–574 (1990)
Barbuti, R., Codish, M., Giacobazzi, R., Maher, M.J.: Oracle semantics for Prolog. Information and Computation 122(2), 178–200 (1995)
Barbuti, R., Giacobazzi, R., Levi, G.: A general framework for semantics-based bottom-up abstract interpretation of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS) 15(1), 133–181 (1993)
Bol, R.N., Apt, K.R., Klop, J.W.: An analysis of loop checking mechanisms for logic programs. Theor. Comput. Sci. 86(1), 35–79 (1991)
Bossi, A., Bugliesi, M., Fabris, M.: A new fixpoint semantics for Prolog. In: ICLP 1993: Proceedings of the Tenth Int’l Conference on Logic Programming, pp. 374–389. MIT Press, Cambridge (1993)
Bossi, A., Bugliesi, M., Gabbrielli, M., Levi, G., Meo, M.C.: Differential logic programming. In: POPL 1993: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 359–370 (1993)
Bossi, A., Gabbrielli, M., Levi, G., Martelli, M.: The s-semantics approach: theory and applications. Journal of Logic Programming 19(20), 149–197 (1994)
Bossi, A., Gabbrielli, M., Levi, G., Meo, M.C.: A compositional semantics for logic programs. Theoretical Computer Science 122(1-2), 3–47 (1994)
Bossi, A., Menegus, M.: Una semantica composizionale per programmi logici aperti. In: Sesto convegno sulla programmazione logica, pp. 95–109 (1991)
Bruynooghe, M.: A practical framework for the abstract interpretation of logic programs. Journal of Logic Programming 10(2), 91–124 (1991)
Codish, M., Dams, D., Yardeni, E.: Bottom-up abstract interpretation of logic programs. Theoretical Computer Science 124(1), 93–125 (1994)
Codish, M., Søndergaard, H.: Meta-circular abstract interpretation in Prolog, pp. 109–134 (2002)
Comini, M., Levi, G.: An algebraic theory of observables. In: SLP, pp. 172–186 (1994)
Comini, M., Levi, G., Meo, M.C.: Compositionality in sld-derivations and their abstractions. In: ILPS, pp. 561–575 (1995)
Comini, M., Levi, G., Meo, M.C., Vitiello, G.: Proving properties of logic programs by abstract diagnosis. In: Dam, M. (ed.) LOMAPS-WS 1996. LNCS, vol. 1192, pp. 22–50. Springer, Heidelberg (1997)
Comini, M., Levi, G., Meo, M.C., Vitiello, G.: Abstract diagnosis. Journal of Logic Programming 39(1-3), 43–93 (1999)
Comini, M., Levi, G., Vitiello, G.: Abstract debugging of logic program. In: Fribourg, L., Turini, F. (eds.) LOPSTR 1994 and META 1994. LNCS, vol. 883, pp. 440–450. Springer, Heidelberg (1994)
Cousot, P.: Program analysis: the abstract interpretation perspective. ACM Computing Surveys 28(4es), 165 (1996)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 238–252 (1977)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL, pp. 269–282 (1979)
García de la Banda, M.J., Hermenegildo, M.V., Marriott, K.: Independence in constraint logic programs. In: ILPS, pp. 130–146 (1993)
Debray, S.K.: Formal bases for dataflow analysis of logic programs, pp. 115–182 (1994)
Van Emden, M.H., Kowalski, R.A.: The semantics of predicate logic as a programming language. Journal of the ACM 23(4), 733–742 (1976)
Etalle, S., Gabbrielli, M.: Transformations of clp modules. Theor. Comput. Sci. 166(1&2), 101–146 (1996)
Falaschi, M., Levi, G.: Finite failures and partial computations in concurrent logic languages. Theor. Comput. Sci. 75(1&2), 45–66 (1990)
Falaschi, M., Levi, G., Martelli, M., Palamidessi, C.: Declarative Modeling of the Operational Behaviour of Logic Languages. Theoretical Computer Science 69, 289–318 (1989)
Ferrand, G.: Error diagnosis in logic programming, an adaptation of E.Y. Shapiro’s method. Journal of Logic Programming 4(3), 177–198 (1987)
Gabbrielli, M., Dore, G.M., Levi, G.: Observable semantics for constraint logic programs. J. Log. Comput. 5(2), 133–171 (1995)
Gabbrielli, M., Giacobazzi, R.: Goal independency and call patterns in the analysis of logic programs. In: SAC, pp. 394–399 (1994)
Gabbrielli, M., Levi, G., Meo, M.C.: Observational equivalences for logic programs. In: Proceedings of the Joint Int’l Conference and Symposium on Logic Programming, pp. 131–145 (1992)
Gabbrielli, M., Levi, G., Meo, M.C.: Observable behaviors and equivalences of logic programs. Inf. Comput. 122(1), 1–29 (1995)
Gabbrielli, M., Levi, G., Meo, M.C.: Resultants semantics for prolog. J. Log. Comput. 6(4), 491–521 (1996)
Gabbrielli, M., Meo, M.C.: Fixpoint semantics for partial computed answer substitutions and call patterns. In: Kirchner, H., Levi, G. (eds.) ALP 1992. LNCS, vol. 632, pp. 84–99. Springer, Heidelberg (1992)
Gaifman, H., Shapiro, E.: Fully abstract compositional semantics for logic programs. In: POPL 1989: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 134–142. ACM Press, New York (1989)
Gaifman, H., Shapiro, E.: Proof theory and semantics of logic programs. In: Proceedings of the Fourth Annual Symposium on Logic in computer science, pp. 50–62. IEEE Press, Los Alamitos (1989)
Giacobazzi, R., Debray, S.K., Levi, G.: A generalized semantics for constraint logic programs. In: Proceedings of the Int’l Conference on Fifth Generation Computer Systems, pp. 581–591. ACM Press, New York (1992)
Jaffar, J., Lassez, J.-L.: Constraint logic programming. Technical report, Department of Computer Science, Monash University (June 1986)
Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: POPL, pp. 111–119 (1987)
Janssens, G., Bruynooghe, M.: Deriving descriptions of possible values of program variables by means of abstract interpretation. Journal of Logic Programming 13(2-3), 205–258 (1992)
Kawamura, T., Kanamori, T.: Preservation of stronger equivalence in unfold/fold logic program transformation. Theor. Comput. Sci. 75(1&2), 139–156 (1990)
Komorowski, H.J.: A specification of an Abstract Prolog Machine and Its Applications to Partial Evaluation. Phd thesis, Linkõping University (1981)
Levi, G.: Models, unfolding rules and fixpoint semantics. In: Proc. of the Fifth Int’l Conference and Symposium on Logic Programming, vol. 2, pp. 1649–1665. MIT Press, Cambridge (1991)
Lloyd, J.W.: Foundations of logic programming. Springer, New York (1984)
Lloyd, J.W., Shepherdson, J.C.: Partial evaluation in logic programming. J. Log. Program. 11(3&4), 217–242 (1991)
Maher, M.J.: Equivalences of logic programs. In: Foundations of Deductive Databases and Logic Programming, pp. 627–658 (1988)
Marriott, K., Søndergaard, H.: Bottom-up abstract interpretation of logic programs. In: Proc. Fifth Int’l Conf. on Logic Programming, pp. 733–748. MIT Press, Cambridge (1988)
Marriott, K., Søndergaard, H.: Semantics-based dataflow analysis of logic programs. In: IFIP Congress, pp. 601–606. North-Holland, Amsterdam (1989)
Marriott, K., Søndergaard, H.: Precise and efficient groundness analysis for logic programs. LOPLAS 2(1-4), 181–196 (1993)
Sato, T., Tamaki, H.: Enumeration of success patterns in logic programs. Theor. Comput. Sci. 34, 227–240 (1984)
Scozzari, F.: Logical optimality of groundness analysis. Theor. Comput. Sci. 277(1-2), 149–184 (2002)
Shapiro, E.Y.: Algorithmic Program Debugging. MIT Press, Cambridge (1983)
Tamaki, H., Sato, T.: Unfold/fold transformation of logic programs. In: ICLP, pp. 127–138 (1984)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bossi, A., Meo, M.C. (2010). Theoretical Foundations and Semantics of Logic Programming. In: Dovier, A., Pontelli, E. (eds) A 25-Year Perspective on Logic Programming. Lecture Notes in Computer Science, vol 6125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14309-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-14309-0_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14308-3
Online ISBN: 978-3-642-14309-0
eBook Packages: Computer ScienceComputer Science (R0)