-
Notifications
You must be signed in to change notification settings - Fork 0
Results and Findings
This page reports the concrete results of the normalization census of the closed untyped λ-calculus in the natural-size de Bruijn model. It is the empirical heart of the project. For the question being studied and why it matters, see The Research; for how the numbers are produced, see Engine and API; to download the raw tables, see Dataset; to re-run everything yourself, see Reproduce.
One honest sentence up front. Nothing here resolves the open Barendregt–Geuvers–Klop (BGK) conjecture — does weak normalization (WN) imply strong normalization (SN) in pure type systems? It remains open (TLCA problem #9). What we contribute is open data: an exact-then-sampled classification of closed λ-terms that pins down the smallest counterexample-shaped term (a "separator"), charts how separator and undecidable mass grow with size, and shows how this all sits between two opposed published theorems.
Throughout, we mark [PROVEN] for cited theorems and [EMPIRICAL] for our own measurements.
Closed untyped λ-terms in de Bruijn notation, natural size: every constructor costs 1, so de Bruijn index
[EMPIRICAL] Sanity check passed. Our independent count of closed terms by natural size is term-for-term identical to OEIS A275057 (Lescanne, 2016):
0, 1, 1, 3, 6, 17, 41, 116, 313, 895, 2550, 7450, 21881, 65168, 195370, 591007, ...
This is the standard model, not a private variant — which is what makes the size constants below comparable to the literature.
Each closed term is sorted into one of four classes:
| Class | Meaning |
|---|---|
| SN | strongly normalizing (every reduction path terminates) |
| SEP | a separator: weakly normalizing but not strongly (WN ∧ ¬SN) |
| NWN | not even weakly normalizing (no normal form exists) |
| UND | undecided within the engine's bounds (node_cap = 3000, size_cap = 200) |
Separators (SEP) are the interesting class: they are exactly the untyped analogue of a BGK-style counterexample — a term where some strategy halts but another loops forever.
[EMPIRICAL] Headline result. The smallest closed WN-but-not-SN term has natural size 13. The witness recorded in the dataset is:
Why it is a separator:
- It is WN: the outer redex applies an erasing function
$\lambda a.\lambda b.b$ (it ignores its first argument) to$\Omega$ . Contracting that redex discards$\Omega$ entirely and leaves the normal form$\lambda b.b$ . So a normal form is reachable. - It is not SN: if instead you keep reducing inside the argument,
$\Omega = (\lambda x.x,x)(\lambda x.x,x)$ loops forever. An infinite reduction path exists.
The size decomposes cleanly:
For comparison, the smallest closed non-WN term is
Why this is the crux of the whole project. The separator is born from erasure. The function throws its argument away, so WN succeeds by avoiding the looping subterm while SN fails because the subterm is still there to loop. This is precisely the mechanism the conservation theory identifies as the obstruction to "WN ⟹ SN": in the erasure-free λI-calculus, WN ⟺ SN [PROVEN] (Church 1941; Barendregt Thm 9.1.5), and our BGK Lab finds 0 separators in 3.13M λI terms [EMPIRICAL]. Allow erasure (λK) and separators appear. Size 13 is the smallest place that mechanism can fit inside a closed term.
This size-13 constant appears to be undocumented in the prior literature. If you have a citation that predates it, please open an issue — see Contributing and Experiments.
Note on conventions: the BGK Lab's separate λK experiment reports a separator onset at size 12 under its own ad-hoc term enumeration. That is a different size convention from the census's closed-de-Bruijn natural size (13). Both are reported; they are not in conflict — they count different things.
Method: exact, exhaustive enumeration for
[EMPIRICAL] Compact results table (selected sizes; full data in the Dataset):
| n | method | total / K | SN | SEP | NWN | UND | SN / decided | SEP / decided | undecided frac |
|---|---|---|---|---|---|---|---|---|---|
| 8 | exact | 116 | 116 | 0 | 0 | 0 | 1.00000 | 0 | 0 |
| 9 | exact | 313 | 312 | 0 | 1 | 0 | 0.99681 | 0 | 0 |
| 12 | exact | 7,450 | 7,425 | 0 | 19 | 6 | 0.99745 | 0 | 0.00081 |
| 13 | exact | 21,881 | 21,803 | 3 | 51 | 24 | 0.99753 | 0.000137 | 0.00110 |
| 14 | exact | 65,168 | 64,930 | 7 | 137 | 94 | 0.99779 | 0.000108 | 0.00144 |
| 16 | exact | 591,007 | 587,927 | 146 | 1,630 | 1,304 | 0.99699 | 0.000248 | 0.00221 |
| 22 | MC 50k | — | 49,501 | 31 | 197 | 271 | 0.99541 | 0.000623 | 0.00542 |
| 28 | MC 50k | — | 49,195 | 52 | 196 | 557 | 0.99498 | 0.001052 | 0.01114 |
| 38 | MC 50k | — | 48,242 | 98 | 227 | 1,433 | 0.99331 | 0.002018 | 0.02866 |
| 45 | MC 50k | — | 47,127 | 170 | 223 | 2,480 | 0.99173 | 0.003577 | 0.04960 |
| 55 | MC 50k | — | 44,739 | 197 | 224 | 4,840 | 0.99068 | 0.004362 | 0.09680 |
Three clear trends as
-
First appearances. The first non-WN term is
$\Omega$ at$n=9$ . The first separator is at$n=13$ — exactly the boundary analyzed above. -
Separator density rises monotonically. As a fraction of decided terms it climbs from ≈0.014% at
$n=13$ to ≈0.44% at$n=55$ — roughly a 30× increase. Separators are rare but become steadily less rare. -
The undecided fraction climbs steeply. From 0 (small
$n$ ) to ~2.9% at$n=38$ to ~9.7% at$n=55$ . The hard terms are taking over.
Monte-Carlo points carry sampling error; the dataset includes Wilson 95% confidence intervals. For example, at
Our decided-SN fraction sits stubbornly above 99% even at
-
[PROVEN] SN-density → 0 in exactly our model. Bendkowski–Grygiel–Lescanne–Zaionc (2017, Cor. 4): asymptotically almost every λ-term in the natural-size model is neither strongly normalizing, nor typeable, nor in normal form. Intuitively, deep de Bruijn indices are expensive in this model, so variables localize near their binders and looping subterms like
$\Omega$ saturate almost all large terms. - [PROVEN] SN-density → 1 in a different model. David–Grygiel–Kozik–Raffalli–Theyssier–Zaionc (2013, LMCS 9(1):2): in the unary-binary-tree model where variables cost 0, asymptotically almost all λ-terms are strongly normalizing. With free variables, a variable can sit arbitrarily far from its binder, forcing head-normal/SN shapes.
The size convention controls the answer. Our census lives squarely in the A275057 (natural-size) regime, so the proven asymptote that applies to us is SN-density → 0.
[OPEN] Crucially, neither paper computes the asymptotic density of WN, nor the size of the WN ∖ SN separator gap. That asymptotic separator density is genuinely uncomputed — and it is the quantity our small-$n$ data is the first to tabulate.
How do we reconcile proven SN-density → 0 with our measured decided-SN ≥ 99%? Honestly, and it is itself a finding.
[EMPIRICAL] The resolution. SN-ness is undecidable; our bounded engine can only resolve the easy terms — which at these sizes are overwhelmingly SN. The non-SN mass that the theorem guarantees is hiding in the growing undecided tail. Our data shows that tail expanding monotonically (Section 3: 0 → ~9.7% by
We call this the decidability horizon: the boundary, moving outward with
[EMPIRICAL] A vivid accidental demonstration. The Monte-Carlo run itself became intractable at
A genuine engine subtlety underlies all of this, and we fixed a real bug around it: a node whose reducts were all dropped by the size cap is not a normal form. Counting such a capped node as a normal form would falsely flag a term as WN. The engine treats capped-out nodes as UND, not as evidence of WN. See Engine and API for the analysis routine.
To keep the honest line clear:
[PROVEN] (cited):
- WN ⟺ SN in the erasure-free λI-calculus (Church 1941; Barendregt Thm 9.1.5).
- Klop's ι-translation transports erasing λK terms into the non-erasing λI[,] memory calculus.
- SN-density → 0 in the natural-size model (Bendkowski–Grygiel–Lescanne–Zaionc 2017, Cor. 4).
- SN-density → 1 in the variables-cost-0 model (David et al. 2013).
[EMPIRICAL] (computed here):
- Closed-term counts = OEIS A275057 (validated term-for-term).
- Smallest closed non-WN term =
$\Omega$ at natural size 9. - Smallest closed separator (WN ∖ SN) at natural size 13, witness
$(\lambda a.\lambda b.b),\Omega$ . - Separator density rising (~0.014% → ~0.44% of decided,
$n=13 \to 55$ ); decided-SN ≥ 99% throughout; undecided fraction 0 → ~9.7%. - The decidability horizon, including the
$n=70$ intractability wall.
[OPEN] (not settled by anyone):
- The BGK conjecture itself (WN ⟹ SN in pure type systems).
- The asymptotic density of WN, and of the WN ∖ SN gap, in the natural-size model.
- The growth rate of the smallest separator under typed restrictions or richer term families, and whether the separator-density curve has a closed form.
- Reproduce these numbers → Reproduce (pure Python 3.9+, stdlib only, no dependencies).
- Download the tables (CSV/JSON, with Wilson CIs and the separator witness) → Dataset.
- Understand the engine that decides SN/WN/NWN → Engine and API.
-
Run a new experiment or extend the census (e.g. typed restrictions, larger
$K$ , alternative size conventions) → Contributing and Experiments. - Background and motivation → The Research · Quick orientation → Home · Common questions → FAQ.
Contributions are very welcome — corrections, citations that predate our constants, and new experiments especially. Code is MIT, data and docs are CC BY 4.0. Contact: cabotage@pm.me. Newsletter and cross-project info: crabcc.app/about. Support the work: github.com/sponsors/peterlodri-sec.