Hostname: page-component-586b7cd67f-r5fsc Total loading time: 0 Render date: 2024-11-22T11:59:18.906Z Has data issue: false hasContentIssue false

Plugging-in proof development environments using Locks in LF

Published online by Cambridge University Press:  15 May 2018

FURIO HONSELL
Affiliation:
Department of Mathematics, Computer Science and Physics, University of Udine, Udine, Italy Email: ivan.scagnetto@uniud.it, furio.honsell@uniud.it
LUIGI LIQUORI
Affiliation:
Université Côte d'Azur, Inria Sophia Antipolis Méditerranée, Sophia Antipolis, France Email: Luigi.Liquori@inria.fr
PETAR MAKSIMOVIĆ
Affiliation:
Imperial College London, London, U.K. Email: p.maksimovic@imperial.ac.uk Mathematical Institute of the Serbian Academy of Sciences and Arts, Belgrade, Serbia
IVAN SCAGNETTO
Affiliation:
Department of Mathematics, Computer Science and Physics, University of Udine, Udine, Italy Email: ivan.scagnetto@uniud.it, furio.honsell@uniud.it

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
Copyright
Copyright © Cambridge University Press 2018 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Alechina, N., Mendler, M., De Paiva, V. and Ritter, E. (2001). Categorical and Kripke semantics for constructive s4 modal logic. In: Fribourg, L. (ed.) Computer Science Logic, Springer, 292307, doi:10.1007/3-540-44802-0_21.Google Scholar
Baillot, P., Coppola, P. and Dal Lago, U. (2007). Light logics and optimal reduction: Completeness and complexity. In: Proceedings of the Logic in Computer Science (LICS '07), IEEE Computer Society, 421–430, doi:10.1016/j.ic.2010.10.002.Google Scholar
Barbanera, F. and Martini, S. (1994). Proof-functional connectives and realizability. Archive for Mathematical Logic 33 189211.Google Scholar
Barendregt, H.P. and Barendsen, E. (2002). Autarkic computations in formal proofs. Journal of Automated Reasoning 28 321336, doi:10.1.1.39.3551.Google Scholar
Barthe, G., Cirstea, H., Kirchner, C. and Liquori, L. (2003). Pure pattern type systems. In: Proceedings of the 30th Annual SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'03), ACM, 250–261, doi:10.1.1.298.4555.Google Scholar
Battel, C. and Felty, A. (2015). A higher-order logical framework for reasoning about programming languages. In: Proceedings of the CMS Winter Meeting, Montréal, December 4–7, 2015.Google Scholar
Blanco, R., Chihani, Z. and Miller, D. (2017). Translating between implicit and explicit versions of proof. In: de Moura, L. (ed.), Proceedings of the 26th International Conference on Automated Deduction (CADE '17). Lecture Notes in Computer Science, vol. 10395, Springer, Cham.Google Scholar
Boespflug, M., Carbonneaux, Q. and Hermant, O. (2012). The λΠ-calculus modulo as a universal proof language. In: Proceedings of the 2nd International Workshop on Proof Exchange for Theorem Proving (PxTP '12), vol. 878, 28–43, doi:10.1.1.416.1602.Google Scholar
Boulton, R., Gordon, A., Gordon, M., Harrison, J., Herbert, J. and Van Tassel, J. (1992). Experience with embedding hardware description languages in HOL. In: Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience (TPCD '92), North-Holland, 129–156, doi:10.1.1.111.260.Google Scholar
Casinghino, C., Sjöberg, V. and Weirich, S. (2014). Combining proofs and programs in a dependently typed language. In: Proceedings of the 41st SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '14), ACM, 33–45.Google Scholar
Chihani, Z., Libal, T. and Reis, G. (2015). The proof certifier checkers. In: De Nivelle, H. (ed.) Automated Reasoning with Analytic Tableaux and Related Methods. Lecture Notes in Computer Science, vol. 9323, Springer, Cham.Google Scholar
Chihani, Z. and Miller, D. (2016). Proof Certificates for Equality Reasoning, Electronic Notes in Theoretical Computer Science, vol. 323, 93–108, ISSN 1571-0661.Google Scholar
Cousineau, D. and Dowek, G. (2007). Embedding pure type systems in the lambda-pi-calculus modulo. In: Proceedings of the International Conference on Typed Lambda Calculi and Applications (TLCA '07), Lecture Notes in Computer Science, vol. 4583, Springer-Verlag, 102–117, doi:10.1.1.102.4096.Google Scholar
Danielsson, N.A., Hughes, J., Jansson, P. and Gibbons, J. (2006). Fast and loose reasoning is morally correct. In: Proceedings of the 33rd SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '06), ACM, 206–217.Google Scholar
Fairtlough, M. and Mendler, M. (1997). Propositional lax logic. Information and Computation 137 (1) 133, doi:10.1.1.22.5812.Google Scholar
Fairtlough, M., Mendler, M. and Cheng, X. (2001). Abstraction and refinement in higher order logic. In: Boulton, R. J., Jackson, P. B. (eds.) Theorem Proving in Higher Order Logics, Springer, 201216, doi:10.1.1.29.3515.Google Scholar
Fairtlough, M. Mendler, M. and Walton, M. (1997). First-order lax logic as a framework for constraint logic programming. Tech. rep. MIPS-9714, https://pdfs.semanticscholar.org/a934/8355b554e593e1e9e370136f1d7e268c8ba8.pdf.Google Scholar
Filliâtre, J.-C. (2013). One logic to use them all. In: Maria Paola Bonacina (ed.) Proceedings of the 24th International Conference on Automated Deduction (CADE '13), Lake Placid, New York, NY, USA.Google Scholar
Fitch, F.B. (1952). Symbolic Logic—An Introduction, New York, NY, Ronald Press Co, ASIN: B0007DLS2O.Google Scholar
Garg, D. and Tschantz, M.C. (2008). From indexed lax logic to intuitionistic logic. Tech. rep. CMU-CS-07-167, doi:10.1.1.295.8643.Google Scholar
Girard, J.-Y. (1998). Light linear logic. Information and Computation 143 (2) 175204, doi:10.1.1.134.4420.Google Scholar
Harper, R. and Licata, D. (2007). Mechanizing metatheory in a logical framework. Journal of Functional Programming 17 613673, doi:10.1017/S0956796807006430.Google Scholar
Hirschkoff, D. (1997). Bisimulation proofs for the π-calculus in the calculus of constructions. In: Proceedings of the International Conference on Theorem Proving in Higher Order Logics (TPHOL'97), Lecture Notes in Computer Science, vol. 1275, Springer, doi:10.1007/BFb0028392.Google Scholar
Honsell, F., Miculan, M. and Scagnetto, I. (2001). π-calculus in (Co)inductive type theories. Theoretical Computer Science 253 (2) 239285, doi:10.1016/S0304-3975(00)00095-5.Google Scholar
Honsell, F., Lenisa, M. and Liquori, L. (2007). A framework for defining logical frameworks. Volume in Honor of G. Plotkin, Electronic Notes in Theoretical Computer Science, vol. 172, 399–436, doi:10.1016/j.entcs.2007.02.014.Google Scholar
Honsell, F., Lenisa, M., Liquori, L., Maksimovic, P. and Scagnetto, I. (2012). LF𝒫: A logical framework with external predicates. In: Proceedings of the International Workshop on Logical Frameworks and Metalanguages: Theory and Practice (LFMTP '12), ACM, 13–22, doi:10.1145/2364406.2364409.Google Scholar
Honsell, F., Lenisa, M., Liquori, L., Maksimovic, P. and Scagnetto, I. (2016). An open logical framework. Journal of Logic and Computation 26 (1) 293–335, https://doi.org/10.1093/logcom/ext028Google Scholar
Honsell, F. (2013). 25 years of formal proof cultures: Some problems, some philosophy, bright future. In: Proceedings of the 8th SIGPLAN International Workshop on Logical Frameworks and Metalanguages: Theory and Practise (LFMTP'13), ACM, 37–42, doi: 10.1145/2503887.2503896.Google Scholar
Honsell, F., Liquori, L. and Scagnetto, I. (2014). LaxF: Side conditions and external evidence as monads. In: Proceedings of the 39th International Symposium on Mathematical Foundations of Computer Science (MFCS '14), Part I, Lecture Notes in Computer Science, vol. 8634, Budapest, Hungary, August 2014. Springer, 327–339, doi:10.1007/978-3-662-44522-8_28.Google Scholar
Honsell, F., Liquori, L., Maksimovic, P. and Scagnetto, I. (2015). Gluing together proof environments: Canonical extensions of LF type theories featuring locks. In: Proceedings of the International Workshop on Logical Frameworks and Metalanguages: Theory and Practice (LFMTP '15), Berlin, Germany, August 01, 2015, 3–17, Open Publishing Association, http://dx.doi.org/10.4204/EPTCS.185.1, ISSN: 2075-2180.Google Scholar
Honsell, F. (2016). Wherefore art thou . . . semantics of computation?. In: Gadducci, F., Tavosanis, M. (eds) History and Philosophy of Computing. HaPoC 2015. IFIP Advances in Information and Communication Technology, vol 487. Springer, Cham.Google Scholar
Honsell, F., Liquori, L., Maksimovic, P. and Scagnetto, I. (2017). LLF𝒫: A logical framework for modeling external evidence, side conditions, and proof irrelevance using monads. In: Proceedings of the Logical Methods in Computer Science, vol. 13 (3) July 6, 2017, Special Issue of Logical Methods in Computer Science devoted to Festschrift for Pierre-Louis Curien.Google Scholar
Honsell, F., Lenisa, M., Liquori, L. and Scagnetto, I. (2016). Implementing Cantor's Paradise. In: Proceedings of 14th Asian Symposium on Programming Languages and Systems (APLAS '16), Chapter Programming Languages and Systems, Lecture Notes in Computer Science, vol. 10017, Vietnam, November 21–23, Springer, 229–250.Google Scholar
Kerber, M. (2006). A dynamic poincaré principle. In: Borwein, J.M. and Farmer, W.M. (eds.) Proceedings of 5th International Conference on Mathematical Knowledge Management (MKM '06), Lecture Notes in Artificial Intelligence, vol. 4108, Springer, 44–53.Google Scholar
Mendler, M. (1991). Constrained proofs: A logic for dealing with behavioral constraints in formal hardware verification. In: Jones, G., Sheeran, M. (eds.) Designing Correct Circuits, Springer-Verlag, 128, doi:10.1007/978-1-4471-3544-9_1.Google Scholar
Moggi, E. (1988). The Partial Lambda Calculus. Ph.D. thesis, University of Edinburgh, doi:10.1.1.53.8462.Google Scholar
Moggi, E. (1989). Computational lambda-calculus and monads. In: Proceedings of the Lecture Notes in Computer Science (LICS '89), IEEE Press, 14–23. doi:10.1.1.26.2787.Google Scholar
Nanevski, A., Pfenning, F. and Pientka, B. (2008). Contextual modal type theory. ACM Transactions on Computational Logic 9 (3), doi:10.1145/1352582.1352591.Google Scholar
Pfenning, F. and Schürmann, C. (1999). System description: Twelf–A meta-logical framework for deductive systems. In: Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction (CADE '99), Lecture Notes in Computer Science, vol. 1632, Springer-Verlag, 202–206, doi:10.1007/3-540-48660-7_14.Google Scholar
Pientka, B. and Dunfield, J. (2008). Programming with proofs and explicit contexts. In: Proceedings of the 10th International SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP' 08), ACM, 163–173, doi:10.1145/1389449.1389469.Google Scholar
Pientka, B. and Dunfield, J. (2010). Beluga: A framework for programming and reasoning with deductive systems (system description). In: Proceedings of the International Symposium on Frontiers of Combining Systems (IJCAR '10), Lecture Notes in Computer Science, Springer-Verlag, 15–21. doi:10.1007/978-3-642-14203-1_2.Google Scholar
Pottinger, G. A type assignment for the strongly normalizable λ-terms. (1980). In: To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Academic Press, 561577.Google Scholar
Prawitz, D. (1965). Natural Deduction. A Proof Theoretical Study, Almqvist Wiksell, Stockholm, ISBN: 978-0486446554.Google Scholar
Schack-Nielsen, A. and Schürmann, C. (2008). Celf—A logical framework for deductive and concurrent systems (System description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) Automated Reasoning, Springer, 320326, doi:10.1007/978-3-540-71070-7_28.Google Scholar
Schroeder-Heister, P. (2012a). Paradoxes and structural rules. In: Novaes, C. D., Hjortland, O. T. (eds.) Insolubles and Consequences : Essays in Honor of Stephen Read, College Publications, London, 203211, ISBN 978-1-84890-086-8.Google Scholar
Schroeder-Heister, P. (2012b). Proof-theoretic semantics, self-contradiction, and the format of deductive reasoning. Topoi 31 (1) 7785, doi:10.1007/s11245-012-9119-x.Google Scholar
Stump, A. (2009). Proof checking technology for satisfiability modulo theories. In: Proceedings of the 4th International Workshop on Logical Frameworks and Metalanguages: Theory and Practice (LFMTP '08), vol. 228, 121–133, doi:10.1.1.219.1459.Google Scholar
Stump, A., Reynolds, A., Tinelli, C., Laugesen, A., Eades, H., Oliver, C. and Zhang, R. (2012). LFSC for SMT proofs: Work in progress. In: Proceedings of the 2nd International Workshop on Proof eXchange for Theorem Proving (PxTP '12), Manchester, UK.Google Scholar
Wang, Y. and Chaudhuri, K. (2015). A proof-theoretic characterization of independence in type theory. In: Proceedings of the 13th International Conference on Typed Lambda Calculi and Applications (TLCA '15), vol. 38, 332–346.Google Scholar
Watkins, K., Cervesato, I., Pfenning, F. and Walker, D. (2002). A concurrent logical framework I: Judgments and properties. Tech. rep. CMU-CS-02-101, CMU, doi:10.1.1.14.5484.Google Scholar