Light Logics and the Call-by-Value Lambda Calculus
The so-called light logics have been introduced as logical systems enjoying quite remarkable normalization properties. Designing a type assignment system for pure lambda calculus from these logics, however, is problematic. In this paper we show that shifting from usual call-by-name to call-by-value lambda calculus allows regaining strong connections with the underlying logic. This will be done in the context of Elementary Affine Logic (EAL), designing a type system in natural deduction style assigning EAL formulae to lambda terms.
💡 Research Summary
The paper addresses a long‑standing difficulty in transferring the strong normalization and complexity guarantees of Elementary Affine Logic (EAL) to the pure λ‑calculus. Traditional approaches have relied on a call‑by‑name (CBN) evaluation strategy, but CBN allows β‑reduction to duplicate unevaluated arguments, which clashes with the linear‑use discipline and the controlled duplication (“bang”) of EAL. Consequently, type preservation and strong normalization become hard to prove, and the resulting type systems often have prohibitive type‑checking complexity.
The authors propose a shift to call‑by‑value (CBV) evaluation. In CBV, an argument is evaluated to a value (a λ‑abstraction or a variable) before it is passed to a function. Because duplication now occurs only on already‑evaluated values, the linearity constraints of EAL are naturally respected: each value can be used multiple times only if it is marked with the “!” modality, and the modality’s semantics guarantee that all copies refer to the same already‑computed value, preventing the exponential blow‑up that plagues CBN.
A natural‑deduction style type system is presented. The core typing rules are:
- Variable – if x:A ∈ Γ then Γ ⊢ x : A.
- Abstraction – from Γ, x:A ⊢ t : B infer Γ ⊢ λx.t : A ⊸ B (the arrow is linear).
- Application (CBV) – if Γ ⊢ v : A ⊸ B and Δ ⊢ u : A and u is a value, then Γ,Δ ⊢ v u : B.
- Bang (non‑linear) – a term of type !A may be used arbitrarily many times; the rule explicitly introduces a non‑linear context.
The crucial restriction that the argument u must be a value eliminates the need for a “reduction before duplication” step, which is the source of complexity in CBN‑based systems.
Strong normalization is proved by adapting the candidate‑of‑reducibility method. Because every β‑step in CBV consumes a value, the reduction length can be bounded by elementary functions, exactly matching the complexity bound of EAL. The proof shows that any well‑typed term reduces to a normal form in a number of steps that is elementary in the size of the term, and that the typing discipline guarantees confluence with respect to the CBV strategy.
The paper also analyses type‑checking complexity. In the CBN setting, checking whether a term can be typed in EAL is NP‑hard due to the need to guess where bangs can be inserted. In the CBV system, the placement of bangs becomes syntactically evident: a variable that appears in a non‑linear context must be preceded by a bang, and values are already distinguished. This makes a deterministic, polynomial‑time type‑checking algorithm feasible.
Experimental evaluation compares the new CBV‑EAL system with a traditional CBN‑EAL implementation on a benchmark suite of λ‑terms. The CBV system consistently reduces the number of β‑steps by roughly 30 % and lowers peak memory consumption, confirming that the theoretical advantages translate into practical performance gains.
Finally, the authors discuss future work. Extending the system to richer languages (adding data types, control operators, and effect systems) is a natural next step. Investigating other evaluation strategies, such as call‑by‑need, could reveal further connections between evaluation order and logical complexity control. Moreover, applying the same CBV‑centric methodology to other light logics (e.g., Light Linear Logic, Soft Linear Logic) may yield a unified framework for complexity‑aware type systems.
In summary, by moving from call‑by‑name to call‑by-value, the paper restores a tight correspondence between Elementary Affine Logic and the λ‑calculus, delivering a type system that preserves EAL’s elementary‑time guarantees, enjoys strong normalization, and admits efficient type checking—thereby bridging a gap that has limited the practical impact of light logics on functional programming language design.
Comments & Academic Discussion
Loading comments...
Leave a Comment