Bekić's theorem

From testwiki
Jump to navigation Jump to search

Template:Short description In computability theory, Bekić's theorem or Bekić's lemma is a theorem about fixed-points which allows splitting a mutual recursion into recursions on one variable at a time.[1][2][3] It was created by Austrian Hans Bekić (1936-1982) in 1969,[4] and published posthumously in a book by Cliff Jones in 1984.[5]

The theorem is set up as follows.[1][4] Consider two operators f:P×QP and g:P×QQ on pointed directed-complete partial orders P and Q, continuous in each component. Then define the operator (f,g)(x,y)=(f(x,y),g(x,y)). This is monotone with respect to the product order (componentwise order). By the Kleene fixed-point theorem, it has a least fixed point μ(x,y).(f,g)(x,y), a pair (x0,y0) in P×Q such that f(x0,y0)=x0 and g(x0,y0)=y0.

Bekić's theorem (called the "bisection lemma" in his notes)[4] is that the simultaneous least fixed point μ(x,y).(f,g)(x,y)=(x0,y0) can be separated into a series of least fixed points on P and Q, in particular:

x0=μx.f(x,μy.g(x,y))y0=μy.g(x0,y)

In this presentation y0 is defined in terms of x0. It can instead be defined in a symmetric presentation:[1][6][7]

x0=μx.f(x,μy.g(x,y))y0=μy.g(μx.f(x,y),y)

Proof (Bekić):

y0=g(x0,y0) since it is the fixed point. Similarly x0=f(x0,μy.g(x0,y))=f(x0,y0). Hence (x0,y0) is a fixed point of (f,g). Conversely, if there is a pre-fixed point (x1,y1) with (x1,y1)(f(x1,y1),g(x1,y1)), then x1f(x1,μy.g(x1,y))x0 and y1μy.g(x1,y)μy.g(x0,y)=y0; hence (x1,y1)(x0,y0) and (x0,y0) is the minimal fixed point.

Variants

In a complete lattice

A variant of the theorem strengthens the conditions on P and Q to be that they are complete lattices, and finds the least fixed point using the Knaster–Tarski theorem. The requirement for continuity of f and g can then be weakened to only requiring them to be monotonic functions.[1][3]

Categorical formulation

Bekić's lemma has been generalized to fix-points of endofunctors of categories (initial F-algebras).[8]

Given two functors F:𝐂×𝐃𝐂 and G:𝐂×𝐃𝐃 such that all μX.F(X,Y) and μY.G(X,Y) exist, the fix-point μX,Y.F(X,Y),G(X,Y) is carried by the pair:

X0=μX.F(X,μY.G(X,Y))Y0=μY.G(X0,Y)

Usage

Bekić's theorem can be applied repeatedly to find the least fixed point of a tuple in terms of least fixed points of single variables. Although the resulting expression might become rather complex, it can be easier to reason about fixed points of single variables when designing an automated theorem prover.[9]

References

Template:Reflist