Advertisement

Stateless Higher-Order Logic with Quantified Types

  • Evan Austin
  • Perry Alexander
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7998)

Abstract

There have been numerous extensions to classical higher-order logic, but not all of them interact non-trivially. Two such extensions, stateless HOL and HOL extended with quantified types, generate an interesting conflict in the way that type operator variables are implemented and handled. This paper details a proposed solution to that conflict and explores the key impacts to the logical kernel. A prototype system, implemented in GHC Haskell, is discussed and compared to related systems.

Keywords

Type Operator Proof System Lambda Calculus Substitution Function Type Constant 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Austin, E., Alexander, P.: HaskHOL: A Haskell Hosted Domain Specific Language Representation of HOL Light. In: Trends in Functional Programming Draft Proceedings (2010)Google Scholar
  2. 2.
    Bove, A., Dybjer, P., Norell, U.: A Brief Overview of Agda – A Functional Language with Dependent Types. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 73–78. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  3. 3.
    Coquand, T.: A New Paradox in Type Theory. In: Logic, Methodology and Philosophy of Science IX: Proceedings of the Ninth International Congress of Logic, Methodology, and Philosophy of Science, pp. 7–14. Elsevier (1994)Google Scholar
  4. 4.
    Gordon, M.: Why Higher-Order Logic is a Good Formalism for Specifying and Verifying Hardware, North-Holland (1986)Google Scholar
  5. 5.
    Haftmann, F.: From Higher-Order Logic to Haskell: There and Back Again. In: Gallagher, J.P., Voigtländer, J. (eds.) Proceedings of the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2010, Madrid, Spain, January 18-19. ACM (2010)Google Scholar
  6. 6.
    Harrison, J.: HOL Light: A Tutorial Introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 265–269. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  7. 7.
    Homeier, P.V.: The HOL-Omega Logic. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 244–259. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Huffman, B.: Formal Verification of Monad Transformers. In: Thiemann, P., Findler, R.B. (eds.) ACM SIGPLAN International Conference on Functional Programming, ICFP 2012, Copenhagen, Denmark, September 9-15, pp. 15–16. ACM (2012)Google Scholar
  9. 9.
    Klein, G., Derrin, P., Elphinstone, K.: Experience Report: SEL4: Formally Verifying a High-Performance Microkernel. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, ICFP 2009, pp. 91–96. ACM, New York (2009)CrossRefGoogle Scholar
  10. 10.
    Melham, T.: Higher Order Logic and Hardware Verification. Cambridge University Press, New York (1993)zbMATHCrossRefGoogle Scholar
  11. 11.
    Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)Google Scholar
  12. 12.
    Procter, A., Harrison, W.L., Stump, A.: The Design of a Practical Proof Checker for a Lazy Functional Language. In: Trends in Functional Programming Draft Proceedings (2012)Google Scholar
  13. 13.
    Slind, K., Norrish, M.: A Brief Overview of HOL4. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 28–32. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Völker, N.: HOL2P - A System of Classical Higher Order Logic with Second Order Polymorphism. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 334–351. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Wiedijk, F.: Stateless HOL. In: Hirschowitz, T. (ed.) Proceedings Types for Proofs and Programs, Revised Selected Papers. EPTCS, vol. 53, pp. 47–61 (2009)Google Scholar
  16. 16.
    Yorgey, B.A., Weirich, S., Cretin, J., Jones, S.L.P., Vytiniotis, D., Magalhães, J.P.: Giving Haskell a Promotion. In: Pierce, B.C. (ed.) Proceedings of TLDI 2012: The Seventh ACM SIGPLAN Workshop on Types in Languages Design and Implementation, Philadelphia, PA, USA, January 28, pp. 53–66. ACM (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Evan Austin
    • 1
  • Perry Alexander
    • 1
  1. 1.Information and Telecommunication Technology CenterThe University of KansasLawrenceUSA

Personalised recommendations