Results 1 -
2 of
2
SYSTEMATIC SYNTHESIS OF λ-TERMS
"... Abstract. In this paper we show how to generate terms in the λ-calculus that match a given number of function argument result pairs. It appears that the number of λ-terms is too large to find terms reasonably fast based on the grammar of λ-calculus alone. By adding knowledge such as the desired numb ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. In this paper we show how to generate terms in the λ-calculus that match a given number of function argument result pairs. It appears that the number of λ-terms is too large to find terms reasonably fast based on the grammar of λ-calculus alone. By adding knowledge such as the desired number of arguments it is possible to synthesize λ-terms effectively for some interesting examples. This yields surprising terms that are unlikely to be found by a human. An interesting subproblem is the determination of suitability of candidate terms based on equivalence of terms. We used an approximation of equivalence by a finite number of reduction steps. This implies that the test for equivalence can also yield the value undefined. Fortunately the test system used is able to handle undefined test results. For Henk Barendregt on his sixtieth birthday 1.
Synthesis of Functions Using Generic Programming
"... Abstract. This paper describes a very flexible way to synthesize functions matching a given predicate. This can be used to find general recursive functions or λ-terms obeying an input–output behavior specified by a number of examples. Generating complex algorithms from just a small number of simple ..."
Abstract
- Add to MetaCart
Abstract. This paper describes a very flexible way to synthesize functions matching a given predicate. This can be used to find general recursive functions or λ-terms obeying an input–output behavior specified by a number of examples. Generating complex algorithms from just a small number of simple input-output pairs is the goal of inductive programming. This paper illustrates that our approach works well in some challenging examples. 1

