Deciding Boolean Separation Logic via Small Models (Technical Report)
<|reference_start|>Deciding Boolean Separation Logic via Small Models (Technical Report): We present a novel decision procedure for a fragment of separation logic (SL) with arbitrary nesting of separating conjunctions with boolean conjunctions, disjunctions, and guarded negations together with a support for the most common variants of linked lists. Our method is based on a model-based translation to SMT for which we introduce several optimisations$\unicode{x2013}$the most important of them is based on bounding the size of predicate instantiations within models of larger formulae, which leads to a much more efficient translation of SL formulae to SMT. Through a series of experiments, we show that, on the frequently used symbolic heap fragment, our decision procedure is competitive with other existing approaches, and it can outperform them outside the symbolic heap fragment. Moreover, our decision procedure can also handle some formulae for which no decision procedure has been implemented so far.<|reference_end|>
@article{dacík2024deciding,
    title={Deciding Boolean Separation Logic via Small Models (Technical Report)},
    author={Tom'av{s} Dac'ik, Adam Rogalewicz, Tom'av{s} Vojnar, Florian
  Zuleger},
    journal={arXiv preprint arXiv:2403.18999},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.18999},
    primaryClass={cs.LO}
}