22,574 research outputs found
Applying G\"odel's Dialectica Interpretation to Obtain a Constructive Proof of Higman's Lemma
We use G\"odel's Dialectica interpretation to analyse Nash-Williams' elegant
but non-constructive "minimal bad sequence" proof of Higman's Lemma. The result
is a concise constructive proof of the lemma (for arbitrary decidable
well-quasi-orders) in which Nash-Williams' combinatorial idea is clearly
present, along with an explicit program for finding an embedded pair in
sequences of words.Comment: In Proceedings CL&C 2012, arXiv:1210.289
Functional programming with bananas, lenses, envelopes and barbed wire
We develop a calculus for lazy functional programming based on recursion operators associated with data type definitions. For these operators we derive various algebraic laws that are useful in deriving and manipulating programs. We shall show that all example functions in Bird and Wadler's Introduction to Functional Programming can be expressed using these operators
An inverse of the evaluation functional for typed Lambda-calculus
In any model of typed λ-calculus conianing some basic
arithmetic, a functional p - * (procedure—* expression)
will be defined which inverts the evaluation functional
for typed X-terms, Combined with the evaluation
functional, p-e yields an efficient normalization algorithm.
The method is extended to X-calculi with constants
and is used to normalize (the X-representations
of) natural deduction proofs of (higher order) arithmetic.
A consequence of theoretical interest is a strong
completeness theorem for βη-reduction, generalizing
results of Friedman [1] and Statman [31: If two Xterms
have the same value in some model containing
representations of the primitive recursive functions
(of level 1) then they are provably equal in the βη-
calculus
- …