Extensional and Non-extensional Functions as Processes
arXiv:2405.03536 · doi:10.46298/lmcs-21(3:25)2025
Abstract
Following Milner's seminal paper, the representation of functions as processes has received considerable attention. For pure -calculus, the process representations yield (at best) non-extensional -theories (i.e., rule holds, whereas does not). In the paper, we study how to obtain extensional representations, and how to move between extensional and non-extensional representations. Using Internal , (a subset of the -calculus in which all outputs are bound), we develop a refinement of Milner's original encoding of functions as processes that is parametric on certain abstract components called wires. These are, intuitively, processes whose task is to connect two end-point channels. We show that when a few algebraic properties of wires hold, the encoding yields a -theory. Exploiting the symmetries and dualities of , we isolate three main classes of wires. The first two have a sequential behaviour and are dual of each other; the third has a parallel behaviour and is the dual of itself. We show the adoption of the parallel wires yields an extensional -theory; in fact, it yields an equality that coincides with that of Böhm trees with infinite . In contrast, the other two classes of wires yield non-extensional -theories whose equalities are those of the Lévy-Longo and Böhm trees.