Skip to main content

Logic Program Schemas, Constraints, and Semi-unification

  • 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

Program schemas are known to be useful in different applications such as program synthesis, transformation, analysis, debugging, teaching . . . This paper tackles two complementary aspects of program schemas. We first propose a language for the description of program schemas. It is based on a subset of second-order logic, enhanced with constraints and specific features of program schemas. One of the basic operations on schemas is the semi-unification of a schema with a program. We then express the semi-unification process over schemas as rewriting and reduction rules, using CLP techniques, where constraints are used to guide the semi-unification process.

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. H. Büyükyıldız and P. Flener, Generalized logic program transformation schemas, In: N.E. Fuchs (ed.), Proc. of LOPSTR’97 (this volume)

    Google Scholar 

  2. Y. Deville and K.-K. Lau, Logic program synthesis: A survey, Journal of Logic Programming, 19–20:321–350, May/July 1994

    Article  MathSciNet  Google Scholar 

  3. P. Flener, Logic Program Synthesis From Incomplete Information, Kluwer Academic Publishers, 1995

    Google Scholar 

  4. P. Flener and Y. Deville, Logic program transformation through generalization schemata, In: M. Proietti (ed.), Proc. of LOPSTR’95, Springer-Verlag, 1996

    Google Scholar 

  5. P. Flener, K.-K. Lau and M. Ornaghi, On Correct Program Schemas, In: N.E. Fuchs (ed.), Proc. of LOPSTR’97 (this volume)

    Google Scholar 

  6. N.E. Fuchs and M.P.J. Fromherz, Schema-Based Transformations of Logic Programs, In: T.P. Clement, K.-K. Lau (eds.), Proc. of LOPSTR’91, Springer-Verlag, 1992

    Google Scholar 

  7. M.R. Garey and D.S. Johnson, Computers and Intractability. A Guide to the Theory of NP-completeness, W.H. Freeman and Company, 1979

    Google Scholar 

  8. T.S. Gegg-Harrison, Learning Prolog in a Schema-Based Environment, Instructional Science, 20:173–192, 1991

    Article  Google Scholar 

  9. T.S. Gegg-Harrison, Representing Logic Program Schemata in γ Prolog, In: L. Sterling (ed.), Proc. of the 12th International Conference on Logic Programming, Japan, pp. 467–481, The MIT Press, 1995

    Google Scholar 

  10. T.S. Gegg-Harrison, Extensible Logic Program Schemata, In: J. Gallagher (ed.), Proc. of the 6th International Workshop on Logic Program Synthesis and Transformation, Stockholm, Sweden, pp. 256–274, Springer-Verlag, 1996

    Google Scholar 

  11. W.D. Goldfarb, The Undecidability of the second-order unification problem, Theoretical Computer Science, 13:225–230, 1981

    Article  MATH  MathSciNet  Google Scholar 

  12. J. Hannan and D. Miller, Uses Of Higher-Order Unification For Implementing Program Transformers, In: A. Kowalski, K.A. Bowen (eds.), Proc. of ICLP’88, The MIT Press, 1988

    Google Scholar 

  13. G. Huet, A unification algorithm for lambda calculus, Theoretical Computer Science, 1:27–57, 1975

    Article  MathSciNet  Google Scholar 

  14. G. Huet, Résolution d’Équations dans les langages d’ordre 1, 2...ω, PhD thesis, Université Paris VII, 1976

    Google Scholar 

  15. G. Huet and B. Lang, Proving and Applying Program Transformations Expressed with Second-Order Patterns, Acta Informatica 11 (1978), 31–55

    Article  MATH  MathSciNet  Google Scholar 

  16. I. Kraan, D. Basin and A. Bundy, Middle-Out Reasoning for Logic Program Synthesis, In: D.S. Warren (ed.), Proc. of ICLP’93, The MIT Press, 1993

    Google Scholar 

  17. D. Miller and G. Nadathur, A logic programming approach to manipulating formulas and programs, Proc. of the IEEE Fourth Symposium on Logic Programming, IEEE Press, 1987

    Google Scholar 

  18. A. Martelli and U. Montanari, An Efficient Unification Algorithm, ACM Transactions on Programming Languages and Systems, Vol. 4, No. 2, April 1982, pp.258–282

    Article  MATH  Google Scholar 

  19. T. Nipkow, Higher-order critical pairs, In: Proc. 6th IEEE Symp. Logic in Computer Science, pp. 342–349, 1991

    Google Scholar 

  20. J. Richardson and N.E. Fuchs, Development of correct transformation schemata for Prolog programs, In: N.E. Fuchs (e.), Proc. of LOPSTR’97 (this volume).

    Google Scholar 

  21. Z. Somogyi, F. Henderson and T. Conway, The execution algorithm of Mercury:. an efficient purely declarative logic programming language, Journal of Logic Programming, 29(1–3):17–64, October–December 1996

    Article  MATH  Google Scholar 

  22. W.W. Vasconcelos and N.E. Fuchs, Enhanced Schema-Based Transformations for. Logic Programs and their Opportunistic Usage in Program Analysis and Optimisation, technical report, Institut für Informatik, Universität Zürich, 1995

    Google Scholar 

  23. W.W. Vasconcelos and N.E. Fuchs, An Opportunistic Approach for Logic Program. Analysis and Optimisation Using Enhanced Schema-Based Transformations, In: M. Proietti (ed.), Proc. of LOPSTR’95, Springer-Verlag, 1996

    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

Chasseur, E., Deville, Y. (1998). Logic Program Schemas, Constraints, and Semi-unification. 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_4

Download citation

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

  • 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