Skip to main content

Unifying Recursion in Partial, Total and General Correctness

  • Conference paper
Unifying Theories of Programming (UTP 2010)

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

Included in the following conference series:

Abstract

We give an algebraic semantics of non-deterministic, sequential programs which is valid for partial, total and general correctness. It covers full recursion based on a unified approximation order. We provide explicit solutions in terms of the refinement order. As an application, we systematically derive a semantics of while-programs common to the three correctness approaches.

UTP’s designs and prescriptions represent programs as pairs of termination and state transition information in total and general correctness, respectively. We show that our unified semantics induces a pair-based representation which is common to the correctness approaches. Operations on the pairs, including finite and infinite iteration, can be derived systematically. We also provide the effect of full recursion on the unified, pair-based representation.

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. de Bakker, J.W.: Semantics and termination of nondeterministic recursive programs. In: Michaelson, S., Milner, R. (eds.) Automata, Languages and Programming: Third International Colloquium, pp. 435–477. Edinburgh University Press, Edinburgh (1976)

    Google Scholar 

  3. Berghammer, R., Zierer, H.: Relational algebraic semantics of deterministic and nondeterministic programs. Theoretical Computer Science 43, 123–147 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  4. Birkhoff, G.: Lattice Theory, 3rd edn. Colloquium Publications, vol. XXV. American Mathematical Society, Providence (1967)

    MATH  Google Scholar 

  5. Broy, M., Gnatz, R., Wirsing, M.: Semantics of nondeterministic and noncontinuous constructs. In: Bauer, F.L., Broy, M. (eds.) Program Construction. LNCS, vol. 69, pp. 553–592. Springer, Heidelberg (1979)

    Chapter  Google Scholar 

  6. De Carufel, J.-L., Desharnais, J.: Demonic algebra with domain. In: Schmidt, R. (ed.) RelMiCS/AKA 2006. LNCS, vol. 4136, pp. 120–134. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Chen, Y.: A fixpoint theory for non-monotonic parallelism. Theoretical Computer Science 308(1–3), 367–392 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  8. 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 

  9. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002)

    Book  MATH  Google Scholar 

  10. Desharnais, J., Struth, G.: Domain axioms for a family of near-semirings. In: Meseguer, J., Roşu, G. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 330–345. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  11. Desharnais, J., Struth, G.: Modal semirings revisited. In: Audebaud, P., Paulin-Mohring, C. (eds.) MPC 2008. LNCS, vol. 5133, pp. 360–387. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  13. Dijkstra, R.M.: Computation calculus bridging a formalization gap. Science of Computer Programming 37(1–3), 3–36 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  14. Dunne, S.: Recasting Hoare and He’s Unifying Theory of Programs in the context of general correctness. In: Butterfield, A., Strong, G., Pahl, C. (eds.) 5th Irish Workshop on Formal Methods, Electronic Workshops in Computing. The British Computer Society (July 2001)

    Google Scholar 

  15. Dunne, S.E., Hayes, I.J., Galloway, A.J.: Reasoning about loops in total and general correctness. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 62–81. Springer, Heidelberg (2010)

    Google Scholar 

  16. Elgot, C.C.: Matricial theories. Journal of Algebra 42(2), 391–421 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  17. Guttmann, W.: General correctness algebra. In: Berghammer, R., Jaoua, A.M., Möller, B. (eds.) RelMiCS/AKA 2009. LNCS, vol. 5827, pp. 150–165. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  18. 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)

    Google Scholar 

  19. Guttmann, W., Möller, B.: Modal design algebra. In: Dunne, S., Stoddart, W. (eds.) UTP 2006. LNCS, vol. 4010, pp. 236–256. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  20. Guttmann, W., Möller, B.: Normal design algebra. Journal of Logic and Algebraic Programming 79(2), 144–173 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  21. Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580/583 (1969)

    Article  MATH  Google Scholar 

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

    Google Scholar 

  23. 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 

  24. Jacobs, D., Gries, D.: General correctness: A unification of partial and total correctness. Acta Informatica 22(1), 67–83 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  25. 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 

  26. Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Transactions on Computational Logic 1(1), 60–76 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  27. Möller, B.: Kleene getting lazy. Science of Computer Programming 65(2), 195–214 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  28. Möller, B., Struth, G.: WP is WLP. In: MacCaull, W., Winter, M., Düntsch, I. (eds.) RelMiCS 2005. LNCS, vol. 3929, pp. 200–211. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  29. Moszkowski, B.C.: A complete axiomatization of Interval Temporal Logic with infinite time. In: Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science, pp. 241–252. IEEE, Los Alamitos (2000)

    Google Scholar 

  30. Nelson, G.: A generalization of Dijkstra’s calculus. ACM Transactions on Programming Languages and Systems 11(4), 517–561 (1989)

    Article  Google Scholar 

  31. von Wright, J.: Towards a refinement algebra. Science of Computer Programming 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

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Guttmann, W. (2010). Unifying Recursion in Partial, Total and General Correctness. In: Qin, S. (eds) Unifying Theories of Programming. UTP 2010. Lecture Notes in Computer Science, vol 6445. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16690-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16690-7_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16689-1

  • Online ISBN: 978-3-642-16690-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics