An experimental support system for formal mathematical reasoning

  • Matthias Anlauff
  • Stefan Jähnichen
  • Martin Simons
Part of the Lecture Notes in Computer Science book series (LNCS, volume 873)


Requirements for tools which support the creation and the intelligible presentation of formal deductions are investigated. They are contrasted with requirements which emphasize the interactive construction of correct proofs. As an example, the design and the implementation of a set of support tools for Deva is described. Deva is a typed functional language and has been used in a number of case-studies on formal program development. The use of this toolset is illustrated by impressions of a working session.


formal reasoning logical frameworks proofs tool support 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Abramsky, D. Gabbay, and T. S. E. Maibaum, editors. Handbook of Logic in Computer Science, volume 2. Oxford University Press, 1992.Google Scholar
  2. 2.
    J. R. Abrial. The B-Tool (Abstract). In R. Bloomfield, L. Marshall, and C. Jones, editors, VDM'88 — The Way Ahead. Springer-Verlag, 1988.Google Scholar
  3. 3.
    T. Altenkirch. A formalization of the strong normalization proof for sytem F in LEGO. In M. Bezem and J. F. Groote, editors, Typed Lambda Calculi and Applications, volume 664 of LNCS, pages 13–28. Springer-Verlag, 1993.Google Scholar
  4. 4.
    M. Anlauff. Devil: Deva's Interactive Laboratory. Tutorial and User Manual. Technical Report 93–42, TU Berlin, 1993.Google Scholar
  5. 5.
    R. C. Backhouse. Making formality work for us. Bulletin of the EATCS, (38):219–249, June 1989.Google Scholar
  6. 6.
    R. C. Backhouse, R. Verhoeven, and O. Weber. MathSPad user manual. Technical report, Technical University of Eindhoven, Department of Computer Science, 1994.Google Scholar
  7. 7.
    M. Biersack, R. Raschke, and M. Simons. The DevaWEB system: Introduction, tutorial, user manual, and implementation. Technical Report 93–39, TU Berlin, 1993.Google Scholar
  8. 8.
    N. G. de Bruijn. A survey of the project AUTOMATH. In To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism [44], pages 579–606.Google Scholar
  9. 9.
    E. Clarke and X. Zhao. Analytica — An experiment in combining theorem proving and symbolic computation. Technical Report CMU-CS-92-147, Carnegie Mellon University, 1992.Google Scholar
  10. 10.
    R. Constable et al. Implementing Mathematics with the NuPRL Proof Development System. Prentice Hall, 1986.Google Scholar
  11. 11.
    T. Coquand and G. Huet. The calculus of constructions. Information and Computation, 76:95–120, 1988.CrossRefGoogle Scholar
  12. 12.
    T. Coquand, B. Nordström, J. M. Smith, and B. von Sydow. Type theory and programming. Bulletin of the EATCS, (52):203–228, 1994.Google Scholar
  13. 13.
    E. W. Dijkstra and C. Scholten. Predicate Calculus and Predicate Transformers. Springer-Verlag, 1990.Google Scholar
  14. 14.
    G. Dowek et al. The Coq proof assitant user's guide. Technical report, INRIA Rocquencourt, 1991.Google Scholar
  15. 15.
    W. M. Farmer, J. D. Guttmann, and F. J. Thayer. IMPS: An interactive mathematical proof system. Journal of Automated Reasoning, 11:213–248, 1993.Google Scholar
  16. 16.
    A. J. M. van Gasteren. On the Shape of Mathematical Arguments, volume 441 of LNCS. Springer-Verlag, 1990.Google Scholar
  17. 17.
    M. J. C. Gordon and T. F. Melham, editors. Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. Cambridge University Press, 1993.Google Scholar
  18. 18.
    D. Gries and F. B. Schneider. A Logical Approach to Discrete Math. Springer-Verlag, 1993.Google Scholar
  19. 19.
    P. de Groote. Définition et Properiétés d'un Métacalcul de Représentation de Théories. PhD thesis, University of Louvain, 1990.Google Scholar
  20. 20.
    R. Harper, F. Honsell, and G. Plotkin. A framework for defining logics. Journal of the ACM, 40 (1):143–184, 1993.Google Scholar
  21. 21.
    J. Harrison and L. Théry. Extending the HOL theorem prover with a computer algebra system to reason about the reals. University of Cambridge Computer Laboratory.Google Scholar
  22. 22.
    W. A. Howard. The formulae-as-types notion of construction. In To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism [44], pages 479–490.Google Scholar
  23. 23.
    G. Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1:27–57, 1975.Google Scholar
  24. 24.
    G. Huet. Residual theory in λ-calculus: A formal development. Technical Report 2009, INRIA, 1993.Google Scholar
  25. 25.
    G. Huet and G. Plotkin, editors. Logical Frameworks. Cambridge University Press, 1991.Google Scholar
  26. 26.
    G. Huet and G. Plotkin, editors. Logical Environments. Cambridge University Press, 1993.Google Scholar
  27. 27.
    C. B. Jones, K. D. Jones, P. A. Lindsay, and R. Moore. Mural: A Formal Development Support System. Springer, 1991.Google Scholar
  28. 28.
    J. W. Klop. Term rewriting systems. In Abramsky et al. [1], pages 1–116.Google Scholar
  29. 29.
    D. Knuth. Literate programming. The Computer Journal, 27(2):97–111, May 1984.CrossRefGoogle Scholar
  30. 30.
    D. Knuth. Literate Programming. Center for the Study of Language and Information, 1992.Google Scholar
  31. 31.
    L. Lamport. How to write a proof. Technical Report 94, DEC Systems Research Center, 1993.Google Scholar
  32. 32.
    Z. Luo. An Extended Calculus of Constructions. PhD thesis, University of Edinburgh, 1990.Google Scholar
  33. 33.
    Z. Luo and R. Pollack. The LEGO proof development system: A user's manual. Technical Report ECS-LFCS-92-211, University of Edinburgh, LFCS, 1992.Google Scholar
  34. 34.
    B. Möller, H. A. Partsch, and S. A. Schumann, editors. Formal Program Development, volume 755 of LNCS. Springer-Verlag, 1993.Google Scholar
  35. 35.
    C. Morgan. The refinement calculus, and literate developments. In Möller et al. [34], pages 161–182.Google Scholar
  36. 36.
    R. P. Nederpelt. Strong Normalization in a typed lambda calculus with lambda structured types. PhD thesis, Technical University of Eindhoven, 1973.Google Scholar
  37. 37.
    P. A. J. Noel. Experimenting with Isabelle in ZF set theory. Journal of Automated Reasoning, 10(1):15–58, 1993.Google Scholar
  38. 38.
    John K. Ousterhout. Tcl and the Tk Toolkit. Addison Wesley, 1994.Google Scholar
  39. 39.
    S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In D. Kapur, editor, Automated Deduction — CADE-11, volume 607 of LNCS, pages 567–581. Springer-Verlag, 1992.Google Scholar
  40. 40.
    L. C. Paulson. Designing a theorem prover. In Abramsky et al. [1], pages 415–475.Google Scholar
  41. 41.
    The QED manifesto. Can be obtained from in the directory/pub/qed.Google Scholar
  42. 42.
    T. Santen. Formalization of the SPECTRUM methodology in Deva: Signature and logical calculus. Technical Report 93-04, TU Berlin, 1993.Google Scholar
  43. 43.
    F. W. Schroer. Gentle. In J. Grosch, F. W. Schroer, and W. M. Waite, editors, Three Compiler Specifications, number 166 in GMD-Studien, pages 31–36. GMD, Forschungsstelle an der Universität Karlsruhe, August 1989.Google Scholar
  44. 44.
    J. P. Seldin and J. R. Hindley. To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism. Academic Press, 1980.Google Scholar
  45. 45.
    J. H. Siekmann. Unification theory. Journal of Symbolic Computation, 7:207–274, 1989.Google Scholar
  46. 46.
    M. Simons, M. Biersack, and R. Raschke. Literate and structured presentation of formal proofs. In E.-R. Olderog, editor, IFIP Working Conference on Programming Concepts, Methods and Calculi (PROCOMET'94). North Holland, 1994.Google Scholar
  47. 47.
    M. Sintzoff. Understanding and expressing software construction. In P. Pepper, editor, Program Transformations and Programming Environments, pages 169–180. Springer-Verlag, 1980.Google Scholar
  48. 48.
    M. Sintzoff. Endomorphic typing. In Möller et al. [34], pages 305–323.Google Scholar
  49. 49.
    J. L. A. van de Snepscheut. Proxac: an editor for program transformation. Technical Report Caltech-CS-TR-93-33, California Institute of Technology, 1993.Google Scholar
  50. 50.
    L. Théry, Y. Bertot, and G. Kahn. Real theorem provers deserve real user-interfaces. ACM Software Engineering Notes, 17(5), 1992. Fifth ACM SIGSOFT Symposium on Software Development Environments.Google Scholar
  51. 51.
    M. Weber. Deriving transitivity of VDM reification in the Deva meta-calculus. In S. Prehn and W. J. Toetenel, editors, VDM'91 Formal Software Development Methods, volume 551 of LNCS, pages 406–427. Springer, 1991.Google Scholar
  52. 52.
    M. Weber. Definition and basic properties of the Deva meta-calculus. Formal Aspects of Computing, 5:391–431, 1993.Google Scholar
  53. 53.
    M. Weber. Literate mathematical development of a revision management system. In T. Denvir, editor, Formal Methods Europe 1994. Springer-Verlag, 1994.Google Scholar
  54. 54.
    M. Weber, M. Simons, and Ch. Lafontaine. The Generic Development Language Deva: Presentation and Case Studies, volume 738 of LNCS. Springer-Verlag, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Matthias Anlauff
    • 1
  • Stefan Jähnichen
    • 2
  • Martin Simons
    • 1
  1. 1.Forschungsgruppe Softwaretechnik (FR5-6)Technische Universität BerlinBerlinGermany
  2. 2.GMD Forschungsstelle FIRSTBerlinGermany

Personalised recommendations