Skip to main content

Unifying Lazy and Strict Computations

  • Conference paper
Relational and Algebraic Methods in Computer Science (RAMICS 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7560))

Abstract

Non-strict sequential computations describe imperative programs that can be executed lazily and support infinite data structures. Based on a relational model of such computations we investigate their algebraic properties. We show that they share many laws with conventional, strict computations. We develop a common theory generalising previous algebraic descriptions of strict computation models including partial, total and general correctness and extensions thereof. Due to non-strictness, the iteration underlying loops cannot be described by a unary operation. We propose axioms that generalise the binary operation known from omega algebra, and derive properties of this new operation which hold for both strict and non-strict computations. All algebraic results are verified in Isabelle using its integrated automated theorem provers.

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. Aarts, C.J.: Galois connections presented calculationally. Master’s thesis, Department of Mathematics and Computing Science, Eindhoven University of Technology (1992)

    Google Scholar 

  2. Back, R.J.R., von Wright, J.: Reasoning algebraically about loops. Acta Inf. 36(4), 295–334 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  3. Cohen, E.: Separation and Reduction. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 45–59. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  4. Conway, J.H.: Regular Algebra and Finite Machines. Chapman and Hall (1971)

    Google Scholar 

  5. Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Transactions on Computational Logic 7(4), 798–833 (2006)

    Article  MathSciNet  Google Scholar 

  6. Desharnais, J., Struth, G.: Internal axioms for domain semirings. Sci. Comput. Program. 76(3), 181–203 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  7. Gritzner, T.F., Berghammer, R.: A relation algebraic model of robust correctness. Theor. Comput. Sci. 159(2), 245–270 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  8. Guttmann, W.: Imperative abstractions for functional actions. Journal of Logic and Algebraic Programming 79(8), 768–793 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  9. Guttmann, W.: Partial, Total and General Correctness. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol. 6120, pp. 157–177. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  10. Guttmann, W.: Unifying Recursion in Partial, Total and General Correctness. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 207–225. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Guttmann, W.: Fixpoints for general correctness. Journal of Logic and Algebraic Programming 80(6), 248–265 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  12. Guttmann, W.: Unifying Correctness Statements. In: Gibbons, J., Nogueira, P. (eds.) MPC 2012. LNCS, vol. 7342, pp. 198–219. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  13. Guttmann, W.: Algebras for iteration and infinite computations. Acta Inf. (to appear, 2012)

    Google Scholar 

  14. Guttmann, W.: Extended designs algebraically. Sci. Comput. Program. (to appear, 2012)

    Google Scholar 

  15. Hayes, I.J., Dunne, S.E., Meinicke, L.: Unifying Theories of Programming That Distinguish Nontermination and Abort. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol. 6120, pp. 178–194. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  16. Hoare, C.A.R.: Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 1–27. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  17. Hoare, C.A.R., He, J.: Unifying theories of programming. Prentice Hall Europe (1998)

    Google Scholar 

  18. Höfner, P., Möller, B.: An algebra of hybrid systems. Journal of Logic and Algebraic Programming 78(2), 74–97 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  19. Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110(2), 366–390 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  20. Kozen, D.: Kleene algebra with tests. ACM Trans. Progr. Lang. Syst. 19(3), 427–443 (1997)

    Article  MATH  Google Scholar 

  21. Lai, A.Y.C.: Operational Semantics and Lazy Execution. Forthcoming PhD thesis, University of Toronto (expected 2012)

    Google Scholar 

  22. Launchbury, J., Peyton Jones, S.: State in Haskell. Lisp and Symbolic Computation 8(4), 293–341 (1995)

    Article  Google Scholar 

  23. Maddux, R.D.: Relation-algebraic semantics. Theor. Comput. Sci. 160(1-2), 1–85 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  24. Möller, B.: Kleene getting lazy. Sci. Comput. Program. 65(2), 195–214 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  25. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  26. Schmidt, G., Ströhlein, T.: Relationen und Graphen. Springer (1989)

    Google Scholar 

  27. Tarski, A.: On the calculus of relations. The Journal of Symbolic Logic 6(3), 73–89 (1941)

    Article  MathSciNet  MATH  Google Scholar 

  28. von Wright, J.: Towards a refinement algebra. Sci. Comput. Program. 51(1-2), 23–45 (2004)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Guttmann, W. (2012). Unifying Lazy and Strict Computations. In: Kahl, W., Griffin, T.G. (eds) Relational and Algebraic Methods in Computer Science. RAMICS 2012. Lecture Notes in Computer Science, vol 7560. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33314-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33314-9_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33313-2

  • Online ISBN: 978-3-642-33314-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics