Sharing, Superposition and Expansion: Geometrical Studies on the Semantics and Implementation of λ-calculi and Proof-nets
Abstract
Elegant semantics and efficient implementations of functional programming languages can both be described by the very same mathematical structures, most prominently within the Curry-Howard correspondence, where programs, types and execution respectively coincide with proofs, formulæ and normalisation.
Such a flexibility is sharpened by the deconstructive and geometrical approach pioneered by linear logic (LL) and proof-nets, and by Lévy-optimal reduction and sharing graphs (SG). Adapting Girard’s geometry of interaction, this thesis introduces the geometry of resource interaction (GoRI), a dynamic and denotational semantics, which describes, algebraically by their paths, terms of the resource calculus (RC), a linear and non-deterministic variation of the ordinary lambda calculus. Infinite series of RC-terms are also the domain of the Taylor-Ehrhard-Regnier expansion, a linearisation of LC. The thesis explains the relation between the former and the reduction by proving that they commute, and provides an expanded version of the execution formula to compute paths for the typed LC.
SG are an abstract implementation of LC and proof-nets whose steps are local and asynchronous, and sharing involves both terms and contexts. Whilst experimental tests on SG show outstanding speedups, up to exponential, with respect to traditional implementations, sharing comes at price. The thesis proves that, in the restricted case of elementary proof-nets, where only the core of SG is needed, such a price is at most quadratic, hence harmless.