1. A First-order Logic with Frames
- Author
-
Adithya Murali, Lucas Peña, P. Madhusudan, and Christof Löding
- Subjects
FOS: Computer and information sciences ,Computer Science - Logic in Computer Science ,Theoretical computer science ,Computer science ,02 engineering and technology ,Separation logic ,Translation (geometry) ,Article ,Meaning (philosophy of language) ,Fragment (logic) ,Computer Science::Logic in Computer Science ,0202 electrical engineering, electronic engineering, information engineering ,Program Verification ,First-Order Logic with Recursive Definitions ,First-Order Logic ,Frame (networking) ,020207 software engineering ,Construct (python library) ,Logic in Computer Science (cs.LO) ,First-order logic ,Program Logics ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Heap Verification ,020201 artificial intelligence & image processing ,Software ,Program logic - Abstract
We propose a novel logic, called Frame Logic (FL), that extends first-order logic (with recursive definitions) using a construct Sp(.) that captures the implicit supports of formulas -- the precise subset of the universe upon which their meaning depends. Using such supports, we formulate proof rules that facilitate frame reasoning elegantly when the underlying model undergoes change. We show that the logic is expressive by capturing several data-structures and also exhibit a translation from a precise fragment of separation logic to frame logic. Finally, we design a program logic based on frame logic for reasoning with programs that dynamically update heaps that facilitates local specifications and frame reasoning. This program logic consists of both localized proof rules as well as rules that derive the weakest tightest preconditions in FL., This manuscript is an extended and revised version of the publication with the same title that appeared at ESOP 2022 (https://doi.org/10.1007/978-3-030-44914-8_19). It is currently under review
- Published
- 2023