Skip to main content

On Correct Program Schemas

  • Conference paper
  • First Online:
Logic Program Synthesis and Transformation (LOPSTR 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1463))

Abstract

We present our work on the representation and correctness of program schemas, in the context of logic program synthesis. Whereas most researchers represent schemas purely syntactically as higher-order expressions, we shall express a schema as an open first-order theory that axiomatises a problem domain, called a specification framework, containing an open program that represents the template of the schema. We will show that using our approach we can define a meaningful notion of correctness for schemas, viz. that correct program schemas can be expressed as parametric specification frameworks containing templates that are steadfast, i.e. programs that are always correct provided their open relations are computed correctly.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. D. Barker-Plummer. Cliche Programming in Prolog. In M. Bruynooghe, editor, Proc. META 90, pages 246–256, 1992.

    Google Scholar 

  2. E. Chasseur and Y. Deville. Logic program schemas, semi-unification and constraints. This volume.

    Google Scholar 

  3. N. Dershowitz. The Evolution of Programs. Birkhäuser, 1983.

    Google Scholar 

  4. Y. Deville and J. Burnay. Generalization and program schemata: A step towards computer-aided construction of logic programs. In E.L. Lusk and R.A. Overbeek, editors, Proc. NACLP’89, pages 409–425. MIT Press, 1989.

    Google Scholar 

  5. Y. Deville. Logic Programming: Systematic Program Development. Addison-Wesley, 1990.

    Google Scholar 

  6. P. Flener. Logic Program Synthesis from Incomplete Information. Kluwer, 1995.

    Google Scholar 

  7. P. Flener and Y. Deville. Logic program transformation through generalization schemata. In M. Proietti, editor, Proc. LOPSTR’95, pages 171–173. LNCS 1048, Springer-Verlag, 1996.

    Google Scholar 

  8. P. Flener and K.-K. Lau. Program Schemas as Steadfast Programs and their Usage in Deductive Synthesis. Tech Rep BU-CEIS-9705, Bilkent University, Ankara, Turkey, 1997.

    Google Scholar 

  9. P. Flener, K.-K. Lau, and M. Ornaghi, Correct-schema-guided Synthesis of Steadfast Programs, Proc. 12th IEEE International Automated Software Engineering Conference, pages 153–160, IEEE Computer Society, 1997.

    Google Scholar 

  10. T. S. Gegg-Harrison. Representing logic program schemata in λ-Prolog. In L. Sterling, editor, Proc. ICLP’95, pages 467–481. MIT Press, 1995.

    Google Scholar 

  11. T. S. Gegg-Harrison. Extensible Logic Program Schemata. In J. Gallagher, editor, Proc. LOPSTR’96, LNCS 1207, pages 256–274, Springer-Verlag, 1997.

    Google Scholar 

  12. J. A. Goguen, J.W. Thatcher, and E. Wagner. An initial algebra approach to specification, correctness and implementation. In R. Yeh, editor, Current Trends in Programming Methodology, IV, pages 80–149. Prentice-Hall, 1978.

    Google Scholar 

  13. J. A. Goguen and J. Meseguer. Unifying functional, object-oriented and relational programming with logical semantics. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming, pages 417–477. MIT Press, 1987.

    Google Scholar 

  14. A. Hamfelt and J. Fischer-Nilsson. Inductive metalogic programming. In S. Wrobel, editor, Proc. ILP’94, pages 85–96. GMD-Studien Nr. 237, Sankt Augustin, Germany, 1994.

    Google Scholar 

  15. W. Hodges. Logical features of Horn clauses. In D.M. Gabbay, C.J. Hogger, and J.A. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, Volume 1: Logical Foundations, pages 449–503, Oxford University Press, 1993.

    Google Scholar 

  16. A.-L. Johansson. Interactive program derivation using program schemata and incrementally generated strategies. In Y. Deville, editor, Proc. LOPSTR’93, pages 100–112. Springer-Verlag, 1994.

    Google Scholar 

  17. K.-K. Lau and M. Ornaghi. Forms of logic specifications: A preliminary study. In J. Gallagher, editor, Proc. LOPSTR’96, pages 295–312, LNCS 1207, Springer-Verlag, 1997.

    Google Scholar 

  18. K.-K. Lau, M. Ornaghi, and S.-Å. Tärnlund. The halting problem for deductive synthesis of logic programs. In P. van Hentenryck, editor, Proc. ICLP’94, pages 665–683. MIT Press, 1994.

    Google Scholar 

  19. K.-K. Lau, M. Ornaghi, and S.-Å. Tärnlund. Steadfast logic programs. J. Logic Programming, submitted.

    Google Scholar 

  20. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1987.

    Google Scholar 

  21. Z. Manna. Mathematical Theory of Computation. McGraw-Hill, 1974.

    Google Scholar 

  22. E. Marakakis and J.P. Gallagher. Schema-based top-down design of logic programs using abstract data types. In L. Fribourg and F. Turini, editors, Proc. LOP-STR/META’94, pages 138–153, LNCS 883, Springer-Verlag, 1994.

    Google Scholar 

  23. J. Richardson and N. Fuchs. Development of correct transformational schemata for Prolog programs. This volume.

    Google Scholar 

  24. D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computer Science, forthcoming.

    Google Scholar 

  25. D. R. Smith. Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence 27(1):43–96, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  26. D. R. Smith. KIDS: A semiautomatic program development system. IEEE Trans. Software Engineering 16(9):1024–1043, 1990.

    Article  Google Scholar 

  27. L. S. Sterling and M. Kirschenbaum. Applying techniques to skeletons. In J.-M. Jacquet, editor, Constructing Logic Programs, pages 127–140. John Wiley, 1993.

    Google Scholar 

  28. W. W. Vasconcelos and N.E. Fuchs. An opportunistic approach for logic program analysis and optimisation using enhanced schema-based transformations. In M. Proietti, editor, Proc. LOPSTR’95, pages 174–188. LNCS 1048, Springer-Verlag, 1996.

    Google Scholar 

  29. M. Wirsing. Algebraic specification. In J. Van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 675–788. Elsevier, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Flener, P., Lau, KK., Ornaghi, M. (1998). On Correct Program Schemas. In: Fuchs, N.E. (eds) Logic Program Synthesis and Transformation. LOPSTR 1997. Lecture Notes in Computer Science, vol 1463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49674-2_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-49674-2_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65074-4

  • Online ISBN: 978-3-540-49674-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics