    # On (weak) fpc generators

Corrado Böhm once observed that if Y is any fixed point combinator (fpc), then Y(λ yx.x(yx)) is again fpc. He thus discovered the first "fpc generating scheme" -- a generic way to build new fpcs from old. Continuing this idea, define an fpc generator to be any sequence of terms G_1,...,G_n such that Y is fpc YG_1... G_n is fpc In this contribution, we take first steps in studying the structure of (weak) fpc generators. We isolate several classes of such generators, and examine elementary properties like injectivity and constancy. We provide sufficient conditions for existence of fixed points of a given generator (G_1,..,G_n): an fpc Y such that Y = YG_1... G_n. We conjecture that weak constancy is a necessary condition for existence of such (higher-order) fixed points. This generalizes Statman's conjecture on the non-existence of "double fpcs": fixed points of the generator (G) = (λ yx.x(yx)) discovered by Böhm.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1. Introduction

Fixed point combinators (fpcs) are a fascinating class of lambda terms. Arising in the proof of the Fixed Point Theorem, their dynamical character affects the global structure of the Lambda Calculus in a fundamental way. Being a mechanism of unrestricted recursion, they are directly responsible for the Turing-completeness of the lambda calculus as a programming language.111 In fact, from the historical point of view, it is the apparent possibility to encode computational processess of unlimited complexity in the lambda calculus that originally led Church to formulate his thesis, and thus to the concept of Turing-completeness. And when lambda terms are used as the computational basis of a logical system — whether based on the Curry–Howard isomorphism or illative combinatory logic — fixed point combinators appear unexpectedly as the (untyped) skeletons of paradoxes, heralding inconsistency of the supervenient logic.      

It is an elementary fact that a term is a fixed point combinator if and only if is itself a fixed point of the combinator . This can even be taken as the definition of fpcs: is fpc iff . Corrado Böhm noticed that also is fpc whenever is. For example, if is Curry’s fpc, then is Turing’s fpc. A major open problem in the Lambda Calculus asks whether there exists a “double fpc” satisfying . Statman  conjectures that no such exists.222 An early attack on this problem was undertaken by Intrigila . Unfortunately, Endrullis discovered a gap in the argument which seems difficult to overcome. For recent developments, see , .

Böhm’s observations revealed that fpcs themselves have compositional structure, where one constructs new fpcs from old by applying them to . Since then, other “fpc generating schemes” have been discovered and investigated by several authors.   These contributions have confirmed that fpcs have a rich mathematical structure indeed.

In this note, we will explore such fpc generators “in the abstract”, studying their general properties and providing a basic taxonomy. We formulate several new problems, including a vast generalization of Statman’s conjecture.

## 2. Notations and definitions

We assume the reader is familiar with the basic notions of lambda calculus: -terms, free variables, substitution, and beta-conversion. We refer to  for background on these matters. Here we shall employ the following symbols and notions.

• is the set of -terms. is the set of closed -terms.

• is the set of free variables of .

• is the result of capture-avoiding substitution of for in .

• If is a sequence of -terms, then .

• , with s.

• , , , .

• denotes beta conversion between and .

• denotes beta reduction from to .

• is solvable, if for some . Otherwise, is unsolvable.

• if and have the same Böhm tree. This relation is defined using one axiom and one inference rule, which is to be understood coinductively (see [10, 6]):

 \AXCM,N→Munsolvable\UICM=∞N\DisplayProof\AXCM=λ→x.y→MN=λ→x.y→N\AXCM1=∞N1⋯Mk=∞Nk\doubleLine\BICM=∞N\DisplayProof
• means . For , means for each .

• if there exists such that . if for all .

• if there exists such that . Otherwise, .

is a fixed point combinator (fpc) if for .

is a weak fixed point combinator (wfpc) if for .

Notice that every fpc is a wfpc.

All (w)fpcs have the same Böhm tree, so is wfpc iff for some fpc .

An wfpc can equivalently be given by a sequence of terms with and , with . [11, Prop. 2.9]

We write () for the set of fpcs (weak fpcs).

An

fpc generating vector

, or fgv, is a sequence of terms satisfying

 Y∈FPC⟹Y→G∈FPC

A weak fpc generating vector, or wfgv, is a sequence of terms satisfying

 Y∈WFPC⟹Y→G∈WFPC

TFAE:
is wfgv.
.
for some .

###### Proof.

