Intuitionistic ancestral logic

In this paper we define pure intuitionistic Ancestral Logic (iAL), extending pure intuitionistic First-Order Logic (iFOL). This logic is a dependently typed abstract programming language with computational functionality beyond iFOL given by its realizer for the transitive closure, TC. We derive this operator from the natural type theoretic definition of TC using intersection. We show that provable formulas in iAL are uniformly realizable, thus iAL is sound with respect to constructive type theory. We further show that iAL subsumes Kleene Algebras with tests and thus serves as a natural programming logic for proving properties of program schemes. We also extract schemes from proofs that iAL specifications are solvable.

[1]  Bengt Nordström,et al.  Programming in Martin-Lo¨f's type theory: an introduction , 1990 .

[2]  D. Kozen,et al.  Kleene Algebra with Tests and Program Schematology , 2001 .

[3]  J. Hickey The MetaPRL Logical Programming Environment , 2000 .

[4]  Adam Chlipala,et al.  A verified compiler for an impure functional language , 2010, POPL '10.

[5]  Bengt Nordström,et al.  Programming in Martin-Löf's Type Theory , 1990 .

[6]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[7]  Xavier Leroy,et al.  Formal certification of a compiler back-end or: programming a compiler with a proof assistant , 2006, POPL '06.

[8]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[9]  Per Martin-Löf,et al.  Constructive mathematics and computer programming , 1984 .

[10]  Arnon Avron,et al.  Ancestral Logic: A Proof Theoretical Study , 2014, WoLLIC.

[11]  Ulf Norell,et al.  A Brief Overview of Agda - A Functional Language with Dependent Types , 2009, TPHOLs.

[12]  Mark Bickford,et al.  Intuitionistic completeness of first-order logic , 2011, Ann. Pure Appl. Log..

[13]  Zohar Manna,et al.  The logical basis for computer programming. Volume 1: deductive reasoning , 1985 .

[14]  A. Troelstra,et al.  Constructivism in Mathematics: An Introduction , 1988 .

[15]  J. D. Monk,et al.  Mathematical Logic , 1976 .

[16]  Robert L. Constable,et al.  Proofs as programs , 1985, TOPL.

[17]  Neil Immerman,et al.  Languages that Capture Complexity Classes , 1987, SIAM J. Comput..

[18]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[19]  J. Paris,et al.  The Type Theoretic Interpretation of Constructive Set Theory , 1978 .

[20]  Bruno Barras,et al.  Sets in Coq, Coq in Sets , 2010, J. Formaliz. Reason..

[21]  Peter Aczel,et al.  The Type Theoretic Interpretation of Constructive Set Theory: Inductive Definitions , 1986 .

[22]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[23]  Neil Immerman,et al.  On the Unusual Effectiveness of Logic in Computer Science , 2001, Bulletin of Symbolic Logic.

[24]  Mark Bickford,et al.  Innovations in computational type theory using Nuprl , 2006, J. Appl. Log..

[25]  M. Sørensen,et al.  Lectures on the Curry-Howard Isomorphism , 2013 .

[26]  Neil Immerman,et al.  Simulating Reachability Using First-Order Logic with Applications to Verification of Linked Data Structures , 2005, CADE.

[27]  Mark Bickford,et al.  A diversified and correct-by-construction broadcast service , 2012, 2012 20th IEEE International Conference on Network Protocols (ICNP).

[28]  John McCarthy A Formal Description of a Subset of Algol , 1964 .

[29]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[30]  Alexandra Silva,et al.  A Coalgebraic Decision Procedure for NetKAT , 2015, POPL.

[31]  Dexter Kozen,et al.  Kleene Algebra with Equations , 2014, ICALP.

[32]  Robin Milner,et al.  Edinburgh lcf: a mechanized logic of computation , 1978 .

[33]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[34]  Harvey M. Friedman,et al.  The consistency of classical set theory relative to a set theory with intu1tionistic logic , 1973, Journal of Symbolic Logic.

[35]  Zohar Manna,et al.  The logical basis for computer programming , 1985 .

[36]  D. Kozen,et al.  Equational Verification of Cache Blocking in LU Decomposition using Kleene Algebra with Tests , 2002 .

[37]  Arnon Avron,et al.  Transitive Closure and the Mechanization of Mathematics , 2003 .

[38]  Thomas A. Henzinger,et al.  Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) , 2014, LICS 2014.

[39]  Zohar Manna,et al.  Mathematical Theory of Computation , 2003 .

[40]  S C Kleene,et al.  Representation of Events in Nerve Nets and Finite Automata , 1951 .

[41]  Robert L. Constable,et al.  Constructive Mathematics as a Programming Logic I: Some Principles of Theory , 1983, FCT.