2002
DOI: 10.1007/3-540-45842-5_2
|View full text |Cite
|
Sign up to set email alerts
|

Executing Higher Order Logic

Abstract: Abstract. We report on the design of a prototyping component for the theorem prover Isabelle/HOL. Specifications consisting of datatypes, recursive functions and inductive definitions are compiled into a functional program. Functions and inductively defined relations can be mixed. Inductive definitions must be such that they can be executed in Prolog style but requiring only matching rather than unification. This restriction is enforced by a mode analysis. Tail recursive partial functions can be defined and ex… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
41
0

Year Published

2003
2003
2013
2013

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 68 publications
(41 citation statements)
references
References 13 publications
(16 reference statements)
0
41
0
Order By: Relevance
“…8 These effective operations on Base allow us to reason in the programming language, where in the past we resorted to reflection in the logic [6].…”
Section: Canonical Form Testsmentioning
confidence: 99%
See 1 more Smart Citation
“…8 These effective operations on Base allow us to reason in the programming language, where in the past we resorted to reflection in the logic [6].…”
Section: Canonical Form Testsmentioning
confidence: 99%
“…An obvious question is then, could we build a verified compiler for Nuprl in Nuprl that generates reasonably fast code? Modern proof assistants that implement constructive type theories such as Coq [9,1], Isabelle [8,7], or Nuprl rely on unverified compilers. Even though the programs they generate, e.g., by extraction from proofs, are correct-by-construction, one could argue whether the machine code obtained after compilation is still correct.…”
Section: Introductionmentioning
confidence: 99%
“…We now describe our new translation from Minlog terms into Haskell programs (there is also limited support for translating into Scheme). Coq [17], Isabelle/HOL [5] and Agda [26] provide similar features.…”
Section: Translation To a General-purpose Programming Languagementioning
confidence: 99%
“…Several works have attempted to overcome this weakness of inductive relations by providing mechanisms that transform inductively defined relations in a proof assistant based on type theory into recursive programs in a typed functional language, see e.g. [5]. While such a translation allows users to specify and verify inductively defined functions, and to extract an executable program for computing the result of the functions, it forces computations to take place outside the proof assistant.…”
Section: Applications To Relationsmentioning
confidence: 99%