Because the concept of program correctness is generally taught as an activity independent of the programming process, most introductory computer science (CS) students perceive it ...
Timothy S. Gegg-Harrison, Gary R. Bunce, Rebecca D...
In a recent paper, Ginsberg shows how a backward-chaining ATMS can be used to construct a theorem prover for circumscription. Here, this work is extended to handle prioritized cir...
We present a new approach for constructing and verifying higherorder, imperative programs using the Coq proof assistant. We build on the past work on the Ynot system, which is bas...
Adam J. Chlipala, J. Gregory Malecha, Greg Morrise...
We present language mechanisms for polymorphic, extensible records and their exact dual, polymorphic sums with extensible first-class cases. These features make it possible to eas...
Existing languages provide good support for typeful programming of standalone programs. In a distributed system, however, there may be interaction between multiple instances of ma...
Peter Sewell, James J. Leifer, Keith Wansbrough, F...