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
sav08:lecture26 [2008/05/28 04:03]
vkuncak
sav08:lecture26 [2008/11/14 20: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 =====
Line 34: Line 33:
  
 [[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 =====
 +
 +[[http://​hol.sourceforge.net/​|HOL]] - use directly ML
 +
 +[[http://​www.cl.cam.ac.uk/​~jrh13/​hol-light/​|HOL Light]] - compact version, written in OCaml
 +
 +[[http://​www.cl.cam.ac.uk/​research/​hvg/​Isabelle/​|Isabelle]] - popular, ML part largely hidden
  
-===== Interactive Prover Overview =====+[[http://​pvs.csl.sri.com/​|PVS]] - automation through decision procedures
  
-HOLIsabelle+[[http://​coq.inria.fr/​|Coq]] - was less automatednow catching up; more complex logic
  
-PVS decision procedures+[[http://​www.cs.cornell.edu/​Info/​Projects/​Nuprl/​|NuPRL]] ​more complex type theory, constructive mathematics
  
-CoqNuPRL more complex type theoryconstructive mathematics+[[http://​www.cs.utexas.edu/​~moore/​acl2/​|ACL2]] - emphasis on executable functionsquantifier-free statementsautomated induction, pioneering industrial-scale case studies
  
-ACL2 - emphasis on executable functions, quantifier-free statements, automated induction, pioneering industrial-scale case studies+===== Example Results in Isabelle =====
  
 +<​code>​NipkowETAL06FlyspeckI,​
 +Paulson03ConsistencyAxiomChoiceIsabelle,​
 +PaulsonGrabczewski96MechanizingSetTheory,​
 +Berghofer07FirstOrderLogicAccordingtoFitting
 +</​code>​