Proc. of a conference on Functional programming languages and computer architecture
The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Handbook of theoretical computer science (vol. B)
Rippling: a heuristic for guiding inductive proofs
Artificial Intelligence
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Use of Planning Critics in Mechanizing Inductive Proofs
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
The Use of Metasystem Transition in Theorem Proving and Program Optimization
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Higher-Order Annotated Terms for Proof Search
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Termination Orderings for Rippling
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
Automatic verification of functions with accumulating parameters
Journal of Functional Programming
A divergence critic for inductive proof
Journal of Artificial Intelligence Research
Distillation: extracting the essence of programs
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Distilling Programs for Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.01 |
In this paper, we describe a new fully automatic theorem prover called Poitin which makes use of a novel transformation algorithm called distillation to prove input conjectures. The input conjectures are defined in a functional language and are transformed using the distillation algorithm. The result of this transformation can be easily inspected to see whether the original conjecture is true. Possible divergence of the transformation algorithm is detected, and this information is used to perform generalizations to ensure termination. We give several examples of the application of the theorem prover, and compare it to related work.