Fix a finite signature Σ and ar :Σ →ℕ. An occurrence of 𝛼 ∈Σ has one principal port and ar(𝛼) ordered auxiliary ports. A net is a finite set of agents and finite wiring components: an interval may attach at zero, one, or two agent ports and a circle is a closed wire. Each agent port is incident to at most one component; the ordered free interval ends form the interface. An active pair 𝛼 ⋈𝛽 is a wire between two principal ports.
An interaction rule replaces one active pair by a net with the same ordered boundary. The system supplies at most one rule for each unordered symbol pair. Reduction 𝑁⟶𝐼𝑀 replaces a matching active pair by a fresh copy of that right-hand side and reconnects corresponding boundary ports. Net equality in the metatheory is interface-fixing graph isomorphism 𝑁 ≅𝑀, including consistent renaming of fresh internal data.
The chapter’s unary arithmetic instance has nullary 𝑍, unary 𝑆, and binary 𝐴. Boundary names make its two rules 𝐴(𝑦,𝑟)⋈𝑍⟶𝐼𝑦=𝑟, 𝐴(𝑦,𝑟)⋈𝑆(𝑥)⟶𝐼𝑟=𝑆(𝑠) with 𝐴(𝑦,𝑠)⋈𝑥. Here an equation between boundary names means a wire splice.
For exactly-once lambda terms, the named syntactic translation T(𝑡) uses binary agents 𝖫𝖺𝗆 and 𝖠𝗉𝗉. Its beta interaction is 𝖠𝗉𝗉(T(𝑢),𝑟)⋈𝖫𝖺𝗆(𝑥,T(𝑡))⟶𝐼𝑥=T(𝑢),𝑟=T(𝑡). It realizes T((𝜆𝑥.𝑡)𝑢) ⟶𝐼T(𝑡[𝑢/𝑥]) only for the exactly-once fragment. Duplication and erasure require additional agents.
For a finite constructor signature, a nullary eraser 𝐸 and binary duplicator 𝐷 may be given one rule against each constructor: 𝐸⋈𝛼(𝑥1,…,𝑥𝑛)⟶𝐼𝐸⋈𝑥1,…,𝐸⋈𝑥𝑛, 𝐷(ℓ,𝑟)⋈𝛼(𝑥1,…,𝑥𝑛)⟶𝐼ℓ=𝛼(ℓ1,…,ℓ𝑛), 𝑟=𝛼(𝑟1,…,𝑟𝑛),𝐷(ℓ𝑖,𝑟𝑖)⋈𝑥𝑖(1≤𝑖≤𝑛). These rules calculate only on finite constructor trees. Unary-normal-form readback is the external function rb(𝑍) =0 and rb(𝑆(𝑥)) =1 +rb(𝑥). For a constructor template with 𝑘 occurrences of its binder, the named translation Tres connects that binder to 𝐸 for 𝑘 =0, to a wire for 𝑘 =1, and to a fixed full binary tree of 𝑘 −1 duplicators for 𝑘 ≥2. This is the finite constructor-tree fragment of theorem 41.17, not a general lambda translation.
The interaction-combinator signature has binary 𝛾,𝛿 and nullary 𝜀. With intrinsic binary-port order 1,2, five of its six exact rules are 𝜀⋈𝜀⟶IC∅,𝜀⋈𝛾(𝑎1,𝑎2)⟶IC𝑎1=𝜀, 𝑎2=𝜀,𝜀⋈𝛿(𝑎1,𝑎2)⟶IC𝑎1=𝜀, 𝑎2=𝜀,𝛾(𝑎1,𝑎2)⋈𝛾(𝑏1,𝑏2)⟶IC𝑎1=𝑏2, 𝑎2=𝑏1,𝛿(𝑎1,𝑎2)⋈𝛿(𝑏1,𝑏2)⟶IC𝑎1=𝑏1, 𝑎2=𝑏2. For the sixth, mixed rule, fresh 𝑝𝑖𝑗 give 𝑎1=𝛿(𝑝11,𝑝21),𝑎2=𝛿(𝑝12,𝑝22),𝑏1=𝛾(𝑝11,𝑝12),𝑏2=𝛾(𝑝21,𝑝22). Each old boundary name occurs once on each side and every fresh wire name twice on the right. These equations are the six source diagrams in explicit ordered-port form.
The pinned HVM2 document names ten paper interactions: Link, Call, Void, Erase, Commute, Annihilate, Operate1, Operate2, Switch1, and Switch2. The pinned C/CUDA dispatcher uses eight classes: LINK, CALL, VOID, ERAS, COMM, ANNI, OPER, and SWIT. ERA/CON/DUP occupy the 𝜀/𝛾/𝛿 eraser/constructor/duplicator roles, but this role map does not prove identity of intrinsic auxiliary-port order. The remaining tags and global link state extend the abstract combinator signature. Its two independent ERA–ERA candidates dispatch to VOID; the chapter 41 microbenchmark leaves a numeric-zero root for readback after two interactions.
INAMB and the textual INMPP calculus
The binary-choice agent has two principal ports and two auxiliaries. In the right-hand-side convention of Fernández–Khalil Definition 4.2, its complete rules against any ordinary agent 𝛼 are (−,ℓ)𝖺𝗆𝖻(𝛼(⃗𝑥),ℓ)⋈𝛼(⃗𝑥),(ℓ,−)𝖺𝗆𝖻(𝛼(⃗𝑥),ℓ)⋈𝛼(⃗𝑥). INMPP terms, multiequations, and configurations are 𝑡::=𝑥∣(⃗ℓ<𝑝,−,⃗ℓ>𝑝)𝛼(⃗𝑢),𝑞::=(ℓ1,…,ℓ𝑚)𝛼(⃗𝑢)∣𝑡=𝑢,𝑐::=⟨⃗𝑡∣Δ⟩. Every name occurs at most twice. Interface terms are INMPP-normal as in Definition 4.3: auxiliary subterms are normal and a principal variable of a term or subterm occurs at most once in the whole term.
Writing 𝖭(𝑞) for the names in 𝑞, the two basic indirections are ⟨⃗𝑡∣𝑥=𝑢,𝑞,Δ⟩⟶Ind−1⟨⃗𝑡∣𝑞[𝑢/𝑥],Δ⟩(𝑥∈𝖭(𝑞)),⟨⃗𝑡∣(⃗ℓ<𝑝,𝑥,⃗ℓ>𝑝)𝛼(⃗𝑠),𝑞,Δ⟩⟶Ind−2⟨⃗𝑡∣𝑞[(⃗ℓ<𝑝,−,⃗ℓ>𝑝)𝛼(⃗𝑠)/𝑥],Δ⟩. Indirection 3 selects one component of a multiequation: ⟨⃗𝑡∣(⃗ℓ<𝑝,(⃗𝑘<𝑞,−,⃗𝑘>𝑞)𝛽(⃗𝑢),⃗ℓ>𝑝)𝛼(⃗𝑠),Δ⟩⟶Ind−3⟨⃗𝑡∣(⃗ℓ<𝑝,−,⃗ℓ>𝑝)𝛼(⃗𝑠)=(⃗𝑘<𝑞,−,⃗𝑘>𝑞)𝛽(⃗𝑢),Δ⟩. If the source rule at principal ports 𝑝,𝑞 has fresh right-side data (⃗ℓ′,⃗𝑘′,⃗𝑠′,⃗𝑢′,eq), then Interaction is ⟨⃗𝑡∣(⃗ℓ<𝑝,−,⃗ℓ>𝑝)𝛼(⃗𝑠)=(⃗𝑘<𝑞,−,⃗𝑘>𝑞)𝛽(⃗𝑢),Δ⟩⟶Interaction⟨⃗𝑡∣⃗𝑠=⃗𝑠′,⃗𝑢=⃗𝑢′,{ℓ𝑖=ℓ′𝑖}𝑖≠𝑝,{𝑘𝑗=𝑘′𝑗}𝑗≠𝑞,eq,Δ⟩. The fresh tuple is alpha-renamed before insertion. The two collection rules are ⟨⃗𝑡∣𝑥=𝑢,Δ⟩⟶Collect−1⟨⃗𝑡[𝑢/𝑥]∣Δ⟩,⟨⃗𝑡∣(⃗ℓ<𝑝,𝑥,⃗ℓ>𝑝)𝛼(⃗𝑠),Δ⟩⟶Collect−2⟨⃗𝑡[(⃗ℓ<𝑝,−,⃗ℓ>𝑝)𝛼(⃗𝑠)/𝑥]∣Δ⟩. The first requires 𝑥 ∈𝖭(⃗𝑡), INMPP-normal 𝑢, and no principal variable of 𝑢 in Δ; the second has the analogous normality and freshness conditions. Multiset congruence closes these rules under permutation of the equation multiset before and after a step.
With polarized port types 𝜎𝑠, the structural rules are 𝑋𝑥:𝜎𝑠,𝑥:𝜎−𝑠AxΓ,𝑡:𝜎𝑠Δ,𝑢:𝜎−𝑠Γ,Δ,𝑡=𝑢:⋄Cut, {Γ𝑖,ℓ𝑖:𝜎−𝑠𝑖𝑖}1≤𝑖≤𝑚Γ,𝛼(⃗𝑡):(𝜎𝑠11,…,𝜎𝑠𝑚𝑚)Γ1,…,Γ𝑚,Γ,(ℓ1,…,ℓ𝑚)𝛼(⃗𝑡):⋄MultiCut The selected form exposes one principal port: {Γ𝑖,ℓ𝑖:𝜎−𝑠𝑖𝑖}𝑖≠𝑗Γ,𝛼(⃗𝑡):(𝜎𝑠11,…,𝜎𝑠𝑚𝑚){Γ𝑖}𝑖≠𝑗,Γ,(⃗ℓ<𝑗,−,⃗ℓ>𝑗)𝛼(⃗𝑡):𝜎𝑠𝑗𝑗Select. Every agent contributes a Graft rule. In particular, Γ,𝑡0:𝜑𝑠,𝑡1:𝜑𝑠Γ,𝖺𝗆𝖻(𝑡0,𝑡1):(𝜑𝑠,𝜑𝑠)Graft−amb.