Engineering Formal Metatheory

dc.contributor.authorPierce, Benjamin C
dc.contributor.authorCharguéraud, Arthur
dc.contributor.authorWeirich, Stephanie
dc.contributor.authorPollack, Randy
dc.contributor.authorWeirich, Stephanie
dc.date2023-05-17T02:07:08.000
dc.date.accessioned2023-05-22T12:47:55Z
dc.date.available2023-05-22T12:47:55Z
dc.date.issued2008-01-01
dc.date.submitted2008-04-04T06:32:36-07:00
dc.description.abstractMachine-checked proofs of properties of programming languages have become a critical need, both for increased confidence in large and complex designs and as a foundation for technologies such as proof-carrying code. However, constructing these proofs remains a black art, involving many choices in the formulation of definitions and theorems that make a huge cumulative difference in the difficulty of carrying out large formal developments. The representation and manipulation of terms with variable binding is a key issue. We propose a novel style for formalizing metatheory, combining locally nameless representation of terms and cofinite quantification of free variable names in inductive definitions of relations on terms (typing, reduction, ...). The key technical insight is that our use of cofinite quantification obviates the need for reasoning about equivariance (the fact that free names can be renamed in derivations); in particular, the structural induction principles of relations defined using cofinite quantification are strong enough for metatheoretic reasoning, and need not be explicitly strengthened. Strong inversion principles follow (automatically, in Coq) from the induction principles. Although many of the underlying ingredients of our technique have been used before, their combination here yields a significant improvement over other methodologies using first-order representations, leading to developments that are faithful to informal practice, yet require no external tool support and little infrastructure within the proof assistant. We have carried out several large developments in this style using the Coq proof assistant and have made them publicly available. Our developments include type soundness for System F and core ML (with references, exceptions, datatypes, recursion, and patterns) and subject reduction for the Calculus of Constructions. Not only do these developments demonstrate the comprehensiveness of our approach; they have also been optimized for clarity and robustness, making them good templates for future extension.
dc.description.commentsPostprint version. Published in <em>Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)</em>, January 2008, pages 3-15.
dc.identifier.urihttps://repository.upenn.edu/handle/20.500.14332/6412
dc.legacy.articleid1394
dc.legacy.fulltexturlhttps://repository.upenn.edu/cgi/viewcontent.cgi?article=1394&amp;context=cis_papers&amp;unstamped=1
dc.source.issue369
dc.source.journalDepartmental Papers (CIS)
dc.source.peerreviewedtrue
dc.source.statuspublished
dc.subject.otherbinding
dc.subject.otherCoq
dc.subject.otherlocally nameless
dc.titleEngineering Formal Metatheory
dc.typePresentation
digcom.contributor.authorAydemir, Brian
digcom.contributor.authorCharguéraud, Arthur
digcom.contributor.authorisAuthorOfPublication|email:bcpierce@cis.upenn.edu|institution:University of Pennsylvania|Pierce, Benjamin C
digcom.contributor.authorPollack, Randy
digcom.contributor.authorisAuthorOfPublication|email:sweirich@cis.upenn.edu|institution:University of Pennsylvania|Weirich, Stephanie
digcom.identifiercis_papers/369
digcom.identifier.contextkey481581
digcom.identifier.submissionpathcis_papers/369
digcom.typeconference
dspace.entity.typePublication
relation.isAuthorOfPublication5b9f033c-2d75-4f87-9dab-bb1be38e848c
relation.isAuthorOfPublication5b9f033c-2d75-4f87-9dab-bb1be38e848c
relation.isAuthorOfPublicationb66c11a3-4446-4985-a8af-67bf0f02b419
relation.isAuthorOfPublication.latestForDiscovery5b9f033c-2d75-4f87-9dab-bb1be38e848c
upenn.schoolDepartmentCenterDepartmental Papers (CIS)
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
popl117_aydemir.pdf
Size:
222.5 KB
Format:
Adobe Portable Document Format
Collection