Writing programs that construct proofs
Journal of Automated Reasoning
Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
The Boyer-Moore Prover and Nuprl: an experimental comparison
Logical frameworks
An Industrial Strength Theorem Prover for a Logic Based on Common Lisp
IEEE Transactions on Software Engineering
HOL Light: A Tutorial Introduction
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
A Type Annotation Scheme for Nuprl
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
Nuprl-Light: An Implementation Framework for Higher-Order Logics
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
A logic for correct program development
A logic for correct program development
Compiling Embedded Programs to Byte Code
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Sequent Schema for Derived Rules
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Rewriting for Symbolic Execution of State Machine Models
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
JProver: Integrating Connection-Based Theorem Proving into Interactive Proof Assistants
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Hi-index | 0.00 |
Theorem provers for higher-order logics often use tactics to implement automated proof search. Tactics use a general-purpose metalanguage to implement both general-purpose reasoning and computationally intensive domain-specific proof procedures. The generality of tactic provers has a performance penalty; the speed of proof search lags far behind special-purpose provers. We present a new modular proving architecture that significantly increases the speed of the core logic engine. Our speedup is due to efficient data structures and modularity, which allows parts of the prover to be customized on a domain-specific basis. Our architecture is used in the MetaPRL logical framework, with speedups of more than two orders of magnitude over traditional tactic-based proof search.