Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the state-of-art methods for solving functional equations?

Suppose that you want to find a λ-calculus program, T, that satisfies the following equations:

(T (λ f x . x))            = (λ a t . a)
(T (λ f x . (f x)))        = (λ a t . (t a))
(T (λ f x . (f (f x))))    = (λ a b t . (t a b))
(T (λ f x . (f (f (f x)))) = (λ a b c t . (t a b c))

On this case, I've manually found this solution:

T = (λ t . (t (λ b c d . (b (λ e . (c e d)))) (λ b . b) (λ b . b)))

Is there any strategy for solving such λ-calculus equations automatically? What is the state of art on that subject?

like image 871
MaiaVictor Avatar asked Sep 21 '15 04:09

MaiaVictor


People also ask

How do you identify functional equations?

Each functional equation provides some information about a function or about multiple functions. For example, f ( x ) − f ( y ) = x − y f(x)-f(y)=x-y f(x)−f(y)=x−y is a functional equation.

What are functional equations used for?

Functional equations are useful to understand the "symmetries" of a given function, pretty much as periodicity. For example, they may be used in the continuation of functions to the complex plane.

What is the meaning of functional equation?

In mathematics, a functional equation is, in the broadest meaning, an equation in which one or several functions appear as unknowns. So, differential equations and integral equations are functional equations.

Are functional equations hard?

All the functions that satisfy a particular functional equation are known as solutions to that functional equation. It is hard to find solutions to functional equations. That is because there can be multiple (weird) functions satisfying the given conditions.


1 Answers

I'm not sure about state of the art, but William E Byrd's work on relational interpreters (such as this paper) allows program synthesis of this kind.

Also see his PolyConf talk for some neat stuff on searching for program terms. Your examples seem like they would be fairly easy to express in that way.

like image 163
gsg Avatar answered Sep 23 '22 04:09

gsg