What is a proof assistant?

Definition

A proof assistant provides a formal language, libraries and interactive tools for constructing mathematical or software proofs. Users define objects and theorems, then provide proof steps that the system reduces to a form its trusted checker can validate.

Proof assistants can verify programs, protocols and mathematics with high assurance. They require precise specifications and specialized knowledge, although automation and artificial intelligence can help propose lemmas, choose tactics and fill routine proof steps.

Acronyms and aliases

interactive theorem prover variant

Frequently asked questions

Is a proof assistant the same as an automated theorem prover?

Not exactly. A proof assistant supports interactive construction and checking, while an automated theorem prover attempts to find proofs with less direct human guidance.

What are examples of proof assistants?

Lean, Coq, Isabelle and Agda are widely used systems with different logical foundations, languages, libraries and automation approaches.

Videos explaining proof assistant