# Lecture 03a: Introduction to Higher-Order Logic and Interactive Theorem Proving

## Lambda Calculus

Further reading:

- Barendregt, H. P. The Lambda Calculus: Its Syntax and Semantics. North Holland, Amsterdam (1984)

## Classical Higher-Order Logic (HOL)

Standard-Model Semantics of HOL

Further reading:

- Peter B. Andrews: An Introduction to Mathematical Logic and Type theory: To Truth through Proof, Springer 2002 (Chapter 5: Type Theory)

## LCF Theorem Proving Approach

Approaches to Reliable Complex Proofs

Theorems as Abstract Data Types

Proof and Code Generation in LCF Systems

Further reading:

- A Metalanguage for interactive proof in LCF - ML stands for meta-Language, because it was a language for writing theorem provers that prove theorems (in object-language i.e. logic of computable functions)

## Some Interactive Provers

HOL - use directly ML

HOL Light - compact version, written in OCaml

Isabelle - popular, ML part largely hidden

PVS - automation through decision procedures

Coq - also very popular, more automation introduced recently; more complex logic

NuPRL - more complex type theory, constructive mathematics

ACL2 - emphasis on executable functions, quantifier-free statements, automated induction, pioneering industrial-scale case studies