Skip to main content


Types, maps and separation logic


Rafal Kolanski and Gerwin Klein




This paper presents a separation-logic framework for reasoning about low-level C code in the presence of virtual memory. We describe our abstract, generic Isabelle/HOL framework for reasoning about virtual memory in separation logic, and we instantiate this framework to a precise, formal model of ARMv6 page tables. The logic supports the usual separation logic rules, including the frame rule, and extends separation logic with additional basic predicates for mapping virtual to physical addresses. We build on earlier work to parse potentially type-unsafe, system-level C code directly into Isabelle/HOL and further instantiate the separation logic framework to C.

BibTeX Entry

    publisher        = {Springer},
    author           = {Kolanski, Rafal and Klein, Gerwin},
    month            = {aug},
    editor           = {{S. Berghofer, T. Nipkow, C. Urban, M. Wenzel}},
    year             = {2009},
    keywords         = {isabelle/hol, virtual memory, sel4},
    title            = {Types, Maps and Separation Logic},
    booktitle        = {International Conference on Theorem Proving in Higher Order Logics},
    pages            = {276-292},
    address          = {Munich, Germany}