LARA

This is an old revision of the document!


Higher-Order Logic and Interactive Provers

Lambda Calculus

Untyped Lambda Calculus

Simply Typed Lambda Calculus

Further reading:

Classical Higher-Order Logic (HOL)

Syntax and Shorthands of HOL

Standard-Model Semantics of HOL

Axioms of HOL

Results Proved in HOL

Further reading:

LCF Theorem Proving Approach

Approaches to Reliable Complex Proofs

Immutable Abstract Data Types

Theorems as Abstract Data Types

Concrete Example in Scala

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)
  • Upcoming book “Introduction to Logic and Automated Theorem Proving” by John Harrison
  • Logic and Computation: Interactive Proof with Cambridge LCF

Overview of Interactive Provers

HOL, Isabelle

PVS - decision procedures

Coq, NuPRL - more complex type theory, constructive mathematics

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