LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
sav08:lecture26 [2008/05/28 03:23]
vkuncak
sav08:lecture26 [2008/05/28 11:10]
vkuncak
Line 29: Line 29:
  
 ===== 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]] 
 + 
 +[[http://​afp.sourceforge.net/​entries/​BinarySearchTree.shtml|Binary Search Trees Example]]
  
 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
 +
 +===== Some Interactive Provers =====
  
-===== Interactive Prover Overview =====+[[http://​hol.sourceforge.net/​|HOL]] - use directly ML
  
-HOL+[[http://​www.cl.cam.ac.uk/​~jrh13/​hol-light/​|HOL Light]] - compact version, written in OCaml
  
-PVS+[[http://​www.cl.cam.ac.uk/​research/​hvg/​Isabelle/​|Isabelle]] - popular, ML part largely hidden
  
-Isabelle+[[http://​pvs.csl.sri.com/​|PVS]] - automation through decision procedures
  
-Coq+[[http://​coq.inria.fr/​|Coq]] - was less automated, now catching up; more complex logic
  
-ACL2+[[http://​www.cs.cornell.edu/​Info/​Projects/​Nuprl/​|NuPRL]] - more complex type theory, constructive mathematics
  
-NuPRL+[[http://​www.cs.utexas.edu/​~moore/​acl2/​|ACL2]] - emphasis on executable functions, quantifier-free statements, automated induction, pioneering industrial-scale case studies