| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Wed, 30 Mar 2016 20:11:37 +0100 | |
| changeset 416 | 75df587e1bcd | 
| parent 413 | 78b2ea2053f1 | 
| child 429 | 882ff9b28510 | 
| permissions | -rw-r--r-- | 
| 402 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | <?xml version="1.0" encoding="utf-8"?> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 2 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 3 | <html> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 4 | <head> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 5 | <title>The Nominal Datatype Package</title> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 6 | <link rel="stylesheet" href="nominal.css"> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | </head> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 8 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 9 | <body> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 10 | <h1>Mechanising the Metatheory of LF</h1> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 11 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 12 | <h3>by Christian Urban, James Cheney and Stefan Berghofer</h3> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 13 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 14 | <h4>Abstract</h4> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 15 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 16 | LF is a dependent type theory in which many other formal systems can | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 17 | be conveniently embedded. However, correct use of LF relies on | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 18 | nontrivial metatheoretic developments such as proofs of correctness | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 19 | of decision procedures for LF's judgments. Although detailed | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 20 | informal proofs of these properties have been published, they have | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 21 | not been formally verified in a theorem prover. We have formalized | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 22 | these properties within Isabelle/HOL using | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 23 | the Nominal Datatype Package, closely following a recent article by | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 24 | Harper and Pfenning. In the process, we identified and resolved a | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 25 | gap in one of the proofs and a small number of minor lacunae | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 26 | in others. We also formally derive a version of the type checking | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 27 | algorithm from which Isabelle/HOL can generate executable code. | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 28 | Besides its intrinsic interest, our formalization | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 29 | provides a foundation for studying the adequacy of LF encodings, the | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 30 | correctness of Twelf-style metatheoretic reasoning, and the | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 31 | metatheory of extensions to LF.<P> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 32 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 33 | <b>Technical Report</b> | 
| 413 
78b2ea2053f1
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
412diff
changeset | 34 | <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Nominal/LF/techreport.pdf">[pdf]</A><BR> | 
| 402 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 35 | (This technical report contains in some sections more details of our development | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 36 | than we presented in the LICS'08 paper, and also a new section on the | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 37 | locally nameless representation of binders and on code generation.) | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 38 | <p> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 39 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 40 | <b>Nominal Isabelle Development</b> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 41 | <p> (includes all three developments discussed in the technical report) | 
| 413 
78b2ea2053f1
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
412diff
changeset | 42 | <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Nominal/LF/LF.tgz">[LF.tgz]</A> | 
| 402 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 43 | <p> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 44 | <hr> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 45 | <!-- hhmts start --> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 46 | Last modified: Fri Oct 23 17:42:50 CEST 2009 | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 47 | <!-- hhmts end --> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 48 | <a href="http://validator.w3.org/check/referer">[Validate this page.]</a> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 49 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 50 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 51 | </body> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 52 | </html> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 53 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 54 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 55 |