1999
DOI: 10.1017/s095679689900341x
|View full text |Cite
|
Sign up to set email alerts
|

Holcf = Hol + LCF

Abstract: HOLCF is the definitional extension of Church's Higher-Order Logic with Scott's Logic for Computable Functions that has been implemented in the theorem prover Isabelle. This results in a flexible setup for reasoning about functional programs. HOLCF supports standard domain theory (in particular fixpoint reasoning and recursive domain equations), but also coinductive arguments about lazy datatypes. This paper describes in detail how domain theory is embedded in HOL, and presents applications from functiona… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
32
0

Year Published

1999
1999
2020
2020

Publication Types

Select...
8
1
1

Relationship

0
10

Authors

Journals

citations
Cited by 45 publications
(32 citation statements)
references
References 17 publications
0
32
0
Order By: Relevance
“…The Isabelle/HOL type class experiment was practically successful: substantial developments such as the Nominal [3,18] and HOLCF [24] packages and Isabelle's mathematical analysis library [17] rely heavily on type classes. One of Isabelle's power users writes [22]: "Thanks to type classes and refinement during code generation, our light-weight framework is flexible, extensible, and easy to use."…”
Section: Related Workmentioning
confidence: 99%
“…The Isabelle/HOL type class experiment was practically successful: substantial developments such as the Nominal [3,18] and HOLCF [24] packages and Isabelle's mathematical analysis library [17] rely heavily on type classes. One of Isabelle's power users writes [22]: "Thanks to type classes and refinement during code generation, our light-weight framework is flexible, extensible, and easy to use."…”
Section: Related Workmentioning
confidence: 99%
“…If that is a concern, one might prefer a translation into the Logic of Computable Functions (LCF) [26], where every type is a domain and every function is continuous. LCF is, for example, implemented in Isabelle's HOLCF package [15,23]. Parts of the Haskell standard library have been manually translated into this setting [4] and used to verify the rewrite rules applied by HLint, a Haskell style checker.…”
Section: Translating Haskell To Higher-order Logicmentioning
confidence: 99%
“…The bottom value of the lifted booleans thus represents a computation of a boolean value that never completes successfully. The type of lifted booleans in HOLCF is also described by Müller, Nipkow, Oheimb and Slotosch [27] as well as by Huffman [18].…”
Section: Entailment -A Case Studymentioning
confidence: 99%