A definitional implementation of the Lax Logical Framework LLFP in Coq, for supporting fast and loose reasoning

Abstract : The Lax Logical Framework, LLFP, was introduced, by a team including the last two authors, to provide a conceptual framework for integrating different proof development tools, thus allowing for external evidence and for postponing, delegating, or factoring-out side conditions. In particular, LLFP allows for reducing the number of times a proof-irrelevant check is performed. In this paper we give a shallow, actually definitional, implementation of LLFP in Coq, i.e. we use Coq both as host framework and oracle for LLFP. This illuminates the principles underpinning the mechanism of Lock-types and also suggests how to possibly extend Coq with the features of LLFP. The derived proof editor is then put to use for developing case-studies on an emerging paradigm, both at logical and implementation level, which we call fast and loose reasoning following Danielsson et alii [6]. This paradigm trades off efficiency for correctness and amounts to postponing, or running in parallel, tedious or computationally demanding checks, until we are really sure that the intended goal can be achieved. Typical examples are branch-prediction in CPUs and optimistic concurrency control.
Document type :
Conference papers
Complete list of metadatas

Cited literature [18 references]  Display  Hide  Download

Contributor : Ivan Scagnetto <>
Submitted on : Tuesday, June 11, 2019 - 2:22:12 PM
Last modification on : Friday, June 14, 2019 - 10:34:49 AM


Files produced by the author(s)


  • HAL Id : hal-02152406, version 1



Fabio Alessi, Alberto Ciaffaglione, Pietro Di Gianantonio, Furio Honsell, Marina Lenisa. A definitional implementation of the Lax Logical Framework LLFP in Coq, for supporting fast and loose reasoning. LFMTP 2019 Logical Frameworks and Meta-Languages: Theory and Practice 2019, Jun 2019, Vancouver, Canada. ⟨hal-02152406⟩



Record views


Files downloads