Formal Theories and Software Systems: Fundamental Connections between Computer Science and Logic

A formal Theory of Logics is sketched using concepts from a modern proof development system (like Nuprl, Coq or other such software systems). The Theory can be applied to understanding these software systems, and the application suggests a design principle called the theories-as-systems notion. Applications of the Theory to automated reasoning have led to an empirical study of the notion of obvious inference. Experimental results are cited to explain key constants of a scientific theory of obvious inference. The constants appear in what is called here the deBruijn equation.

[1]  David A. McAllester Ontic: A Knowledge Representation System for Mathematics , 1989, CADE.

[2]  Douglas J. Howe Reasoning About Functional Programs in Nuprl , 1993, Functional Programming, Concurrency, Simulation and Automated Reasoning.

[3]  Ii W. R. Cleaveland Type-theoretic models of concurrency , 1987 .

[4]  Paul B. Jackson Nuprl and Its Use in Circuit Design , 1992, TPCD.

[5]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[6]  Douglas J. Howe The Computational Behaviour of Girard's Paradox , 1987, LICS.

[7]  S. Feferman A Language and Axioms for Explicit Mathematics , 1975 .

[8]  Martin Davis,et al.  The Prehistory and Early History of Automated Deduction , 1983 .

[9]  J. Roger Hindley,et al.  To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism , 1980 .

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

[11]  J. Hartmanis,et al.  On the Computational Complexity of Algorithms , 1965 .

[12]  Miriam Leeser Using Nuprl for the verification and synthesis of hardware , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[13]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[14]  Stuart Allen A Non-Type-Theoretic Definition of Martin-Löf's Types , 1987, LICS.

[15]  Jean-Yves Girard,et al.  On the Unity of Logic , 1993, Ann. Pure Appl. Log..

[16]  J. Heijenoort From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931 , 1967 .

[17]  B. Russell Mathematical Logic as Based on the Theory of Types , 1908 .

[18]  H. Läuchli An Abstract Notion of Realizability for Which Intuitionistic Predicate Calculus is Complete , 1970 .

[19]  Robin Milner,et al.  Definition of standard ML , 1990 .

[20]  W. Bledsoe A new method for proving certain Presburger formulas , 1975, IJCAI 1975.

[21]  Douglas J. Howe Equality in lazy computation systems , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[22]  Wilfred Z. Chen Tactic-based Theorem Proving and Knowledge-based Forward Chaining: an Experiment with Nuprl and Ontic , 1992, CADE.

[23]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[24]  de Ng Dick Bruijn,et al.  The mathematical language AUTOMATH, its usage, and some of its extensions , 1970 .

[25]  Chetan R. Murthy An evaluation semantics for classical proofs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[26]  J. Girard Une Extension De ĽInterpretation De Gödel a ĽAnalyse, Et Son Application a ĽElimination Des Coupures Dans ĽAnalyse Et La Theorie Des Types , 1971 .

[27]  Douglas J. Howe,et al.  Implementing Metamathematics as an Approach to Automatic Theorem Proving , 1989 .

[28]  Juris Hartmanis Feasible computations and provable complexity properties , 1989, CBMS-NSF regional conference series in applied mathematics.

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

[30]  de Ng Dick Bruijn,et al.  A survey of the project Automath , 1980 .

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

[32]  David A. Basin,et al.  An Environment For Automated Reasoning About Partial Functions , 1988, CADE.

[33]  Jawahar Chirimar,et al.  Implementing Constructive Real Analysis: Preliminary Report , 1992, Constructivity in Computer Science.

[34]  Akiko Kino,et al.  Intuitionism and Proof Theory , 1970 .

[35]  Errett Bishop,et al.  Mathematics as a Numerical Language , 1970 .

[36]  Gottfried Wilhelm Freiherr von Leibniz,et al.  Logical Papers: A Selection , 1966 .

[37]  David A. Basin,et al.  Formally verified synthesis of combinational CMOS circuits , 1991, Integr..

[38]  Gérard Huet A uniform approach to type theory , 1990 .

[39]  Christine Paulin-Mohring,et al.  Extracting ω's programs from proofs in the calculus of constructions , 1989, POPL '89.

[40]  Robert L. Constable,et al.  Constructive Mathematics and Automatic Program Writers , 1970, IFIP Congress.

[41]  Graham Wrightson,et al.  Automation of Reasoning , 1983 .

[42]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..

[43]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[44]  Christoph Kreitz Constructive Automata Theory Implemented with the Nuprl Proof Development System , 1986 .

[45]  Robert L. Constable,et al.  Lectures on:Classical Proofs as Programs , 1993 .

[46]  Robert L. Constable,et al.  The semantics of reflected proof , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[47]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[48]  Douglas J. Howe Implementing Number Theory: An Experiment with Nuprl , 1986, CADE.

[49]  Gérard P. Huet,et al.  Theorem Proving Systems of the Formel Project , 1986, CADE.