Constructive Galois connections: taming the Galois connection framework for mechanized metatheory

From MaRDI portal
Publication:2985779

DOI10.1145/2951913.2951934zbMATH Open1361.68129arXiv1511.06965OpenAlexW2282057970MaRDI QIDQ2985779FDOQ2985779


Authors: David Darais, David van Horn Edit this on Wikidata


Publication date: 10 May 2017

Published in: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (Search for Journal in Brave)

Abstract: Galois connections are a foundational tool for structuring abstraction in semantics and their use lies at the heart of the theory of abstract interpretation. Yet, mechanization of Galois connections remains limited to restricted modes of use, preventing their general application in mechanized metatheory and certified programming. This paper presents constructive Galois connections, a variant of Galois connections that is effective both on paper and in proof assistants; is complete with respect to a large subset of classical Galois connections; and enables more general reasoning principles, including the "calculational" style advocated by Cousot. To design constructive Galois connection we identify a restricted mode of use of classical ones which is both general and amenable to mechanization in dependently-typed functional programming languages. Crucial to our metatheory is the addition of monadic structure to Galois connections to control a "specification effect". Effectful calculations may reason classically, while pure calculations have extractable computational content. Explicitly moving between the worlds of specification and implementation is enabled by our metatheory. To validate our approach, we provide two case studies in mechanizing existing proofs from the literature: one uses calculational abstract interpretation to design a static analyzer, the other forms a semantic basis for gradual typing. Both mechanized proofs closely follow their original paper-and-pencil counterparts, employ reasoning principles not captured by previous mechanization approaches, support the extraction of verified algorithms, and are novel.


Full work available at URL: https://arxiv.org/abs/1511.06965




Recommendations





Cited In (3)





This page was built for publication: Constructive Galois connections: taming the Galois connection framework for mechanized metatheory

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2985779)