Case studies in meta-level theorem proving

  • Friedrich W. von Henke
  • Stephan Pfab
  • Holger Pfeifer
  • Harald Rue\Email author
Refereed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1479)


We describe an extension of the PVS system that provides a reasonably efficient and practical notion of reflection and thus allows for soundly adding formalized and verified new proof procedures. These proof procedures work on representations of a part of the underlying logic and their correctness is expressed at the object level using a computational reflection function. The implementation of the PVS system has been extended with an efficient evaluation mechanism, since the practicality of the approach heavily depends on careful engineering of the core system, including efficient normalization of functional expressions. We exemplify the process of applying meta-level proof procedures with a detailed description of the encoding of cancellation in commutative monoids and of the kernel of a BDD package.


Theorem Prove Proof Procedure Reflective System Association List Theorem Prove System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. F. Allen, R. L. Constable, D. J. Howe, and W. E. Aitken. The Semantics of Reflected Proof. In Proc. 5th Annual IEEE Symposium on Logic in Computer Science, pages 95–105. IEEE CS Press, 1990.Google Scholar
  2. 2.
    H. R. Anderson. An Introduction to Binary Decision Diagrams. Available at:, September 1994.Google Scholar
  3. 3.
    D. A. Basin. Beyond Tactic Based Theorem Proving. In J. Kunze and H. Stoyan, editors, KI-94 Workshops: Extended Abstracts. Gesellschaft für Informatik e.V, 1994. 18. Deutsche Jahrestagung für Künstliche Intelligenz, Saarbrücken.Google Scholar
  4. 4.
    D. A. Basin and R. L. Constable. Metalogical Frameworks. Technical Report TR 91-1235, Department of Computer Science, Cornell University, September 1991.Google Scholar
  5. 5.
    U. Berger and H. Schwichtenberg. An Inverse of the Evaluation Functional for Typed λ-calculus. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 203–211, Amsterdam, The Netherlands, 15–18 July 1991. IEEE Computer Society Press.Google Scholar
  6. 6.
    S. Boutin. Using Reflection to Build Efficient and Certified Decision Procedures. In M. Abadi and T. Ito, editors, Theoretical Aspects of Computer Software, volume 1281 of Lecture Notes in Computer Science. Springer-Verlag, 1997.Google Scholar
  7. 7.
    R. S. Boyer and J. S. Moore. A Computational Logic. Academic Press, New York, 1979.Google Scholar
  8. 8.
    R. S. Boyer and J. S. Moore. Metafunctions: Proving Them Correct and Using Them Efficiently as New Proof Procedures. In R. S. Boyer and J. S. Moore, editors, The Correctness Problem in Computer Science, chapter 3. Academic Press, 1981.Google Scholar
  9. 9.
    R. E. Bryant. Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams. ACM Computing Surveys, 24(3):293–318, September 1992.CrossRefGoogle Scholar
  10. 10.
    R. L. Constable, S. F. Allen, and H. M. Bromley et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986.Google Scholar
  11. 11.
    J. Crow, S. Owre, J. Rushby, N. Shankar, and M. Srivas. A Tutorial Introduction to PVS. Presented at WIFT '95: Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, Florida, April 1995.Google Scholar
  12. 12.
    M. J. C. Gordon and T. F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. Cambridge University Press, 1993.Google Scholar
  13. 13.
    M. J. C. Gordon, A. J. R. Milner, and C. P. Wadsworth. Edinburgh LCF: a Mechanized Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1979.Google Scholar
  14. 14.
    J. Harrison. Metatheory and Reflection in Theorem Proving: A Survey and Critique. Technical Report CRC-053, SRI Cambridge, Millers Yard, Cambridge, UK, 1995.Google Scholar
  15. 15.
    D. J. Howe. Automating Reasoning in an Implementation of Constructive Type Theory. PhD thesis, Cornell University, 1988. Available as technical report TR 88-925 from the Department of Computer Science, Cornell University.Google Scholar
  16. 16.
    T. B. Knoblock and R. L. Constable. Formalized Metareasoning in Type Theory. In Proceedings of LICS, pages 237–248. IEEE, 1986. Also available as technical report TR 86-742, Department of Computer Science, Cornell University.Google Scholar
  17. 17.
    G. Kreisel and A. Lévy. Reflection Principles and Their Use for Establishing the Complexity of Axiomatic Systems. Zeitschrift für math. Logik und Grundlagen der Mathematik, Bd. 14:97–142, 1968.zbMATHGoogle Scholar
  18. 18.
    G. Nelson and D. C. Oppen. Simplification by Cooperating Decision Procedures. ACM Transactions on Programming Languages and Systems, 1(2):245–257, October 1979.zbMATHCrossRefGoogle Scholar
  19. 19.
    S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, February 1995.CrossRefGoogle Scholar
  20. 20.
    L. C. Paulson. Logic and Computation: Interactive Proof with Cambridge LCF. Number 2 in Cambride Tracts in Theoretical Computer Science. Cambridge University Press, 1987.Google Scholar
  21. 21.
    L. C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.Google Scholar
  22. 22.
    S. Pfab. Efficient Symbolic Evaluation of Formal Specifications and Its Interrelationship with Theorem Proving. Master's thesis, UniversitÄt Ulm, FakultÄt für Mathematik, January 1998.Google Scholar
  23. 23.
    H. Rue\. Computational Reflection in the Calculus of Constructions and Its Application to Theorem Proving. In J. R. Hindley P. de Groote, editor, Proceedings of Typed Lambda Calculus and Applications (TLCA'97), volume 1210 of Lecture Notes in Computer Science, pages 319–335. Springer-Verlag, April 1997.Google Scholar
  24. 24.
    R. E. Shostak. Deciding Combinations of Theories. Journal of the ACM, 31(1):1–12, 1984.zbMATHMathSciNetCrossRefGoogle Scholar
  25. 25.
    C. Smorynski. Self-Reference and Modal Logic. Springer-Verlag, 1985.Google Scholar
  26. 26.
    C. Sprenger. A Verified Model Checker for the Modal Μ-Calculus in Coq. In B. Steffen, editor, Tools and Algorithms for the Construction and Analysis of Systems, volume 1384 of Lecture Notes in Computer Science. Springer-Verlag, 1998.Google Scholar
  27. 27.
    F. von Henke. An Algebraic Approach to Data Types, Program Verification, and Program Synthesis. In Mathematical Foundations of Computer Science, Proceedings, volume 45 of Lecture Notes in Computer Science. Springer-Verlag, 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Friedrich W. von Henke
    • 1
  • Stephan Pfab
    • 1
  • Holger Pfeifer
    • 1
  • Harald Rue\
    • 1
    Email author
  1. 1.FakultÄt für InformatikUniversitÄt UlmUlm/DonauGermany

Personalised recommendations