International Conference on Interactive Theorem Proving

ITP 2015: Interactive Theorem Proving pp 375-390 | Cite as

ModuRes: A Coq Library for Modular Reasoning About Concurrent Higher-Order Imperative Programming Languages

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9236)

Abstract

It is well-known that it is challenging to build semantic models of type systems or logics for reasoning about concurrent higher-order imperative programming languages. One of the key challenges is that such semantic models often involve constructing solutions to certain kinds of recursive domain equations, which in practice has been a barrier to formalization efforts. Here we present the ModuRes Coq library, which provides an easy way to solve such equations. We show how the library can be used to construct models of type systems and logics for reasoning about concurrent higher-order imperative programming languages.

References

  1. 1.
    Ahmed, A.: Semantics of Types for Mutable State. Ph.D. thesis, Princeton University (2004)Google Scholar
  2. 2.
    Ahmed, A., Appel, A.W., Virga, R.: A stratified semantics of general references embeddable in higher-order logic. In: LICS (2002)Google Scholar
  3. 3.
    Appel, A., Melliès, P.-A., Richards, C., Vouillon, J.: A very modal model of a modern, major, general type system. In: POPL (2007)Google Scholar
  4. 4.
    Appel, A.W., Dockins, R., Hobor, A.: (2009). http://vst.cs.princeton.edu/msl/
  5. 5.
    Bengtson, J., Jensen, J.B., Birkedal, L.: Charge! - a framework for higher-order separation logic in Coq. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 315–331. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  6. 6.
    Benton, N., Kennedy, A., Varming, C.: Some domain theory and denotational semantics in Coq. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 115–130. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  7. 7.
    Biering, B., Birkedal, L., Torp-Smith, N.: BI hyperdoctrines and higher-order separation logic. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 233–247. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  8. 8.
    Birkedal, L., Bizjak, A.: A taste of categorical logic - tutorial notes (2014). http://cs.au.dk/~birke/modures/tutorial/categorical-logic-tutorial-notes.pdf
  9. 9.
    Birkedal, L., Reus, B., Schwinghammer, J., Støvring, K., Thamsborg, J., Yang, H.: Step-indexed kripke models over recursive worlds. In: POPL (2011)Google Scholar
  10. 10.
    Birkedal, L., Støvring, K., Thamsborg, J.: The category-theoretic solution of recursive metric-space equations. Theor. Comput. Sci. 411(47), 4102–4122 (2010)MATHCrossRefGoogle Scholar
  11. 11.
    Birkedal, L., Støvring, K., Thamsborg, J.: Realizability semantics of parametric polymorphism, general references, and recursive types. In: de Alfaro, L. (ed.) FOSSACS 2009. LNCS, vol. 5504, pp. 456–470. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  12. 12.
    Brotherston, J., Villard, J.: Parametric completeness for separation theories. In: POPL (2014)Google Scholar
  13. 13.
    Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic. In: LICS (2007)Google Scholar
  14. 14.
    Chlipala, A.: The bedrock structured programming system: combining generative metaprogramming and hoare logic in an extensible program verifier. In: ICFP (2013)Google Scholar
  15. 15.
    Dockins, R., Hobor, A., Appel, A.W.: A fresh look at separation algebras and share accounting. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 161–177. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  16. 16.
    Di Gianantonio, P., Miculan, M.: A unifying approach to recursive and co-recursive definitions. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 148–161. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  17. 17.
    Hobor, A., Dockins, R., Appel, A.: A theory of indirection via approximation. In: POPL (2010)Google Scholar
  18. 18.
    Huffman, B.: A purely definitional universal domain. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 260–275. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  19. 19.
    Jensen, J.B.: Enabling Concise and Modular Specifications in Separation Logic. Ph.D. thesis, IT University of Copenhagen (2014)Google Scholar
  20. 20.
    Jung, R., Swasey, D., Sieczkowski, F., Svendsen, K., Turon, A., Birkedal, L., Dreyer, D.: Iris: monoids and invariants as an orthogonal basis for concurrent reasoning. In: POPL (2015)Google Scholar
  21. 21.
    Malecha, G., Bengtson, J.: Rtac – a reflective tactic language for Coq (2015) (Submitted for publication)Google Scholar
  22. 22.
    Pottier, F.: Syntactic soundness proof of a type-and-capability system with hidden state. JFP 23(1), 38–144 (2013)MATHMathSciNetGoogle Scholar
  23. 23.
    Sozeau, M., Oury, N.: First-class type classes. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 278–293. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  24. 24.
    Spitters, B., van der Weegen, E.: Type classes for mathematics in type theory. Math. Struct. Comput. Sci. 21(4), 795–825 (2011)MATHCrossRefGoogle Scholar
  25. 25.
    Svendsen, K., Birkedal, L.: Impredicative concurrent abstract predicates. In: Shao, Z. (ed.) ESOP 2014 (ETAPS). LNCS, vol. 8410, pp. 149–168. Springer, Heidelberg (2014) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Filip Sieczkowski
    • 1
  • Aleš Bizjak
    • 1
  • Lars Birkedal
    • 1
  1. 1.Department of Computer ScienceAarhus UniversityAarhusDenmark

Personalised recommendations