Abstract. This paper shows how to use Girard's intuitionistic linear logic extended with a classical sublogic to reason about pointer pro-grams. More specifically, first, the paper defines the proof theory for ILC (Intuitionistic Linear logic with Constraints) and shows it is well-defined via a proof of cut elimination. Second, inspired by prior work of O'Hearn, Reynolds, and Yang, the paper explains how to interpret linear logicalformulas as descriptions of a program store. Third, this paper defines a simple imperative programming language with mutable references and arrays and gives verification condition generation rules that produce assertions in ILC. Finally, we identify a fragment of ILC, ILC-, that isboth decidable and closed under generation of verification conditions. Since verification condition generation is syntax-directed, we obtain adecidable procedure for checking properties of pointer programs
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.