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
Last revision Both sides next revision
sav08:lecture26 [2008/05/28 04:03]
vkuncak
sav08:lecture26 [2008/11/14 20:39]
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 Isabell =====
  
 +<​code>​NipkowETAL06FlyspeckI,​
 +Paulson03ConsistencyAxiomChoiceIsabelle,​
 +PaulsonGrabczewski96MechanizingSetTheory,​
 +Berghofer07FirstOrderLogicAccordingtoFitting
 +</​code>​