updated
authorChristian Urban <christian.urban@kcl.ac.uk>
Mon, 20 Mar 2023 11:48:07 +0000
changeset 625 a831d431425c
parent 624 5d94313977b1
child 626 1ef1771f30d7
updated
Nominal/main.html
Nominal/users.html
--- a/Nominal/main.html	Fri Dec 23 10:36:24 2022 +0000
+++ b/Nominal/main.html	Mon Mar 20 11:48:07 2023 +0000
@@ -83,7 +83,8 @@
 the soundness proof and corrected it (we actually gave three solutions to the problem [6]). Urban 
 formalised and also corrected the main result of his PhD, a logical relation argument for
 establishing strong normalisation of cut-elimination in classical logic. Other
-people have used Nominal Isabelle too:
+people have used Nominal Isabelle too - see our list of users and projects
+<A HREF="users.html">here</A>
 
 <ul>
 <li>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Nominal/users.html	Mon Mar 20 11:48:07 2023 +0000
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <title>Nominal Methods Group</title>
+  <link rel="stylesheet" href="nominal.css">
+</head>
+
+<body>
+
+<div align="right" style="position:relative; left:15%; width:80%">
+<P>
+<small>
+<SCRIPT LANGUAGE="JAVASCRIPT" type="text/javascript">
+<!--
+var r_text = new Array ();
+r_text[0] = "<em>\"Proving theorems about substitutions (and related operations such as alpha-conversion) required far more time and HOL code than any other variety of theorem.\"<br><\/em>M. VanInwegen using a concrete representation for binders in her PhD-thesis, 1996";
+
+r_text[1] = "<em>\"When doing the formalization, I discovered that the core part of the proof... is fairly straightforward and only requires a good understanding of the paper version. However, in completing the proof I observed that in certain places I had to invest much more work than expected, e.g. proving lemmas about substitution and weakening.\"<\/em><br>T. Altenkirch using de Bruijn indices in Proc. of TLCA, 1993";
+
+r_text[2] = "<em>\"Technical work, however, still represents the biggest part of our implementation, mainly due to the managing of de Bruijn indexes...Of our 800 proved lemmas, about 600 are concerned with operators on free names.\"<\/em><br>D. Hirschkoff in Proc. of TPHOLs, 1997";
+
+r_text[3] = "<em>\"It took the author many long months to complete the work on this formalization...The part concerning substitution is by far the largest part of the whole development.\"<\/em><br>A. Koprowski using de Bruijn indices in a draft paper, 2006";
+
+r_text[4] = "<em>\"We thank T. Thacher Robinson for showing us on August 19, 1962 by a counterexample the existence of an error in our handling of bound variables.\"<\/em><br>S. Kleene in J. of Symbolic Logic 27(1):11-18, 1962";
+
+r_text[5] = "<em>\"The main drawback in HOAS is the difficulty of dealing with metatheoretic issues concerning names in processes...As a consequence, some metatheoretic properties involving substitution and freshness of names inside proofs and processes cannot be proved inside the framework and instead have to be postulated.\"<\/em><br>F. Honsell, M. Miculan and I. Scagnetto in Theoretical Computer Science, 253(2):239-285, 2001";
+
+r_text[6] = "<em>\"Because Twelf metatheorems are proved using totality assertions about LF type families, the class of metatheorems that can be mechanized is restricted to All/Exists-statements over LF types. On the one hand, as the successful Twelf formalizations cited in Section 5 demonstrate, these All/Exists-statements have proved to be sufficient for formalizing a wide variety of metatheorems about programming languages and logics. On the other hand, we have no way to quantify when metatheorems of this form will be sufficient, and there are some well-known examples of proofs that cannot be formalized directly using Twelf as metatheorem language. For example, proofs by logical relations often require more quantifier complexity than All/Exists-statements afford.\"<\/em><br>Robert Harper and Daniel Licata in a paper on Twelf, 2007";
+
+r_text[7] = "<em>\"So we cannot, hand-on-heart, recommend the vanilla LN style for anything but small, kernel language developments. \"<\/em><br>in F-ing Modules by Rossberg, Russo and Dreyer, TLDI 2010";
+
+r_text[8] = "<em>\"Higher-order abstract syntax is a convenient way to approach languages with binding, but it is possible to imagine a problem where manipulating a fully concrete object without binding is simpler. In these cases, it is possible to establish a bijection between your HOAS terms and de Bruijn versions of the same terms. \"<\/em><br>Interesting responses from the <A HREF=\"http://twelf.plparty.org/wiki/Ask_Twelf_Elf\">Twelf wiki.</A> (To be honest, the same comment applies to Nominal. --cu)";
+
+r_text[9] = "<em>\"I wonder if de Bruijn was any good at remembering names. \"<\/em><br>Darius Jahandarie according to Haskell Digest, Vol 97, Issue 1";
+
+var i = Math.floor(r_text.length * Math.random());
+document.write(r_text[i]);
+//-->
+</SCRIPT>
+</small>
+</P>
+</div>
+
+
+<H1>Our Vision</H1>
+
+<P>
+<IMG SRC="new.gif" ALT="" style="" align="left">
+<I>We are working on a major overhaul of Nominal Isabelle. The 
+latest bundles of Nominal2 are 
+<A HREF="http://nms.kcl.ac.uk/christian.urban/Nominal/download.html">here</A>. 
+</I></P>
+
+
+<P>
+To root out bugs, every programming language should be designed with the help
+of a theorem prover, and every compiler should be verified. With our work we
+aim to provide all proving technologies necessary for reasoning
+<B>conveniently</B> about programming languages (for example the <A
+HREF="http://en.wikipedia.org/wiki/Lambda_calculus" target="_top">lambda
+calculus</A>) and compilers. For us, formal proofs should be as easy to perform as informal
+"pencil-and-paper" proofs - at least the overhead of formal proofs should not
+prevent any formalisation.  Many ideas for our work come from the nominal
+logic work by <A HREF="http://www.cl.cam.ac.uk/~amp12/" target="_top">Andrew
+Pitts</A>.  Our theoretical results about nominal theories enabled us to
+implement Nominal Isabelle on top of Isabelle/HOL.
+</P>
+
+<P>
+If you want to see a simple example illustrating our results on Nominal Isabelle click
+<A HREF="example.html">here</A>. For more interesting results, we already
+completed formalisations of Church-Rosser and strong-normalisation proofs as
+well as the first part of the <A
+HREF="https://www.seas.upenn.edu/~plclub/poplmark/" target="_top">PoplMark
+Challenge</A>.  We also formalised some typical proofs from SOS, <A
+HREF="http://www.cs.cmu.edu/~crary/" target="_top">Karl Crary</A>'s chapter on
+logical relations from <A
+HREF="http://www.cis.upenn.edu/~bcpierce/attapl/index.html"
+target="_top">Advanced Topics in Types and Programming Languages</A>, and also
+a paper on LF by <A HREF="http://www.cs.cmu.edu/~rwh/" target="_top">Harper</A> and 
+<A HREF="http://www.cs.cmu.edu/~fp/" target="_top">Pfenning</A>. In the latter paper we found a gap in
+the soundness proof and corrected it (we actually gave three solutions to the problem [6]). Urban 
+formalised and also corrected the main result of his PhD, a logical relation argument for
+establishing strong normalisation of cut-elimination in classical logic. Other
+people have used Nominal Isabelle too:
+
+<ul>
+<li>
+<A HREF="http://www.it.uu.se/katalog/jesperb/" target="_top">Jesper Bengtson</A>
+and <A HREF="http://user.it.uu.se/~joachim/" target="_top">Joachim Parrow</A>
+used Nominal Isabelle to verify the theory of the
+pi-calculus. They formalised the proof that bisimulation is a congruence (both
+for late and early operational semantics) available 
+<a href="http://afp.sourceforge.net/entries/Pi_Calculus.shtml">here</a>.  Moreover they formalised the proof
+that all late bisimilar processes are early bisimilar. The corresponding
+papers were presented at FOSSACS'07 and SOS'07. They also used Nominal Isabelle
+to formalise their work on Psi-calculi, available 
+<a href="http://afp.sourceforge.net/entries/Psi_Calculi.shtml">here</a>. This was 
+presented at LICS 2009 and LICS 2010.
+Jesper finished his PhD about this in 2010 with a large formalisation in Nominal Isabelle. 
+He also formalised CCS (<a href="http://afp.sourceforge.net/entries/CCS.shtml">here</a>). 
+All formalisations are part of the <A HREF="http://afp.sourceforge.net/">AFP</A>.
+<li>
+<A HREF="http://www.ccs.neu.edu/home/samth/" target="_top">Sam Tobin-Hochstadt</A>, a student
+of <A HREF="http://www.ccs.neu.edu/home/matthias/" target="_top">Matthias Felleisen</A>, used 
+Nominal Isabelle to formalise their work on Typed Scheme. This was presented at POPL'08. 
+
+<li>
+<A HREF="http://homepages.inf.ed.ac.uk/ldixon/" target="_top">Lucas Dixon</A>,
+Alan Smaill and <A HREF="http://homepages.inf.ed.ac.uk/bundy/"
+target="_top">Alan Bundy</A> used Nominal Isabelle to formalise
+proof terms of ILL and studied proof planning with this formalisation
+(EDI-INF-RR-0786). 
+
+<li>
+<A HREF="http://www.cs.swan.ac.uk/~csteme/" target="_top">Temesghen Kahsai</A>
+and <A HREF="http://users.dimi.uniud.it/~marino.miculan/" target="_top">Marino Miculan</A> formalised
+the spi-calculus using our work - see 
+<A HREF="http://www.cs.swan.ac.uk/~csteme/SpiInIsabelle/SpiInIsabelle.html" target="_top">here</A>.
+
+<li>
+Ayesha Yasmeen, a student of  
+<A HREF="http://www-faculty.cs.uiuc.edu/~egunter/" target="_top">Elsa Gunter</A>,
+formalised an extension of the ambient calculus using Nominal Isabelle. This
+was presented in the Emerging Trends section of TPHOLs'08. 
+
+<li>
+<A HREF="http://www.ps.uni-saarland.de/~doczkal/" target="_top">Christian Doczkal</A>,
+a student of <A HREF="http://www.ps.uni-saarland.de/~smolka/">Gert Smolka</A>, 
+finished in 2009 his 
+<A HREF="http://www.ps.uni-saarland.de/~doczkal/master/master.php" target="_top">master thesis</A> 
+at Saarbr&uuml;cken University using 
+Nominal Isabelle. He formalised the TT-lifting technique in order to prove 
+strong normalisation of Moggi's computational metalanguage. This is part of
+the <A HREF="http://afp.sourceforge.net/entries/Lam-ml-Normalization.shtml">AFP repository</A>.
+
+<li>
+Armin Heller finished his master thesis at the TU Munich in 2010 with a simple compiler verification
+using Nominal Isabelle.
+
+<li>
+<A HREF="http://homepages.inf.ed.ac.uk/jcheney/" target="_top">James Cheney</A> 
+formalised a number of properties of the meta-theory of mini-XQuery in Nominal Isabelle.
+The plan is to extend this work to full XQuery. The preliminary results appeared at CPP'11.
+
+<li>
+<A HREF="http://cl-informatik.uibk.ac.at/users/cek/" target="_top">Cezary Kaliszyk</A> 
+with input from Henk Barendregt formalised the second fixed point theorem
+of the lambda calculus using Nominal Isabelle 2. This work appeared at CPP'11.
+
+<li>
+<A HREF="http://www.joachim-breitner.de/blog/" target="_top">Joachim Breitner</A> 
+used Nominal2 for formalising Launchbury's natural semantics for lazy evaluation. This is part
+of the <A HREF="http://afp.sourceforge.net/entries/Launchbury.shtml">AFP</A>.
+
+<li>
+<A HREF="http://www.cl.cam.ac.uk/~lp15/" target="_top">Larry Paulson</A> 
+formalised G&ouml;del's Incompletness Theorems using Nominal2. This work
+appeared in the Journal of Automated Reasoning in 2015.
+
+<li>
+<A HREF="http://www.joachim-breitner.de/blog/" target="_top">Joachim Breitner</A>
+proved the correctness of a GHC compiler transformation using Nominal2.
+This work appeared at the
+<A HREF="https://www.haskell.org/haskell-symposium/2015/">Haskell Symposium 2015</A>.
+</ul>
+</P>
+
+<P>
+Note, however, that Nominal Isabelle is still an ongoing research
+project, which needs both theoretical and implementation work. You are
+encouraged to subscribe to the (moderated)
+<a href="https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/nominal-isabelle" target="_top">
+mailing list</a> to hear about our progress and to give
+us feedback.</P> 
+
+<P>
+We have recently re-implemented the underlying nominal theory [7] and also have
+a good proposal for how to deal with general binding structures in Nominal Isabelle [8]. 
+</P><BR>
+
+<B>References</B><BR><BR>
+<CENTER>
+<TABLE>
+<TR><TD WIDTH="7%" VALIGN=Top>[1]</TD>
+    <TD ALIGN=Left>
+    <B>Nominal Reasoning Techniques in Isabelle/HOL.</B>  In
+      Journal of Automatic Reasoning, Vol. 40(4), 327-356, 2008.
+      [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/nom-tech.pdf" target="_top">pdf</A>].
+      The predecessor paper, which appeaerd at CADE in 2005, received the
+      <A HREF="http://www.cadeinc.org/SkolemAward.html">Thoralf Skolem Award</A>.
+    </TD>
+</TR>
+<TR><TD VALIGN=Top>[2]</TD>
+    <TD ALIGN=Left>
+    <B>A Formal Treatment of the Barendregt Variable Convention in Rule Inductions</B> 
+    (Christian Urban and Michael Norrish) 
+    Proceedings of the ACM Workshop on Mechanized Reasoning about Languages with Variable
+    Binding and Names (MERLIN 2005), Pages 25-32, 2005. &copy ACM, Inc.
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/merlin-05.ps" target="_top">ps</A>]
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/merlin-05.pdf" target="_top">pdf</A>]
+    </TD>
+</TR>
+<TR><TD VALIGN=Top>[3]</TD>
+    <TD ALIGN=Left>
+    <B>A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL</B> 
+    (Christian Urban and Stefan Berghofer) 
+    Proceedings of the 3rd 
+    International Joint Conference on Automated Deduction (IJCAR 2006). In volume 4130 of 
+    Lecture Notes in Artificial Intelligence, Pages 498-512, 2006.
+    &copy <A HREF="http://link.springer.de/link/service/series/0558/" target="_top">Springer Verlag</A>
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/ijcar-06.ps" target="_top">ps</A>]
+    </TD>
+</TR>
+
+<TR><TD VALIGN=Top>[4]</TD>
+    <TD ALIGN=Left>
+    <B>A Head-to-Head Comparison of de Bruijn Indices and Names.</B> 
+    (Stefan Berghofer and Christian Urban) 
+    Proceedings of the International Workshop on Logical Frameworks and 
+    Meta-Languages: Theory and Practice (LFMTP 2006), ENTCS, Pages 53-67, 2006.
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/lfmtp-06.ps" target="_top">ps</A>]
+    </TD>
+</TR>
+
+<TR><TD VALIGN=Top>[5]</TD>
+    <TD ALIGN=Left>
+    <B>Barendregt's Variable Convention in Rule Inductions.</B> (Christian
+    Urban, Stefan Berghofer and Michael Norrish) Proceedings of the 21th
+    Conference on Automated Deduction (CADE 2007). In volume 4603 of Lecture
+    Notes in Artificial Intelligence, Pages 35-50, 2007.
+    &copy <A HREF="http://link.springer.de/link/service/series/0558/tocs/t4603.htm" 
+    target="_top">Springer Verlag</A> 
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/cade07.ps" target="_top">ps</A>]
+    </TD>
+</TR>
+
+<TR><TD VALIGN=Top>[6]</TD>
+    <TD ALIGN=Left>
+    <B>Mechanising the Metatheory of LF.</B> 
+    (Christian Urban, James Cheney and Stefan Berghofer) 
+    In Proc. of the 23rd IEEE Symposium on Logic in Computer Science (LICS 2008), IEEE Computer Society,
+    Pages 45-56, 2008.
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/lics-08.pdf">pdf</A>] More
+      information <A HREF="http://nms.kcl.ac.uk/christian.urban/Nominal/LF/index.html">elsewhere</A>.
+    </TD>
+</TR>
+
+<TR><TD VALIGN=Top>[7]</TD>
+    <TD ALIGN=Left>
+    <B>Proof Pearl: A New Foundation for Nominal Isabelle.</B> 
+    (Brian Huffman and Christian Urban) 
+    In Proc. of the 1st Conference on Interactive Theorem Proving (ITP 2010). In volume 6172 in 
+    Lecture Notes in Computer Science, Pages 35-50, 2010.
+    [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/nominal-atoms.pdf">pdf</A>] 
+    </TD>
+</TR>
+
+<TR><TD VALIGN=Top>[8]</TD>
+    <TD ALIGN=Left>
+    <B>General Bindings and Alpha-Equivalence in Nominal Isabelle.</B> 
+      (Christian Urban and Cezary Kaliszyk) 
+      In Proc. of the 20th European Symposium on Programming (ESOP 2011).
+      In Volume 6602 of Lecture Notes in Computer Science, Pages 480-500, 2011.
+      [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/esop-11.pdf">pdf</A>] (and a
+      longer version appeared in the Journal of Logical Methods in Computer 
+      Science, Volume 8 (2:14), 2012 
+      [<A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/lmcs.pdf">pdf</A>])
+    </TD>
+
+</TR>
+
+
+
+</TABLE>
+</CENTER>
+
+<P>
+<a href="http://validator.w3.org/check/referer" target="_top">[Validate this page.]</a>
+
+</body>
+</html>