| author | Christian Urban <urbanc@in.tum.de> | 
| Thu, 14 Sep 2017 12:24:51 +0100 | |
| changeset 478 | c8216c81d367 | 
| parent 465 | 4dac76eb27d9 | 
| 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"> | 
| 465 | 7 | <BASE HREF="http://nms.kcl.ac.uk/christian.urban/Nominal"> | 
| 429 
882ff9b28510
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
413diff
changeset | 8 | |
| 402 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 9 | </head> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 10 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 11 | <body> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 12 | <h1>Mechanising the Metatheory of LF</h1> | 
| 
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 | <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 | 15 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 16 | <h4>Abstract</h4> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 17 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 18 | 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 | 19 | 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 | 20 | 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 | 21 | 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 | 22 | 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 | 23 | 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 | 24 | these properties within Isabelle/HOL using | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 25 | 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 | 26 | 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 | 27 | 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 | 28 | 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 | 29 | 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 | 30 | Besides its intrinsic interest, our formalization | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 31 | 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 | 32 | 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 | 33 | metatheory of extensions to LF.<P> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 34 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 35 | <b>Technical Report</b> | 
| 465 | 36 | <A HREF="http://nms.kcl.ac.uk/christian.urban/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 | 37 | (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 | 38 | 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 | 39 | 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 | 40 | <p> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 41 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 42 | <b>Nominal Isabelle Development</b> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 43 | <p> (includes all three developments discussed in the technical report) | 
| 465 | 44 | <A HREF="http://nms.kcl.ac.uk/christian.urban/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 | 45 | <p> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 46 | <hr> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 47 | <!-- hhmts start --> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 48 | 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 | 49 | <!-- hhmts end --> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 50 | <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 | 51 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 52 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 53 | </body> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 54 | </html> | 
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 55 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 56 | |
| 
9e089afe5086
added Nominal
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 57 |