Gluing together Proof Environments: Canonical extensions of LF Type Theories featuring Locks

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 gluing together diverse Type Theories and proof development environments. The oracle can either be invoked in order to check that a constraint holds or to provide a suitable witness. The systems are presented in the canonical style developed by the CMU School. The first system, CLLF_P , is the canonical version of the system LLF_P , presented earlier by the authors. The second system, CLLF_P? , features the possibility of invoking the oracle to obtain a witness satisfying a given constraint. We discuss encodings of Fitch-Prawitz Set theory, call-by-value λ-calculi, and systems of Light Linear Logic. Finally, we show how to use Fitch-Prawitz Set Theory to define a type system that types precisely the strongly normalizing terms.

[1]  Richard J. Boulton,et al.  Experience with Embedding Hardware Description Languages in HOL , 1992, TPCD.

[2]  Hendrik Pieter Barendregt,et al.  Autarkic Computations in Formal Proofs , 2002, Journal of Automated Reasoning.

[3]  E. Moggi The partial lambda calculus , 1988 .

[4]  Furio Honsell,et al.  25 years of formal proof cultures: some problems, some philosophy, bright future , 2013, LFMTP '13.

[5]  Peter Schroeder-Heister,et al.  Proof-Theoretic Semantics, Self-Contradiction, and the Format of Deductive Reasoning , 2012, Topoi.

[6]  Luigi Liquori,et al.  An open logical framework , 2016, J. Log. Comput..

[7]  Olivier Hermant,et al.  The λΠ-calculus Modulo as a Universal Proof Language , 2012, PxTP.

[8]  Luigi Liquori,et al.  $\mathsf{LLF}_{\cal P}$: a logical framework for modeling external evidence, side conditions, and proof irrelevance using monads , 2017 .

[9]  Michael Mendler,et al.  First-order Lax Logic as a framework for Constraint Logic Programming , 1997 .

[10]  Richmond H. Thomason,et al.  Symbolic logic : an introduction , 1969 .

[11]  Robert Harper,et al.  Mechanizing metatheory in a logical framework , 2007, Journal of Functional Programming.

[12]  Aaron Stump Proof Checking Technology for Satisfiability Modulo Theories , 2009, Electron. Notes Theor. Comput. Sci..

[13]  H. Gaifman,et al.  Symbolic Logic , 1881, Nature.

[14]  Frank Pfenning,et al.  Contextual modal type theory , 2008, TOCL.

[15]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[16]  Carsten Schürmann,et al.  Celf - A Logical Framework for Deductive and Concurrent Systems (System Description) , 2008, IJCAR.

[17]  Daniel Hirschko Bisimulation proofs for the ?-calculus in the Calculus of Constructions , 1997 .

[18]  Luigi Liquori,et al.  A Framework for Defining Logical Frameworks , 2007, Computation, Meaning, and Logic.

[19]  Denis Cousineau,et al.  Embedding Pure Type Systems in the Lambda-Pi-Calculus Modulo , 2007, TLCA.

[20]  Furio Honsell,et al.  pi-calculus in (Co)inductive-type theory , 2001, Theor. Comput. Sci..

[21]  Xiaochun Cheng,et al.  Abstraction and Refinement in Higher Order Logic , 2001, TPHOLs.

[22]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[23]  Ugo Dal Lago,et al.  Light Logics and Optimal Reduction: Completeness and Complexity , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[24]  Michael Mendler,et al.  Propositional Lax Logic , 1997, Inf. Comput..

[25]  Claude Kirchner,et al.  Pure patterns type systems , 2003, POPL '03.

[26]  D. Walker,et al.  A concurrent logical framework I: Judgments and properties , 2003 .

[27]  Brigitte Pientka,et al.  Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description) , 2010, IJCAR.

[28]  Ugo Dal Lago,et al.  Light logics and optimal reduction: Completeness and complexity , 2011, Inf. Comput..

[29]  Luigi Liquori,et al.  LFP: a logical framework with external predicates , 2012, LFMTP '12.

[30]  Natasha Alechina,et al.  Categorical and Kripke Semantics for Constructive S4 Modal Logic , 2001, CSL.

[31]  Frank Pfenning,et al.  System Description: Twelf - A Meta-Logical Framework for Deductive Systems , 1999, CADE.

[32]  Luigi Liquori,et al.  LLF𝒫: a logical framework for modeling external evidence, side conditions, and proof irrelevance using monads , 2017, Log. Methods Comput. Sci..

[33]  Michael Carl Tschantz,et al.  From Indexed Lax Logic to Intuitionistic Logic , 2008 .

[34]  W. V. Quine,et al.  Natural deduction , 2021, An Introduction to Proof Theory.

[35]  Brigitte Pientka,et al.  Programming with proofs and explicit contexts , 2008, PPDP '08.

[36]  Richard J. Boulton,et al.  Theorem Proving in Higher Order Logics , 2003, Lecture Notes in Computer Science.

[37]  Jean-Yves Girard,et al.  Light Linear Logic , 1998, Inf. Comput..

[38]  Michael Mendler,et al.  Constrained Proofs: A Logic for Dealing with Behavioural Constraints in Formal Hardware Verification , 1991 .

[39]  Ole Thomassen Hjortland,et al.  Insolubles and Consequences -- Essays in Honour of Stephen Read , 2012 .

[40]  Luigi Liquori,et al.  L ax F: Side Conditions and External Evidence as Monads , 2014, MFCS.