Creative Commons Attribution 4.0 International license
We present a shallow embedding of fractional separation logic in Isabelle/HOL, based on fractional separation algebras with unbounded fractions. To support flexible ownership splitting and recombination, we use nominal labels that enable systematic distribution and collection of fractional permissions across separating conjunctions. The logic is integrated into a verification condition generator that automates substantial parts of fraction arithmetic and label reasoning, significantly reducing manual proof effort. As a backend, we connect the framework to Isabelle LLVM, enabling the verification of executable LLVM code. As a case study, we verify a parallel matrix-vector multiplication. The example illustrates recursive reasoning, parallel writes to disjoint segments of the result vector, and shared read access to the input vector via fractional permissions.
@InProceedings{lammich:LIPIcs.ITP.2026.27,
author = {Lammich, Peter},
title = {{Fractional Separation Logic in Isabelle LLVM}},
booktitle = {17th International Conference on Interactive Theorem Proving (ITP 2026)},
pages = {27:1--27:18},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-436-9},
ISSN = {1868-8969},
year = {2026},
volume = {382},
editor = {Komendantskaya, Ekaterina and Nipkow, Tobias},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2026.27},
URN = {urn:nbn:de:0030-drops-270016},
doi = {10.4230/LIPIcs.ITP.2026.27},
annote = {Keywords: Fractional Separation Logic, LLVM, verification, Isabelle}
}
archived version