author | Christian Urban <urbanc@in.tum.de> |
Thu, 16 Nov 2017 00:53:04 +0000 | |
changeset 520 | c6289d90d8ee |
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:
413
diff
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 |