[TYPES] Formal proof of type-soundness for references in Coq

David Naumann naumann at cs.stevens.edu
Wed Jun 6 12:18:11 EDT 2007

On Fri, 9 Feb 2007, mulhern wrote:
> Date: Fri, 9 Feb 2007 21:16:37 -0600
> From: mulhern <mulhern at gmail.com>
> To: types-list at lists.seas.upenn.edu, coq-club at pauillac.inria.fr
> Subject: [TYPES] Formal proof of type-soundness for references in Coq
> [ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
> Hi!
> I've posted a formal proof in Coq of type-soundness for references at
> http://www.cs.wisc.edu/~mulhern/proofs/type-soundness/references.html.
> I think it might be interesting to people on the Coq list because it uses
> the module system.
> As far as I know, there is no other publicly available formal proof of
> type-soundness for references available, so it might be interesting to
> people on the types list as well.
> -mulhern

There was a follow-up clarifying Mulhern's interest in proof fragments,
and one from Crary on the formalization of Standard ML in POPL07.

For the record, there's other machine-checked work on languages with 
references, e.g., Nipkow's group has done type soundness for a fragment of 
Java using Isabelle/HOL.

For a language comparable to Middleweight Java [Parkinson,Pitts], I prove 
type soundness in PVS [TPHOLS 05].  The semantics is denotational, and 
type soundness is expressed as well-definedness of the semantic function, 
which has a dependent type expressing well-formedness of states and 
absence of dangling references. (It's an ancillary result since my main 
purpose is a noninterference theorem for security typing.)

That PVS model has been extended to include Java's 'interface types' and 
first-class exceptions and handlers. The domains are streamlined to 
facilitate logical relations proofs.  Type soundness has been proved as 
before.  This development is being used to formalize the JML specification 
language [Corejml 06].

The PVS source files are available online.

author = {David A. Naumann},
title = {Verifying a Secure Information Flow Analyzer},
year = 2005,
booktitle = {18th International Conference on Theorem Proving in Higher Order Logics {TPHOLS}},
editor = {Joe Hurd and Tom Melham},
pages = {211--226}, publisher = {Springer}, series = LNCS, volume = 3603

[Corejml 06]
title={Preliminary Definition of Core {JML}},
author={Gary T. Leavens and David A. Naumann and Stan Rosenberg},
institition={Stevens Institute of Technology},
number={CS Report 2006-07},

More information about the Types-list mailing list