Busy Beaver for SKI calculus

From BusyBeaverWiki
Revision as of 13:21, 25 December 2025 by Polygon (talk | contribs) (used proper greater/equals sign)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Busy Beaver for SKI calculus (we will call it BBSKI for now) is a variation of the Busy Beaver problem for lambda calculus.

A SKI calculus program is a binary tree where the leaves are combinators, the three symbols S, K, I. Using parentheses to notate the tree, a simple example of a SKI program is (((SK)S)((KI)S)). We can omit parentheses by assuming they are left-binding by default, so we simplify our program to SKS(KIS).

Like lambda calculus, SKI calculus has a process called beta-reduction. We change the tree according to the leftmost combinator.

  • Ix -> I
  • Kxy -> Kx
  • Sxyz -> Sxz(yz)

Note that xyz represent any valid trees, not just single combinators.

We repeat this process and we say it terminates if the combinator cannot be beta-reduced.

Champions

n Value Champion Discoverered by
1 = 1 S ?
2 = 2 SS ?
3 = 3 SSS ?
4 = 4 SSSS ?
5 = 6 SSS(SS) ?
6 = 17 SSS(SI)S ?
7 ≥ 18 S(SSS(SI)S) ?
8 ≥ 19 SS(SSS(SI)S) ?
9 ≥ 519 SSI((S(SS)S)S)K ?
10 ≥ 1041 SSI((S(SS)S)S)KS ?

SK calculus

We can remove the I combinator and replace it by (SKS), (SKK) or any (SKx).

Champions

n Value Champion Discoverered by
1 = 1 S ?
2 = 2 SS ?
3 = 3 SSS ?
4 = 4 SSSS ?
5 = 6 SSS(SS) ?
6 ≥ 8 SSS(SSS) ?
7 ≥ 10 SSS(SSSS) ?
8 ≥ 23 SSS(S(SKS))S ?

See Also

Lower bounds of this function