Skip to main content

Horn Logic Denotations and Their Applications

  • Chapter
The Logic Programming Paradigm

Part of the book series: Artificial Intelligence ((AI))

Summary

In spite of decades of work, the practical impact of programming language semantics (denotational semantics) has been limited. Our thesis is that a major contributing factor to this lack of practical impact is the declarative notation used for expressing the semantics, namely, the λ-calculus. We propose to use Horn Logic (and eventually Constraint Logic) instead of the λ-calculus to express denotational semantics. This simple change leads to many practical applications, most notably to automatic program verification and automatic generation of compilers from semantics specifications. These Horn Logic denotations and their applications axe discussed at length in this paper.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Alur,D. Dill. The Theory of Timed Automata.Theoretical Computer Science, 126, 1994

    Google Scholar 

  2. M. Garcia de la Banda, M. Hermenegildo, et al.Global Analysis of Constraint Logic Programs. In ACM Trans. on Prog. Languages and Systems, Vol. 18, Num. 5, pages 564–615, ACM, 1996

    Article  Google Scholar 

  3. S. K. Das. Deductive Databases and Logic Programming. Addison-Wesley. 1992

    MATH  Google Scholar 

  4. S. Debray, P. Lopez-Garcia, and M. Hermenegildo. Non-failure Analysis for Logic Programs. In International Conference on Logic Programming. MIT Press, 1997.

    Google Scholar 

  5. D.F. Brown et al. ACTRESS: an action semantics directed compiler generator. In Proc. 4th Int’l Conf. on Compiler Construction. Springer LNCS 641, pp. 95–109. 1992

    Google Scholar 

  6. W. Chen, D. S.Warren. Tabled Evaluation with Delaying for General Logic Programs,In J ACM 43(1):20–74

    Google Scholar 

  7. S. Satluri and A. C. Fleck. Semantic Specification using Logic Programs. In Proc. N. American Conf. on Logic Programming 1989, MIT Press. pp. 772–791

    Google Scholar 

  8. E. M. Clark, E. A. Emerson, A. P. Sistla.Automatic Verification of finite-state Concurrent Systems Using Temporal Logic Specification. InACM TOPLAS, 8(2), 1986

    Google Scholar 

  9. C. Consel. Architecturing Software Using a Methodology for Language Development. In Proc. 10th Int’l Symp. on Prog. Lang. Impl., Logics and Programs (PLILP), Sep. 1998, Springer LNCS 1490, pp. 170–194

    Google Scholar 

  10. P. Cousot, R. Cousot, “Abstract Interpretation: A Unified Model for Static Analysis of Programs for Construction or Approximation of Fix-points”, In Conference Record of the 4th ACM POPL, pp. 238–252, 1977

    Google Scholar 

  11. Thierry Despeyroux. Executable specification of static semantics. In Semantics of Data Types, Springer LNCS 173. pp. 215–234. 1984

    MathSciNet  Google Scholar 

  12. G. Gupta, E. Pontelli. A Constraint-based Denotational Approach to Specification and Verification of Real-time Systems. In Proc. IEEE Real-time Systems Symposium, San Francisco, pp. 230–239. Dec. 1997

    Google Scholar 

  13. G. Gupta, E. Pontelli, R. Felix-Cardenas, A. Lara, Automatic Derivation of a Provably Correct Parallelizing Compiler, In Proceedings of International Conference on Parallel Processing,IEEE Press, Aug, 1998, pp. 579–586.

    Google Scholar 

  14. G. Gupta. Horn Logic Denotations and Their Applications. Internal Memo. Jan 1995.

    Google Scholar 

  15. G. Gupta, E. Pontelli. Specification, Verification, Composition, and Interopera- tion of Complex Software Systems: A Logical Denotational Approach. Technical Report. New Mexico State University. Dec. 1997.

    Google Scholar 

  16. G. Gupta, E. Pontelli, H. Guo, L. Zhu. Automatic Generation of a WAM- compiler and a Native Code Compiler for Prolog. New Mexico State University. Working paper

    Google Scholar 

  17. G. Gupta, E. Pontelli. Horn Logical Denotational Framework for Abstract Interpretation. New Mexico State University. Working paper.

    Google Scholar 

  18. C. Gunter. Programming Language Semantics. MIT Press. 1992

    Google Scholar 

  19. C. A. R. Hoare.An Axiomatic Basis for Computer Programming. Comm. of the ACM. Vol. 12. pp. 576–580, 1969

    Article  MATH  Google Scholar 

  20. N. Jones. Introduction to Partial Evaluation. In ACM Computing Surveys. 28(3):480–503.

    Google Scholar 

  21. J. L. Lassez and J. Jaffar. Constraint logic programming. In Proc. 14th ACM POPL, 1987

    Google Scholar 

  22. P. Lee. Realistic Compiler Generation. The MIT Press, Cambridge, MA, 1989.

    Google Scholar 

  23. A. Karshmer, G. Gupta, S. Geiger, C. Weaver. A Framework for Translation of Braille Nemeth Math to LATEX: The MAVIS Project. In Proc. ACM Conference on Assistive Technologies, ACM Press, pp. 136–143, Mar. 1998

    Google Scholar 

  24. N. Lindenstrauss, Y. Sagiv. Automatic Termination Analysis for Logic Programs. In Proc. International Conference on Logic Programming, 1997. pp. 63–77

    Google Scholar 

  25. J.W. Lloyd. Foundations of Logic Programming. Springer Verlag. 2nd ed. 1987

    MATH  Google Scholar 

  26. J. Hannan, D. Miller. From Operational Semantics to Abstract Machines. In Proc. Lisp and Functional Programming Conference, 1990.

    Google Scholar 

  27. P.D. Mosses. Compiler Generation using Denotational Semantics. In Math. Foundations of Computer Science, Springer LNCS 45, pages 436–441, 1976

    Google Scholar 

  28. A. Nemeth. The Braille-Nemeth Math Code. American Printing House for the Blind. 1972Revision.Louisville, Kentucky

    Google Scholar 

  29. F. Nielson and H. R. Nielson. Two level semantics and code generation. Theoretical Computer Science, 56(1):59–133. 1988.

    Article  MathSciNet  MATH  Google Scholar 

  30. C. R. Ramakrishnan, S. Dawson, and D. Warren. Practical Program Analysis Using General Purpose Logic Programming Systems: A Case Study. In Proc. ACM Conf. on Programming Language Design and Implementation 1996

    Google Scholar 

  31. C. Ramming. Editor, Proceedings of the Usenix Conference on Domain-Specific Languages, October 1997, Santa Barbara, California, USA.

    Google Scholar 

  32. M. Raskovsky, Phil Collier. From Standard to Implementational Denotational Semantics. In Semantics Directed Compiler Generation Lecture Notes in Computer Science 94. Springer Verlag. pp. 94–139

    Google Scholar 

  33. Efficient Model Checking using Tabled Resolution. Y.S. Ramakrishnan, C.R. Ramakrishnan, I.V. Ramakrishnan et al. In Proceedings of Computer Aided Verification (CAV’97). 1997

    Google Scholar 

  34. J. Ringstrom, P. Fritzson, M. Pettersson. Generating an Efficient Compiler for a Data Parallel Language from a Denotational Specification. In Lecture Notes in Computer Science, Vol. 786, pp. 248–260. 1994.

    Google Scholar 

  35. S. Stepney. High Integrity Compilation. Prentice Hall. 1993

    MATH  Google Scholar 

  36. D. Sahlin. An Automatic Partial Evaluator for Full Prolog. Ph.D. Thesis. 1994. Royal Institute of Technology, Sweden. (Software available from www.sics.se).

    Google Scholar 

  37. K. Sagonas, T. Swift, and D. S. Warren. XSB as an efficient deductive database engine. In Proc. SIGMOD International Conf. on Management of Data, 1994

    Google Scholar 

  38. D. Schmidt. Denotational Semantics: a Methodology for Language Development. W.C. Brown Publishers, 1986.

    Google Scholar 

  39. D. Schmidt. Programming language semantics. In CRC Handbook of Computer Science, Allen Tucker, ed., CRC Press, Boca Raton, FL, 1996. Summary version, ACM Computing Surveys 28–1 (1996) 265–267.

    Google Scholar 

  40. D. Schmidt. On the Need for a Popular Formal Semantics. Proc. ACM Conf. on Strategic Directions in Computing Research, Cambridge, MA, June 1996. ACM SIGPLAN Notices 32–1 (1997) 115–116

    Google Scholar 

  41. D. Schmidt. Dataflow Analysis is Model Checking of an Abstract Interpreter. In Proc. ACM POPL’98

    Google Scholar 

  42. L. Sterling & S. Shapiro. The Art of Prolog. MIT Press’,94.

    Google Scholar 

  43. J. Tan and I-P. Lin. Compiling Dataflow Analysis of Logic Programs. In Proc. ACM Conf. on Programming Language Design and Implementation. SIGPLAN Notices, 27(7), 1992.

    Google Scholar 

  44. P. Van Hentenryck. Constraint Handling in Prolog. MIT Press, 1988

    Google Scholar 

  45. S. Abiteboul, R. Hull, V. Vianu. Foundation of Databases. Addison-Wesley, 1995.

    Google Scholar 

  46. M. Wand. Semantics-directed Machine Architecture. In ACM POPL. pp. 234–241. 1982

    Google Scholar 

  47. D.H.D. Warren. An Abstract Instruction Set for Prolog. Tech. Note 309, SRI Int’l’,83

    Google Scholar 

  48. D.H.D. Warren. Higher Order Extensions to Prolog: Are They Needed? Machine Intell., 10:441–454

    Google Scholar 

  49. D.H.D. Warren. Logic Programming for Compiler-writing. Software Practice and Experience, 10, pp. 97–125. 1979.

    Article  Google Scholar 

  50. H. Zima, B. Chapman. Supercompilers for Parallel and Vector Computers. ACM Press’,91

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gupta, G. (1999). Horn Logic Denotations and Their Applications . In: Apt, K.R., Marek, V.W., Truszczynski, M., Warren, D.S. (eds) The Logic Programming Paradigm. Artificial Intelligence. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-60085-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-60085-2_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-64249-4

  • Online ISBN: 978-3-642-60085-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics