Footprints in Local Reasoning

  • Mohammad Raza

Foundations of Software Science and Computational Structures |

Published by Springer Verlag

Local reasoning about programs exploits the natural local behaviour common in programs by focussing on the footprint – that part of the resource accessed by the program. We address the problem of formally characterising and analysing the footprint notion for abstract local functions introduced by Calcagno, O’Hearn and Yang. With our definition, we prove that the footprints are the only essential elements required for a complete specification of a local function. We also show that, for well-founded models (which is usually the case in practice), a smallest specification always exists that only includes the footprints, thus formalising the notion of small axioms in local reasoning. We also present results for the non-well-founded case, and introduce the natural class of one-step local functions for which the footprints are the smallest safe states.