No CrossRef data available.
Article contents
Plugging-in proof development environments using Locks in LF
Published online by Cambridge University Press: 15 May 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𝒫, is the canonical version of the system LLF𝒫, presented earlier by the authors. The second system, CLLF𝒫?, 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𝒫 and CLLF𝒫? 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.
- Type
- Paper
- Information
- Mathematical Structures in Computer Science , Volume 28 , Special Issue 9: Logical Frameworks and Meta-Languages 2015 , October 2018 , pp. 1578 - 1605
- Copyright
- Copyright © Cambridge University Press 2018