2002
DOI: 10.1145/583852.581501
|View full text |Cite
|
Sign up to set email alerts
|

A compiled implementation of strong reduction

Abstract: Motivated by applications to proof assistants based on dependent types, we develop and prove correct a strong reducer and β-equivalence checker for the λ-calculus with products, sums, and guarded fixpoints. Our approach is based on compilation to the bytecode of an abstract machine performing weak reductions on non-closed terms, derived with minimal modifications from the ZAM machine used in the Objective Caml bytecode interpreter, and complemented by a recursive "read back" procedure. An implementation in the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
116
0
2

Year Published

2006
2006
2022
2022

Publication Types

Select...
9

Relationship

1
8

Authors

Journals

citations
Cited by 75 publications
(119 citation statements)
references
References 18 publications
1
116
0
2
Order By: Relevance
“…In the but last rule, we use the "monus" function on N where m − m = 0 if m ≥ m. Read-back is deterministic, so we introduce two partial functions by R nf m d = v iff m d v and R ne m e = n iff m ne e n. These correspond to the read-back function by Gregoire and Leroy [GL02] and own previous work [ACP09].…”
Section: Read-back (Aka Reification)mentioning
confidence: 99%
“…In the but last rule, we use the "monus" function on N where m − m = 0 if m ≥ m. Read-back is deterministic, so we introduce two partial functions by R nf m d = v iff m d v and R ne m e = n iff m ne e n. These correspond to the read-back function by Gregoire and Leroy [GL02] and own previous work [ACP09].…”
Section: Read-back (Aka Reification)mentioning
confidence: 99%
“…This leaves the freedom to implement values in different ways, e. g., β-normal forms, weak head normal forms (as in Pollack's constructive engine [Pol94]), closures (as in Coquand's type checker [Coq96]), tagged functions (Epigram 2 [CAM07]) or virtual machine instructions (compiled reduction in Coq [GL02]). All implementations of values that satisfy the interface given in the following can be used with our NbE algorithm, and in this article we provide a framework to prove all these implementations correct.…”
Section: Abstract Normalization By Evaluationmentioning
confidence: 99%
“…We provide some performance figures for the cvs version 8.0 of Coq with processor Intel Pentium 4 (3.60 GHz) and a RAM of 1Gb. Of course, this version of Coq uses the compilation scheme described in [7]. Figure 1 gives the time to build the certificates for the 100000 first primes, the size of the certificate and the time for the Coq system to check them.…”
Section: Performancesmentioning
confidence: 99%