Skip to main content

Lifting General Correctness into Partial Correctness is ok

  • Conference paper
Integrated Formal Methods (IFM 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4591))

Included in the following conference series:

Abstract

Commands interpreted in general correctness are usually characterised by their wp and wlp predicate transformer effects. We describe a way to ascribe to such commands a single predicate transformer semantics which embodies both their wp and wlp characteristics. The new single predicate transformer describes an everywhere-terminating “lifted” computation in an ok-enriched variable space, where ok is inspired by Hoare and He’s UTP but has the novelty here that it enjoys the same status as the other state variables, so that it can be manipulated directly in the lifted computation itself.

The relational model of this lifted computation is not, however, simply the canonical UTP relation of the original underlying computation, since this turns out to yield too cumbersome a lifted computation to permit reasoning about efficiently with the mechanised tools available. Instead we adopt a slightly less constrained model, which we are able to show is nevertheless still effective for our purpose, and yet admits a much more efficient form of mechanised reasoning with the tools available.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    MATH  Google Scholar 

  2. B-Core. The B-Toolkit. http://www.b-core.com

  3. Back, R.-J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Berlin Heidelberg (1998)

    MATH  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  5. ClearSy. Atelierb. http://www.atelierb.societe.com

  6. Dawson, J.E.: Formalising general correctness. In: Computing: The Australasian Theory Symposium 2004. Electronic Notes in Theoretical Computer Science, vol. 91, pp. 46–65. Elsevier, Amsterdam (2004)

    Google Scholar 

  7. Deutsch, M., Henson, M.C.: A relational investigation of UTP designs and perscriptions. In: Dunne, S.E., Stoddart, W.J. (eds.) UTP 2006. LNCS, vol. 4010, pp. 101–122. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

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

    MATH  Google Scholar 

  9. Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, Berlin Heidelberg (1990)

    MATH  Google Scholar 

  10. Dunne, S.E.: Abstract commands: a uniform notation for specifications and implementations. In: Fidge, C.J. (ed.) Computing: The Australasian Theory Symposium 2001. Electronic Notes in Theoretical Computer Science, vol. 42, Elsevier, Amsterdam (2001) http://www.elsevier.nl/locate/entcs

    Google Scholar 

  11. Dunne, S.E.: Recasting Hoare and He’s unifying theory of programs in the context of general correctness. In: Butterfield, A., Strong, G., Pahl, C. (eds.) Proceedings of the 5th Irish Workshop in Formal Methods, IWFM 2001, Workshops in Computing, British Computer Society, Vancouver (2001), http://ewic.bcs.org/conferences/2001/5thformal/papers

    Google Scholar 

  12. Dunne, S.E., Stoddart, W.J., Galloway, A.J.: Specification and refinement in general correctness. In: Evans, A., Duke, D., Clark, A. (eds.) Proceedings of the 3rd Northern Formal Methods Workshop. BCS Electronic Workshops in Computing (1998) http://www.ewic.org.uk/ewic/workshop/view.cfm/NFM-98

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

    Chapter  Google Scholar 

  14. Hayes, I.J.: Separating timing and calculation in real-time refinement. In: Grundy, J., Schwenke, M., Vickers, T. (eds.) International Refinement Workshop and Formal Methods Pacific 1998, pp. 1–16. Springer, Heidelberg (1998)

    Google Scholar 

  15. Hayes, I.J.: Reasoning about non-terminating loops using deadline commands. In: Backhouse, R., Oliveira, J. (eds) Mathematics of Program Construction (MPC2000), (2000) Also available as Technical Report UQ-SVRC-00-02, http://svrc.it.uq.edu.au

  16. Hehner, E.C.R.: Termination is timing. In: van de Snepscheut, J.L.A. (ed.) Mathematics of Program Construction. LNCS, vol. 375, pp. 36–47. Springer, Heidelberg (1989)

    Google Scholar 

  17. Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993)

    MATH  Google Scholar 

  18. Hehner, E.C.R., Gravell, A.M.: Refinement semantics and loop rules. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, pp. 1497–1510. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  19. Hesselink, W.H.: Programs, Recursion and Unbounded Choice. Cambridge Tracts in Theoretical Computer Science, vol. 27. Cambridge University Press, Cambridge (1992)

    MATH  Google Scholar 

  20. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  22. Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)

    Google Scholar 

  23. Milner, A.J.R.G.: Computing is interaction. Invited address FACS 21st Anniversary Symposium, December 2, 1998. The Royal Society, London (1998)

    Google Scholar 

  24. Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice Hall International, Englewood Cliffs (1994)

    MATH  Google Scholar 

  25. Morgan, C.C., McIver, A.: Unifying wp and wlp. Information Processing Letters 59, 159–163 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  26. Nelson, G.: A generalisation of Dijkstra’s calculus. ACM Transactions on Programmg Languages and Systems, vol. 11(4) (1989)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jim Davies Jeremy Gibbons

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dunne, S., Galloway, A. (2007). Lifting General Correctness into Partial Correctness is ok . In: Davies, J., Gibbons, J. (eds) Integrated Formal Methods. IFM 2007. Lecture Notes in Computer Science, vol 4591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73210-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73210-5_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73209-9

  • Online ISBN: 978-3-540-73210-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics