Designing a Theorem Prover
<|reference_start|>Designing a Theorem Prover: A step-by-step presentation of the code for a small theorem prover introduces theorem-proving techniques. The programming language used is Standard ML. The prover operates on a sequent calculus formulation of first-order logic, which is briefly explained. The implementation of unification and logical inference is shown. The prover is demonstrated on several small examples, including one that shows its limitations. The final part of the paper is a survey of contemporary research on interactive theorem proving.<|reference_end|>
@article{paulson2001designing,
    title={Designing a Theorem Prover},
    author={Lawrence C. Paulson},
    journal={published in S. Abramsky, D. M. Gabbay, T. S. E. Maibaum
  (editors), Handbook of Logic in Computer Science, Vol II (Oxford, 1992),
  415-475},
    year={2001},
    archivePrefix={arXiv},
    eprint={cs/9301110},
    primaryClass={cs.LO}
}