Skip to main content

Formal validation of transformation schemata

  • Conference paper
Logic Program Synthesis and Transformation

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 34 Accesses

Abstract

We present a first-order theory Г, which is used to validate transformation schemata. The theory Г consists of two kinds of axioms. Δ is the subset of the axioms Г which can be executed using a SLD-reso-lution like inference system, and Г-Δ contains first-order programs, as defined by T. Sato [Sat90], and induction axioms. Induction is essential if we want to prove correctness of more elaborate transformation schemata, e.g., a scheme which makes a program tail-recursive.

We show how to prove the correctness of transformation schemata using an ordinary proof system for intuitionistic first-order logic. Let ϑ be a transformation scheme which is proved correct. If we apply the scheme ϑ to a (first-order) program, the resulting program computes the same set of solutions as the original one.

We exemplify the method by proving the correctness of unfold/fold transformation, and of a scheme, which replaces recursion by tail-recursion.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Brough, D.R. and Hogger, CJ. Compiling Associativity into Logic Programs. Tech. Rept. 87/2, Imperial College, London, 1987.

    Google Scholar 

  2. Burstall, R.M. and Darlington, J. A transformation System for Developing Recursive Programs. J ACM 24, 1 (1977), 44–67.

    Article  MathSciNet  Google Scholar 

  3. Clark, K.L. Negation as failure. In Logic and data bases. Plenum Press, Gallaire, H. and Minker, J., pp. 293-322, New York, 1978.

    Google Scholar 

  4. Futamura, Y. Recursion Reduction: A Technique for Designing Efficient Recursive Programs. 1986, Lecture Notes, Uppsala.

    Google Scholar 

  5. Gegg-Harrison, T.S. Basic Prolog Schemata. Tech. Rept. CS-1989-20, Dept of Computer Science, Duke University, Durham, North Carolina, 1989.

    Google Scholar 

  6. Hagiya, M. and Sakurai, T. Foundation of logic programming based on inductive definition. New Generation Computing 2, 2 (1984), 59–77.

    Article  MATH  Google Scholar 

  7. Lloyd, J.W. Foundations of logic programming, Springer-Verlag, 2(1987).

    Google Scholar 

  8. Mäher, M.J. Correctness of a Logic Program Transformation System. Tech. Rept., IBM T.J. Watson Research Center, 1987.

    Google Scholar 

  9. Martin-Löf, P. Hauptsatz for the intuitionistic theory of iterated inductive definitions. In Proceedings of the Second Scandinavian Logic Symposium, Fenstad, J.E., North-Holland, 1971.

    Google Scholar 

  10. McCarty, L.T. Clausal intuitionistic logic. JLP 5, 1 (1988).

    Google Scholar 

  11. Miller, D. A logical analysis of modules in logic programming. JLP (1989), 79-108.

    Google Scholar 

  12. O’Keefe, R. The craft of Prolog, MIT press (1990).

    Google Scholar 

  13. Sato, T. A First Order Unfold/Fold System. Tech. Rept. 90-17, Electrotechnical Laboratory, Umezono, Tsukuba, Ibaraki, Japan 305, 1990.

    Google Scholar 

  14. Seki, H. Unfold/Fold Transformation of Stratified Programs. In 6th ICLP, 1989, pp. 554-568.

    Google Scholar 

  15. Tamaki, H. and Sato, T. Unfold/Fold transformations of logic programs. In Proceedings of the 2nd ICLP, 1984.

    Google Scholar 

  16. Waldau, M., Verification of logic programs using verification sentences, Computing Science Dept, Uppsala University, Sweden, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag London

About this paper

Cite this paper

Waldau, M. (1992). Formal validation of transformation schemata. In: Clement, T.P., Lau, KK. (eds) Logic Program Synthesis and Transformation. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3494-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3494-7_8

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19742-3

  • Online ISBN: 978-1-4471-3494-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics