# Formal theories and software systems: Fundamental connections between Computer Science and Logic

II. Symbolic Computation, Programming, and Software Engineering

First Online:

## Abstract

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*.

## Preview

Unable to display preview. Download preview PDF.

## References

- [1]M. Aagaard and M. Leeser. Verifying a logic synthesis tool in Nuprl. In G. Bochmann and D. Probst, editors,
*Participants copy of Proceedings of Workshop on Computer-Aided. Verification*, pages 72–83. Springer-Verlag, June 1992. To appear by Springer-Verlag, 1993.Google Scholar - [2]S. Abramsky. Computational interpretations of linear logic.
*TCS*, 1992. To appear.Google Scholar - [3]W. Aitken and R. C. Constable. Reflecting on Nuprl Lessons 1–4. Technical report, Cornell University, Computer Science Dept., 1992. To appear.Google Scholar
- [4]S. Allen, R. Constable, D. Howe, and W. Aitken. The semantics of reflected proof.
*Proc. of Fifth Symp. on Logic in Comp. Sci., IEEE*, pages 95–197, June 1990.Google Scholar - [5]S. F. Allen. A non-type-theoretic definition of Martin-Löf's types.
*Proc. of Second Symp. on Logics in Computer Science, IEEE*, pages 215–224., June 1987.Google Scholar - [6]A. Appel.
*Compiling with Continuations*. Cambridge University Press, 1992.Google Scholar - [7]D. Basin. An environment for automated reasoning about partial functions. In
*9th International Conference on Automated Deduction*, pages 101–110. Springer-Verlag, NY, 1988.Google Scholar - [8]D. Basin, G. Brown, and M. Leeser. Formally Verified Synthesis of Combinational CMOS Circuits.
*Integration: The International Journal of VLSI Design*, 11:235–250, 1991.Google Scholar - [9]E. Bishop. Mathematics as a Numerical Language. In
*Intuitionism and Proof Theory*., pages 53–71. North-Holland, NY, 1970.Google Scholar - [10]W. W. Bledsoe. A new method for proving certain Presburger formulas.
*Fourth IJCAI*, September 1975. Tblisi, USSR.Google Scholar - [11]N. Bourbaki.
*Elements of Mathematics, Algebra, Volume 1*. Addison-Wesley, Reading, MA, 1968.Google Scholar - [12]W. Chen. Tactic-based theorem proving and knowledge-based forward chaining. In D. Kapur, editor,
*Eleventh International Conference on Automated Deduction*, pages 552–566. Springer-Verlag, June 1992.Google Scholar - [13]J. Chirimar and D. Howe. Implementing constructive real analysis: a preliminary report. In
*Symposium on Constructivity in Computer Science*. Springer-Verlag, 1991. To appear.Google Scholar - [14]R. C. Cleaveland.
*Type-Theoretic Models of Concurrency*. PhD thesis, Cornell University, 1987.Google Scholar - [15]R. Constable, S. Johnson, and C. Eichenlaub.
*Introduction to the PL/CV2 Programming Logic, LNCS*, volume 135. Springer-Verlag, NY, 1982.Google Scholar - [16]R. Constable, T. Knoblock, and J. Bates. Writing programs that construct proofs.
*J. Automated Reasoning*, 1(3):285–326, 1984.MathSciNetGoogle Scholar - [17]R. L. Constable. Constructive mathematics and automatic program writers. In
*Proc. IFP Congr.*, pages 229–33, Ljubljana, 1971.Google Scholar - [18]R. L. Constable. Lectures on: Classical proofs as programs.
*NATO ASI Series, Constructive Methods of Computing Science*, F, 1991.Google Scholar - [19]R. L. Constable et al.
*Implementing Mathematics with the Nuprl Development System*. Prentice-Hall, NJ, 1986.Google Scholar - [20]R. L. Constable and D. J. Howe. Implementing metamathematics as an approach to automatic theorem proving. In R. Banerji, editor,
*Formal Techniques in Artificial Intelligence: A Source Book*, pages 45–76. Elsevier Science Publishers (North-Holland), 1990.Google Scholar - [21]S. Cook. The complexity of theorem proving procedures. In
*Proc. of the 3rd ACM Symposium on Theory of Computation*, pages 151–158. ACM, NY, 1971.Google Scholar - [22]H. Curry, R. Feys, and W. Craig.
*Combinatory Logic, Vol. 1*. Amsterdam:North-Holland, 1968.Google Scholar - [23]M. Davis. The prehistory and early history of automated deduction. In
*Automation of Reasoning 1*, pages 1–28. Springer-Verlag, NY, 1983.Google Scholar - [24]N. deBruijn. The mathematical language Automath, its usage and, some of its extensions.
*Symp. on Automatic Demonstration, Lecture Notes in Math*, 125:29–61, 1968.CrossRefGoogle Scholar - [25]N. deBruijn. A survey of the project Automath. In
*To H.B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism*., pages 589–606. Academic Press, 1980.Google Scholar - [26]S. Feferman. A language and axioms for explicit mathematics. In
*Algebra and Logic, Lecture Notes in Mathematics*, pages 87–139. Springer-Verlag, 1975.Google Scholar - [27]S. Feferman. Polymorphic typed lambda-calculi in a type free axiomatic framework.
*Contemporary Mathematics*, 106:101–135, 1990.MathSciNetGoogle Scholar - [28]G. Frege. Begriffsschrift, a formula language, modeled upon that for arithmetic for pure thought. In
*From Frege to Godel: A Source Book in Mathematical Logic, 1879–1931*, pages 1–82. Harvard University Press, Cambridge, Mass., 1967.Google Scholar - [29]J.-Y. Girard. Une extension de l'interpretation de godel a l'analyse, et son application a l'elimination des coupures dans l'analyse et la theorie des types. In
*2nd Scandinavian Logic Symp.*, pages 63–69. Springer-Verlag, NY, 1971.Google Scholar - [30]J.-Y. Girard. On the unity of logic. In
*Proceedings of Computer and Systems Sciences, NATO Advanced Science Institute Series F*, 1991.Google Scholar - [31]K. Gödel. On intuitionistic arithmetic and number theory. In M. Davis, editor,
*The Undecidable*, pages 75–81. Raven Press, 1965.Google Scholar - [32]M. Gordon. HOL: A machine oriented formalization of higher order logic. Technical Report 68, Cambridge University, 1985.Google Scholar
- [33]M. Gordon, R. Milner, and C. Wadsworth.
*Edinburgh LCF: a mechanized logic of computation*, volume 78 of*Lecture Notes in Computer Science*. Springer-Verlag, NY, 1979.Google Scholar - [34]J. Hartmanis.
*Feasible Computations and Provable Complexity Properties*. SIAM, Philadelphia, PA, 1978.MATHGoogle Scholar - [35]J. Hartmanis and R. Stearns. On the computational complexity of algorithms.
*Transactions of the American Mathematics Society*, 117:285–306, 1965.MATHCrossRefMathSciNetGoogle Scholar - [36]W. Howard. The formulas-as-types notion of construction. In
*To H.B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism*, pages 479–490. Academic Press, NY, 1980.Google Scholar - [37]D. Howe. The computational behaviour of Girard's paradox.
*Proc. of Second Symp. on Logic in Comp. Sci., IEEE*, pages 205–214, June 1987.Google Scholar - [38]D. Howe. Implementing number theory: An experiment with Nuprl.
*8th International Conference on Automated Deduction*, pages 404–415, July 1987.Google Scholar - [39]D. Howe. Equality in lazy computation systems. In
*Proc. of Second Symp. on Logic in Comp. Sci.*, pages 198–203. IEEE Computer Society, June 1989.Google Scholar - [40]D. Howe. A simple type theory for reasoning about functional programs. pre print, 1992.Google Scholar
- [41]D. Howe. Reasoning about functional programs in Nuprl.
*Functional Programming, Concurrency, Simulation and Automated Reasoning, LNCS*, 1993. To appear.Google Scholar - [42]G. Huet. Theorem proving systems of the Formel project. In
*Proc. of the 8th International Conference on Automated Deduction, Lecture Notes in Computer Science*, pages 687–688. Springer-Verlag, 1986.Google Scholar - [43]G. Huet. A uniform approach to type theory. In G. Huet, editor,
*Logical Foundations of Functional Programming*, pages 337–398. Addison-Wesley, 1990.Google Scholar - [44]P. B. Jackson. Nuprl and its use in circuit design. In V. Stavridou, T. Melham, and R. Boute, editors,
*Proceedings of the IFIP TC10/WG10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience*, pages 311–336. North-Holland, The Netherlands, June 1992.Google Scholar - [45]S. C. Kleene.
*Introduction to Metamathematics*. D. Van Nostrand, Princeton, 1952.MATHGoogle Scholar - [46]A. Kolmogorov. Three approaches to the concept of 'the amount of information'.
*Probl. Inf. Tramsm.*, 1:1–7, 1965.MathSciNetGoogle Scholar - [47]C. Kreitz. Constructive automata theory implemented with the Nuprl proof development system. Technical Report TR 86-779, Cornell University, Ithaca, New York, September 1986.Google Scholar
- [48]H. Lauchli. An abstract notion of realizability for which intuitionistic predicate calculus is complete. In
*Intuitionism and Proof Theory*., pages 227–34. North-Holland, Amsterdam, 1970.Google Scholar - [49]M. Leeser. Using Nuprl for the verification and synthesis of hardware.
*Phil. Trans. R. Soc. Lond.*, 339:49–68, 1992.CrossRefGoogle Scholar - [50]G. Leibniz.
*Logical Papers: A Selection*. Clarendon Press, Oxford, 1966.Google Scholar - [51]L. Levin. Universal search problems.
*Problemy Peredaci Informacii 9*, pages 115–116, 1973.MathSciNetGoogle Scholar - [52]P. Martin-Löf. Constructive mathematics and computer programming. In
*Sixth International Congress for Logic, Methodology, and Philosophy of Science*, pages 153–75. North-Holland, Amsterdam, 1982.Google Scholar - [53]D. A. McAllester.
*ONTIC: A Knowledge Representation System for Mathematics*. MIT Press, Cambrige, Mass., 1989.MATHGoogle Scholar - [54]J. McCarthy. Computer programs for checking mathematical proofs. In
*Proceedings of the Symposium in Pure Math, Recursive Function Theory, Vol V*, pages 219–228. AMS, Providence, RI, 1962.Google Scholar - [55]R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, part 1. Technical Report CSR-302-89, LFCS, University of Edinburgh, June 1989.Google Scholar
- [56]R. Milner, M. Tofte, and R. Harper.
*The Definition of Standard ML*. The MIT Press, 1991.Google Scholar - [57]C. Murthy. An evaluation semantics for classical proofs. In
*LICS, '91*, pages 96–107, Amsterdam, The Netherlands, July 1991.Google Scholar - [58]B. Nordstrom, K. Petersson, and J. Smith.
*Programming in Martin-Lof 's Type Theory*. Oxford Sciences Publication, Oxford, 1990.Google Scholar - [59]C. Paulin-Mohring. Extracting
*F′ws*programs from proofs in the calculus of constructions. In*Proceedings of POPL*, 1989.Google Scholar - [60]B. Russell. Mathematical logic as based on a theory of types.
*Am. J. Math.*, 30:222–62, 1908.CrossRefGoogle Scholar - [61]N. Shankar. Towards mechanical metamathematics.
*J. Automated Reasoning*, 1(4):407–434, 1985.MATHCrossRefMathSciNetGoogle Scholar - [62]R. Shostak. A practical decision procedure for arithmetic with function symbols.
*JACM*, 26:351–360, 1979.MATHCrossRefMathSciNetGoogle Scholar

## Copyright information

© Springer-Verlag Berlin Heidelberg 1992