منابع مشابه
FUNCTIONAL PEARLS Proof-Directed Debugging
The close relationship between writing programs and proving theorems has frequently been cited as an advantage of functional programming languages. We illustrate the interplay between programming and proving in the development of a program for regular expression matching. The presentation is inspired by Lakatos's method of proofs and refutations in which the attempt to prove a plausible conject...
متن کاملProof-Directed Debugging and Repair
We describe a project to refine the idea of proof-directed debugging. The intention is to clarify the mechanisms by which failed verification attempts can be used to isolate errors in code, in particular by exploiting the ways in which the branching structure of a proof can match the the structure of the functional program being verified. Our intention is to supply tools to support this process...
متن کاملModel-Guided Proof Debugging
In automated deduction, the final goal is to achieve a fully automatic proof system: given a logical specification of a problem, take a high-performance theorem prover, and let it do the work. Unfortunately, this does not work in practice, not only because theorem provers often lack finding the proof within reasonable time, but also because the specification is error-prone. For the latter, in t...
متن کاملEducational Pearl: 'Proof-directed debugging' revisited for a first-order version
Some 10 years ago, Harper illustrated the powerful method of proof-directed debugging for developing programs with an article in this journal. Unfortunately, his example uses both higher-order functions and continuation-passing style, which is too difficult for students in an introductory programming course. In this pearl, we present a first-order version of Harper’s example and demonstrate tha...
متن کاملProof Search Debugging Tools in ACL2
Any mechanized theorem prover with interesting automatic search features should provide the user some feedback on the search process so that failed proof attempts can be debugged. Proof search automation is a central theme of the ACL2 system: once the prover is started the user can do nothing to guide it. The prover’s behavior is determined largely by previously proved theorems in its data base...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Functional Programming
سال: 1999
ISSN: 0956-7968,1469-7653
DOI: 10.1017/s0956796899003378