Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
sav08:lecture26 [2008/05/28 03:11] vkuncak |
sav08:lecture26 [2008/05/28 05:40] vkuncak |
||
---|---|---|---|
Line 27: | Line 27: | ||
* Peter B. Andrews: An Introduction to Mathematical Logic and Type theory: To Truth through Proof, Springer 2002 (Chapter 5: Type Theory) | * Peter B. Andrews: An Introduction to Mathematical Logic and Type theory: To Truth through Proof, Springer 2002 (Chapter 5: Type Theory) | ||
* [[http://imps.mcmaster.ca/doc/seven-virtues.pdf|The Seven Virtues of Simple Type Theory]] | * [[http://imps.mcmaster.ca/doc/seven-virtues.pdf|The Seven Virtues of Simple Type Theory]] | ||
+ | |||
+ | |||
+ | |||
===== LCF Theorem Proving Approach ===== | ===== LCF Theorem Proving Approach ===== | ||
+ | |||
+ | [[Approaches to Reliable Complex Proofs]] | ||
[[Immutable Abstract Data Types]] | [[Immutable Abstract Data Types]] | ||
- | |||
- | [[Consequence of Type Safety and Abstraction]] | ||
[[Theorems as Abstract Data Types]] | [[Theorems as Abstract Data Types]] | ||
- | [[Concrete Example in Scala]] | + | [[Proof and Code Generation in LCF Systems]] |
Further reading: | Further reading: | ||
- | * [[http://doi.acm.org/10.1145/512760.512773|A Metalanguage for interactive proof in LCF]] | + | * [[http://doi.acm.org/10.1145/512760.512773|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) |
* [[http://www.cl.cam.ac.uk/~jrh13/hol-light/index.html|HOL Light]] | * [[http://www.cl.cam.ac.uk/~jrh13/hol-light/index.html|HOL Light]] | ||
* Upcoming book "Introduction to Logic and Automated Theorem Proving" by John Harrison | * Upcoming book "Introduction to Logic and Automated Theorem Proving" by John Harrison | ||
+ | * Logic and Computation: Interactive Proof with Cambridge LCF | ||
- | ===== Interactive Provers and Case Studies ===== | + | ===== Overview of Interactive Provers ===== |
- | + | ||
- | HOL | + | |
- | + | ||
- | PVS | + | |
- | Isabelle | + | HOL, Isabelle |
- | Coq | + | PVS - decision procedures |
- | ACL2 | + | Coq, NuPRL - more complex type theory, constructive mathematics |
+ | ACL2 - emphasis on executable functions, quantifier-free statements, automated induction, pioneering industrial-scale case studies | ||