Back to Search
Start Over
Plugging-in proof development environments using Locks in LF.
- Source :
- Mathematical Structures in Computer Science; Oct2018, Vol. 28 Issue 9, p1578-1605, 28p
- Publication Year :
- 2018
-
Abstract
- We present two extensions of the LF constructive type theory featuring monadic locks. A lock is a monadic type construct that captures the effect of an external call to an oracle. Such calls are the basic tool for plugging-in and gluing together, different metalanguages and proof development environments. Oracles can be invoked either to check that a constraint holds or to provide a witness. The systems are presented in the canonical style developed by the 'CMU School.' The first system, CLLF<subscript>𝒫</subscript>, is the canonical version of the system LLF<subscript>𝒫</subscript>, presented earlier by the authors. The second system, CLLF<subscript>𝒫?</subscript>, features the possibility of invoking the oracle to obtain also a witness satisfying a given constraint. In order to illustrate the advantages of our new frameworks, we show how to encode logical systems featuring rules that deeply constrain the shape of proofs. The locks mechanisms of CLLF<subscript>𝒫</subscript> and CLLF<subscript>𝒫?</subscript> permit to factor out naturally the complexities arising from enforcing these 'side conditions,' which severely obscure standard LF encodings. We discuss Girard's Elementary Affine Logic, Fitch–Prawitz set theory, call-by-value λ-calculi and functions, both total and even partial. [ABSTRACT FROM AUTHOR]
Details
- Language :
- English
- ISSN :
- 09601295
- Volume :
- 28
- Issue :
- 9
- Database :
- Complementary Index
- Journal :
- Mathematical Structures in Computer Science
- Publication Type :
- Academic Journal
- Accession number :
- 131998086
- Full Text :
- https://doi.org/10.1017/S0960129518000105