The existing call-by-need λ calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivale...
This paper shows how classic inductive assertions can be used in conjunction with an operational semantics to prove partial correctness properties of programs. The method imposes o...
The Airport Example The Omelette Example Copyright c 1996 American Association for Artificial Intelligence. All rights reserved. Despite the existence of programs that are able to ...
Data refinement is a common approach to reasoning about programs, based on establishing that te program indeed satisfies all the required properties imposed by an intended abstract...
Ivana Filipovic, Peter W. O'Hearn, Noah Torp-Smith...
Useful type inference must be faster than normalization. Otherwise, you could check safety conditions by running the program. We analyze the relationship between bounds on normali...