Skip to main content

2. Functional Programming in HOL

  • Chapter
  • First Online:
Isabelle/HOL

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2283))

  • 1179 Accesses

Abstract

This chapter describes how to write functional programs in HOL and how to verify them. However, most of the constructs and proof procedures introduced are general and recur in any specification or verification task. We really should speak of functional modelling rather than functional programming: ou r primary aim is not to write programs but to design abstract models of systems. HOL is a specification language that goes well beyond what can be expressed as a program. However, for the time being we concentrate on the computable.

If you are a purist functional programmer, please note that all functions in HOL must be total:they must terminate for all inputs. Lazy data structures are not directly available.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

(2002). 2. Functional Programming in HOL. In: Nipkow, T., Wenzel, M., Paulson, L.C. (eds) Isabelle/HOL. Lecture Notes in Computer Science, vol 2283. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45949-9_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-45949-9_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43376-7

  • Online ISBN: 978-3-540-45949-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics