Advertisement

Separation Logic Adapted for Proofs by Rewriting

  • Magnus O. Myreen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6172)

Abstract

We present a formalisation of separation logic which, by avoiding the use of existential quantifiers, allows proofs that only use standard equational rewriting methods as found in off-the-shelf theorem provers. This proof automation is sufficiently strong to free the user from dealing with low-level details in proofs of functional correctness. The work presented here has been implemented in HOL4 and ACL2. It is illustrated on a standard example (reversal of a linked-list).

Keywords

Theorem Prover Separation Logic Functional Correctness Proof Automation Memory Layout 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Appel, A.W., Blazy, S.: Separation logic for small-step Cminor. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 5–21. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Gast, H.: Lightweight separation. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 199–214. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Kaufmann, M., Moore, J.S.: An ACL2 tutorial. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 17–21. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Marti, N., Aeldt, R., Yonezawa, A.: Towards formal verification of memory properties using separation logic. In: Workshop of the Japan Society for Software Science and Technology, Japan Society for Software Science and Technology, Japan (2005)Google Scholar
  5. 5.
    McCreight, A.: Practical tactics for separation logic. In: Urban, C. (ed.) TPHOLs 2009. LNCS, vol. 5674, pp. 343–358. Springer, Heidelberg (2009)Google Scholar
  6. 6.
    Myreen, M.O., Kaufmann, M.: HOL4 and ACL2 implementations, HOL4 (Myreen): ACL2 (Kaufmann), http://www.cl.cam.ac.uk/~mom22/sep-rewrite/
  7. 7.
    Reynolds, J.: Separation logic: A logic for shared mutable data structures. In: Proceedings of Logic in Computer Science (LICS). IEEE Computer Society, Los Alamitos (2002)Google Scholar
  8. 8.
    Slind, K., Norrish, M.: A brief overview of HOL4. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 28–32. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Tuch, H., Klein, G., Norrish, M.: Types, bytes, and separation logic. In: Principles of Programming Languages (POPL), pp. 97–108. ACM, New York (2007)Google Scholar
  10. 10.
    Tuerk, T.: A formalisation of smallfoot in HOL. In: Urban, C. (ed.) TPHOLs 2009. LNCS, vol. 5674, pp. 469–484. Springer, Heidelberg (2009)Google Scholar
  11. 11.
    Weber, T.: Towards mechanized program verification with separation logic. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 250–264. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Magnus O. Myreen
    • 1
  1. 1.Computer LaboratoryUniversity of CambridgeUK

Personalised recommendations