| author | Christian Urban <christian dot urban at kcl dot ac dot uk> | 
| Wed, 15 Jun 2016 13:28:31 +0100 | |
| changeset 447 | 678ba50aba9d | 
| parent 429 | 882ff9b28510 | 
| child 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">  | 
| 
429
 
882ff9b28510
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
413 
diff
changeset
 | 
7  | 
<BASE HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Nominal">  | 
| 
 
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>  | 
| 
413
 
78b2ea2053f1
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
412 
diff
changeset
 | 
36  | 
<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
 | 
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)  | 
| 
413
 
78b2ea2053f1
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
412 
diff
changeset
 | 
44  | 
<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
 | 
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  |