On Correct Program Schemas

  • Pierre Flener
  • Kung-Kiu Lau
  • Mario Ornaghi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1463)


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.


Logic Program Open Program Correct Schema Program Schema Open Framework 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    D. Barker-Plummer. Cliche Programming in Prolog. In M. Bruynooghe, editor, Proc. META 90, pages 246–256, 1992.Google Scholar
  2. 2.
    E. Chasseur and Y. Deville. Logic program schemas, semi-unification and constraints. This volume.Google Scholar
  3. 3.
    N. Dershowitz. The Evolution of Programs. Birkhäuser, 1983.Google Scholar
  4. 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. 5.
    Y. Deville. Logic Programming: Systematic Program Development. Addison-Wesley, 1990.Google Scholar
  6. 6.
    P. Flener. Logic Program Synthesis from Incomplete Information. Kluwer, 1995.Google Scholar
  7. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 19.
    K.-K. Lau, M. Ornaghi, and S.-Å. Tärnlund. Steadfast logic programs. J. Logic Programming, submitted.Google Scholar
  20. 20.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1987.Google Scholar
  21. 21.
    Z. Manna. Mathematical Theory of Computation. McGraw-Hill, 1974.Google Scholar
  22. 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. 23.
    J. Richardson and N. Fuchs. Development of correct transformational schemata for Prolog programs. This volume.Google Scholar
  24. 24.
    D. Sannella and A. Tarlecki. Essential concepts of algebraic specification and program development. Formal Aspects of Computer Science, forthcoming.Google Scholar
  25. 25.
    D. R. Smith. Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence 27(1):43–96, 1985.zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    D. R. Smith. KIDS: A semiautomatic program development system. IEEE Trans. Software Engineering 16(9):1024–1043, 1990.CrossRefGoogle Scholar
  27. 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. 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. 29.
    M. Wirsing. Algebraic specification. In J. Van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 675–788. Elsevier, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Pierre Flener
    • 1
  • Kung-Kiu Lau
    • 2
  • Mario Ornaghi
    • 3
  1. 1.Department of Computer ScienceBilkent UniversityBilkent, AnkaraTurkey
  2. 2.Department of Computer ScienceUniversity of ManchesterManchesterUK
  3. 3.Dipartimento di Scienze dell’InformazioneUniversita’ degli studi di MilanoMilanoItaly

Personalised recommendations