. Let be wfgv, be fpc. Then is wfpc, and is wfpc.

. Trivial.

. Let be wfpc. Then . Also is wfpc. ∎

Every fpc generator is wfpc generator.

###### Proof.

Let be fpc generator. Pick . Then is fpc, hence is wfgv. ∎

Consider the following conditions on .

 (i)Yj fpc ⟹Y→G fpc (ii)Ywfpc ⟹Y→Gwfpc (iii)Yj fpc ⟹Y→Gwfpc% (iv)Ywfpc ⟹Y→G fpc

The following relations are valid:

 (iv)⟹(i)⟹(ii)⟺(iii)
###### Proof.

These relations simply summarize the facts noted above. ∎

## 3. Examples and first observations

• Turing’s fpc. Let , where .
Then .

• Parametrized Turing’s fpc. For , let , where . Then .

• Let be a variable. Put , where .
Then

.

###### Proof.

This is manifest upon inspecting the reduction graph of — the set of reducts of . For a precise proof, see [11, Lemma 3.1].   ∎

• Let , the empty vector. Obviously, .
We call this generator trivial. In subsequent sections, we will tacitly assume all generators to be non-trivial.

• Fix a (w)fpc , and let . Then yields the same (w)fpc on every input:

 Y∈WFPC⟹Y(KY0)=KY0(Y′(KY0))=Y0∈(W)FPC

We call such generators constant. They are not very interesting either.

• Recall that . It is easy to verify the following:

• .

• If is fpc, then .

• If is wfpc, then .

Let . Then .
It is an open problem whether there exists such that .

• Let . Then

 Y∈FPC⟹Y→G=Y(λy.Θy)=(λy.Θy)(Y(λy.Θy))=ΘY→G∈FPC

Furthermore, there exists fpc such that .
Indeed, take . Then , and

 Y(λy.Θy)=(λy.Θy)(Y(λy.Θy))=ΘY(λy.Θy)=Y
• The set of (w)fgvs is closed under composition: if and are fgvs, then

 Y∈FPC⟹Y→G∈FPC⟹Y→G→G′∈FPC

Thus, and are both fgvs.

• Many other examples of fpcs and fgvs can be found in  and .

A (w)fgv is injective if for all (w)fpcs , implies .

No non-trivial (w)fgv is injective.

###### Proof.

Suppose , for , is injective.

Since is wfpc, must be solvable.

That is, for some closed . Define fpcs by

 Yx =Θx→Px Y′x =Θx→PIx

By Proposition 3, . Yet

 Y→G=ΘG0→PG0→G=ΘIG0→G=ΘG0→PIG0→G=Y′→G

Thus, is not injective. ∎

(Notice that and are closed, so even restricting to closed terms, no non-trivial wfpc generator is injective.)

Suppose wfgv fixes every fpc: for all fpc . Then is trivial.

An interesting consequence of these observations is that there is no uniform way to “Böhm out” an inner level of a wfpc.

For , it is not possible to find terms such that

 Z=(Z0,Z1,…) wfpc⟹Z0→M=Zm+1 (1)
###### Proof.

Suppose such exists.

Then is a wfgv.

For every fpc , we have , so every fpc is fixed by .

(In particular, is a fgv.)

By Corollary 3, is trivial: .

But then fixes every wfpc as well, and thus cannot satisfy the hypothesis in (1). ∎

## 4. Constant and compact generators

For the next definition, note that for every (w)fpc and , there exists with

 ∀→G.Y→G=Gk0(Y′G0)G1⋯Gn=δk(Y′)→G

Let be a (w)fgv. Fix .

• is constant if there is a such that .

• is weakly constant if there is a s.t. .

• is compact if there is a such that .

• is weakly compact if there is a s.t. .

The least satisfying one of these conditions is then called the modulus of constancy, or modulus of compactness, accordingly.

From now on, let be a possibly weak fgv. We will omit freshness conditions , etc., as they will always be obvious from the context. Let be constant. There is a term such that

 Y→G=Z

for all wfpc . Hence is (w)fpc.

###### Proof.

Let be constant, and let be such that .

That is, for some convertible to .

Then for any wfpc , we have

 Y→G=Y0→G =Y0G0⋯Gn =G0(Y1G0)G1⋯Gn =⋮ =Gk0(YkG0)G1⋯Gn =Gk0(z)G1⋯Gn[YkG0/z] =Z[YkG0/z] =Z\qed

The following observations are immediate.

1. Every constant fgv is compact.

2. Every constant (w)fgv is weakly constant.

3. Every compact (w)fgv is weakly compact.

is weakly constant iff is weakly compact.

###### Proof.

Let be a wfgv. Then

 z∉∞Gk0(z)G1⋯Gn ⟹Gk0(z)G1⋯Gn=∞Gk0(ΘG0)G1⋯Gn=Θ→G∈WFPC Gk0(z)G1⋯Gn∈WFPC ⟹Gk0(z)G1⋯Gn=∞Θ⟹z∉∞Gk0(z)G1⋯Gn\qed

Every (weakly) compact generator has a fixed point:

1. If is compact fgv, there exists fpc with .

2. If is weakly compact wfgv, there exists wfpc with .

###### Proof.

The construction is the same for both claims. We will first treat the weak case, and then specialize the proof to the first claim as well.

Let be be a weakly compact wfgv.

Let be the modulus of weak compactness, so that .

Put . Since is wfpc, write

 F0[z]x=x(F1[x]z)=x2(F2[z]x)=⋯=xk(Fk[z]x)=⋯ (2)

Define , and . Now compute

 X→G =XG0⋯Gn =F0[YG0]G0⋯Gn by definition of X =Gk0(Fk[YG0]G0)G1⋯Gn by (???) with\ \ [x:=G0,z:=YG0] =Gk0(YG0)G1⋯Gn by definition of Y =F0[YG0] by definition of F0 =X

Since is wfpc, so is , proving the second claim.

Now suppose that was actually compact fgv. Then would be fpc, while all of the steps above would remain valid, with for each .

Then would be fpc as well, proving the first claim. ∎

We believe the converse to the second statement in Proposition 4 holds as well. If there is wfpc such that then is weakly constant.

###### Intuition..

If is not weakly constant, it must bring back to the stem of the constructed wfpc Böhm tree infinitely often. But would be slower to normalize at any node than would on its own, so any conversion between and must happen after all such nodes have been fully developed. (See  for an exploration of this idea.) ∎

The converse to the first statement in Proposition 4 is consistent with known information, and we find it plausible. However, at the time of this writing, we do not yet have any compelling reasons to believe it, so we do not assert it as a formal conjecture.

Conjecture 4 is a vast generalization of Statman’s conjecture on non-existence of “double fpcs” satisfying .

Indeed, since , clearly for all . Thus, the fgv is not weakly compact. By Conjecture 4, has no fixed point.

## 5. Rectifying generators

A vector is rectifying if it satisfies condition of Proposition 2:

 Y∈WFPC⟹Y→G∈FPC

is rectifying:

 Y∈WFPC⟹Y(λy.Θy)=(λy.Θy)(Y′(λy.Θy))=ΘY′(λy.Θy)∈FPC

In Example 3, we saw that has a fpc fixed point. We shall presently see that so does every rectifying fgv.

Our original proof of this fact first showed that if is rectifying, then is weakly constant, and thus has a wfpc fixed point . But then because is rectifying, hence is fpc.

Considering that compactness provides another sufficient condition for existence of fpc fixed points, it was natural to wonder whether rectifying and compact fgvs are related. This led us to the following result.

A fgv is compact iff it is rectifying.

###### Proof.

Suppose . Then

 Y=(Y0,Y1,…)∈WFPC ⟹ Y→G=Y0G0⋯Gn=Gk0(YkG0)G1⋯Gn=Gk0(z)G1⋯Gn[z:=YkG0]∈FPC

The intuition for this direction is that, although the Böhm tree of a wfpc is infinite, only a finite part of it can be used in any conversion . Thus writing for large enough will ensure that is not touched by any redex contractions. Then the whole conversion could be lifted to , where .

To formalize this intuition, suppose is rectifying.

Fix . Define

 Wx,p =λv.x(v(cp)v) Vx =λp.Wx,p Υ =λx.VxIVx

That is, . Note that and are normal forms.

Let . The term reduces as follows:

 Υx→Υ0x≡VxIVx →Wx,IVx→x(Vx(cI)Vx)≡x(Υ1x) →x(Wx,cIVx)→x(x(Vxc2(I)Vx))≡x2(Υ2x) →⋯ →xk(Υkx) →⋯

Since each term appearing in the above reduction sequence has a unique redex, the reduction is completely deterministic. That is — the above sequence actually comprises the entire reduction graph of .

The sequence also shows that is a wfpc.

It is not a fpc however, since obviously has no reducts in common with .

But is rectifying, so is fpc.

By the Church–Rosser theorem, let be a common reduct

 Υ→Gx↠X↞x(Υ→Gx) (3)

We will use these reductions to show that for large enough .

We proceed with the following sequence of claims, which are hopefully sufficiently clear not to warrant additional elaboration.

1. If , then , with , , and every occurrence of in being displayed in the subterm in one of the holes in .

2. If , then , with and every occurrence of being uniquely determined by its occurrence in some .

This is obtained from above by finding a common reduct for each ,.

3. If , then , with the same conditions on and occurrences of as in the previous point.

4. If , then , where and each occurrence of being uniquely determined by its occurrence in some .

This is obtained from the previous claim by “bumping all s along” to stage , and letting be a common reduct of all the s.

5. If the reduction is obtained by the algorithm given in the previous steps, then lifts to , where

 σ:C[δk(u)M]↠C′[uN,⋯,uN]

And now we are done! The common reductions in (3) can be continued to

 Υ→Gx↠C′[ΥkN,⋯,ΥkN]↞x(Υ→Gx)

such that, for both reductions, all of the descendants of are displayed in the context. (This follows from the fact that every occurrence of is witnessed in some , and was chosen to be fresh. The variable acts as a “label” for the unfolding depth of .)

The conclusion of the last step therefore holds for both of these reductions, so

 C[δk(u)M]:=[δk(u)G0]G1⋯Gn↠C′[uN,…,uN]↞x(δk(u)G0⋯Gn)

That is, . Since is free, so is . ∎

Every rectifying fgv has a fixed point in fpcs.

The proof of the nontrivial direction of Theorem 5 suggests a deeper connection between uniform properties (finite conversions) and terms obeying a coinductive pattern (such as wfpcs). While we were not able to isolate the general “continuity principle” that seems to be at work here, we will see a different application of the same argument in the next section.

We finish this section with an example of a weakly constant fgv which is not rectifying. It follows that compactness is indeed stronger than weak compactness.

There exist weakly constant fpc generators which are not rectifying.

###### Proof.

Consider the following combinators:

 Pxy =yx Qyz =z(yQz) Wwpz =z(ww(zp)z) Ryz =WW(yQz)z

First we observe that is an fgv: for fpc, we have

 YPQx=P(YP)Qx=Q(YP)x=x(YPQx) (4)

We claim that is not rectifying.

If it did, then by the previous theorem, it would be compact, hence weakly compact, hence weakly constant.

Which it’s not. (Inspection.)

Next, we verify that is again fgv:

 YPRx=P(YP)Rx=R(YP)x =WW(YPQx)x =x(WW(x(YPQx))x) x(WW(YPQx)x) =x(YPRx)

At the same time, we see that :

 P1(z)Rx=PzRx=Rzx =WW(zQx)x =x(WW(⋯)x) =x2(WW(⋯)x) =⋯ =xn(⋯)

The variable is being pushed to infinity, and does not appear on the Böhm tree of — nor on the Böhm tree of .

Thus is weakly constant. We claim it is not rectifying.

For a wfpc , the term reduces as follows:

 ZPRx ↠P(ZP)Rx →2R(ZP)x →2WW(ZPQx)x →3x(WW(x(ZPQx))x) →3x2(WW(x2(ZPQx))x) →⋮ ZPRx ↠z0+2+2+3nxn(WW(xn(ZPQx))x)

From this analysis, it is manifest that any common reduction

 ZPRx  ↠  ⋅  ↞  x(ZPRx)

must contain a common reduction between

 xn(ZPQx)  ↠  ⋅  ↞  xn+1(ZPQx)

As we observed earlier, is not rectifying, so there exist wfpcs for which such conversion is not possible.

Thus is not rectifying either. ∎

By changing the term slightly, we can get a non-rectifying weakly constant fpc generator with an arbitrary modulus of constancy. This is achieved by passing the argument of the generator into the head position times before pushing it to infinity.

## 6. The monoid of wfgvs

The wfpc and fpc generators have an obvious monoid structure:

 (G1,…,Gn)⊙(G′1,…,G′m):=(G1,…,Gn,G′1,…,G′m)

The identity is the trivial generator .

The concatenation operation is associative, and satisfies the identity laws.

We thus have a monoid of wfgvs, containing fgvs as a submonoid.

Since there are infinitely many constant (w)fgvs of arbitrary complexity, neither of the monoids is finitely generated.

A two-sided ideal in a monoid is a set such that

 i∈I,m∈M⟹i⋅m∈I,m⋅i∈I
1. The constant wfgvs form a two-sided ideal in .

2. The weakly constant wfgvs form a two-sided ideal in .

3. The compact fgvs form a two-sided ideal in the submonoid of fgvs.

###### Proof.
1. This point is rather obvious.

2. Let be weakly constant with modulus : .

Let be arbitrary.

Since cannot be Böhmed out, clearly

 z∉∞Gk0(z)G1⋯GnG′1⋯G′m

— and is weakly constant.

On the other hand, we know that maps wfpcs to themselves:

 (λy.y→G′):WFPC→WFPC

All wfpcs have the same Böhm tree, and in the tree topology, its neighborhood basis consists of the set .

By Continuity Theorem (Barendregt 1984, 14.3.22), there exists a such that

 (λy.y→G′)(λx.xk0(Ω)) =xk(Z)

Hence, has the full Böhm tree of a weak fpc.

So is weakly constant with modulus .

3. It is immediate that the rectifying fgvs form a two-sided ideal. By Theorem 5, so do the compact ones. ∎

### Extensional equality

Since the primary interest in (w)fgvs is in their ability to generate new (w)fpcs from old, it is natural to identify generators having the same functional behavior.

We say a fgv or wfgv is extensionally equal to , written , if for every fpc , .

• If is a constant generator, say, for all , then :

 Y(KZ)=KZ(Y′(KZ))=Z=Y→G
• Recall the combinator .

Let .

Then , and are fgvs, and :

 Y∈FPC⟹YGK =G(YG)K=K(YG(CK))(δ(YG(CK))) =YG(CK)=G(YG)(CK)=(CK)(YG(CK))(δ(YG(CK))) =δ(YG(C(CK)))=δ(YGK)∈FPC

The reason that in the definition of the quantifier ranges over fpcs both in the case of fgvs as well as wfgvs is that, when the quantifier is taken over all wfpcs, it makes the resulting notion of equality much more restrictive. (The following proposition will demonstrate this fact rather concretely.)

Since we obviously want equal fgvs to remain equal as wfgvs, the definition of extensional equality is expressed in terms of behavior on fpcs.

If for every wfpc , then for some ,

###### Proof.

This statement follows by the same reasoning as used in Theorem 5.

Take , and let be the canonical wfpc defined there with a deterministic reduction graph that uses the variable to track its unfolding history.

The argument subsequently showed how every conversion can be extended through , such that , with and every occurrence of in to be found among the displayed . We could then conclude that the common reduction may be lifted to a finite truncation of .

In the present case, our starting conversion has the form

 C[ΥG0]=[ΥG0]G1⋯Gn=[ΥG′0]G′1⋯G′n′=C′[ΥG′0] (5)

We should thus argue why .

Let be a reduct of . By recalling the reduction graph of , it is evident that every innermost occurrence of in is applied to a reduct of .

If is also a reduct of , then the same conclusion will hold, with in place of . Thus, the very fact of occurrence of in forces and to be convertible.

Of course, if does not occur in at all, that only means that all descendants of have already been erased, in which case we have nothing left to prove.

So . We can thus adjust conversion in (5) to

 C[ΥG0]≡[ΥG0]G1⋯Gn=[ΥG0]G′1⋯G′n′≡C′[ΥG0]=C′[ΥG′0]

where the conversion on the right takes place inside the subterm immediately to the right of .

Now we extend the other conversion to a common reduct

 [ΥG0]G1⋯Gn↠D[ΥkN,⋯,ΥkN]↞[ΥG0]G′1⋯G′n′

and proceed to lift these reductions to

 [δk(u)G0]G1⋯Gn↠D[uN,…,uN]↞[δk(u)G0]G′1⋯G′n′

Converting in the right term to , we obtain the desired result. ∎

From now on, we will consider the monoid up to extensional equality.

We will also write concatenation of vectors by juxtaposition: .

### Green’s relations

For , put

 \mathpzcL(→G) ={→H→G∣→H∈G} \mathpzcR(→G) ={→G→H∣→H∈G} →G≼\mathpzcL→G′ ⟺\mathpzcL(→G)⊆\mathpzcL(→G′) →G≼\mathpzcR→G′ ⟺\mathpzcR(→G