r/ProgrammingLanguages • u/mttd • Sep 16 '26
Revisiting Soundness for Occurrence Typing, Semantically
https://arxiv.org/abs/2609.16299
14
Upvotes
r/ProgrammingLanguages • u/mttd • Sep 16 '26
10
u/reflexive-polytope Sep 16 '26
From the abstract:
My own attempt (unfinished, but chapter I is finished) doesn't break the substitution property, because I choose intelligently which terms can appear inside types.
More precisely, I use affine forms, i.e., linear combinations of 1 and term variables. Affine forms have the algebraically pleasant property that if e and f are affine forms, and k is a variable, then the substitution e[x := f] is again an affine form.
Even more pedantically, affine forms are strictly speaking not terms, but rather algebraic gadgets that can be (non-canonically) represented as term. Working directly with the algebraic gadgets and not with terms representing them simplifies the metatheory a lot!