File(s) under permanent embargo
Program logics for sequential higher-order control
We introduce a Hoare logic for call-by-value higher-order functional languages with control operators such as callcc. The key idea is to build the assertion language and proof rules around an explicit logical representation of jumps and their dual 'places-to-jump-to'. This enables the assertion language to capture precisely the intensional and extensional effects of jumping by internalising rely/guarantee reasoning, leading to simple proof rules for higher-order functions with callcc. We show that the logic can reason easily about non-trivial uses of callcc. The logic matches exactly with the operational semantics of the target language (observational completeness), is relatively complete in Cook's sense and allows efficient generation of characteristic formulae.
History
Publication status
- Published
Publisher
Springer VerlagExternal DOI
Volume
5961Page range
194-211Pages
470.0Event name
3rd IPM International Conference on Fundamentals of Software Engineering (FSEN)Event location
Kish Island, IRANEvent type
conferenceEvent date
April 15-17, 2009Book title
Fundamentals of software engineering: Third IPM International Conference, FSEN 2009, Kish Island, Iran, April 15-17, 2009, Revised Selected PapersPlace of publication
BerlinISBN
978-3-642-11622-3Series
Lecture Notes in Computer ScienceDepartment affiliated with
- Informatics Publications
Full text available
- No
Peer reviewed?
- Yes