Nominal Automata with Name Deallocation
Simon Prucker, Stefan Milius, Lutz Schröder
Abstract
Data words with binders formalize concurrently allocated memory. Most name-binding mechanisms in formal languages, such as the $λ$-calculus, adhere to properly nested scoping. In contrast, stateful programming languages with explicit memory allocation and deallocation, such as C, commonly interleave the scopes of allocated memory regions. This phenomenon is captured in dedicated formalisms such as dynamic sequences and bracket algebra, which similarly feature explicit allocation and deallocation of letters. One of the classical formalisms for data languages are register automata, which have been shown to be equivalent to automata models over nominal sets. In the present work, we introduce a nominal automaton model for languages of data words with explicit allocation and deallocation that strongly resemble dynamic sequences, extending existing nominal automata models by adding deallocating transitions. Using a finite NFA-type representation of the model, we establish a Kleene theorem that shows equivalence with a natural expression language. Moreover, we show that our non-deterministic model allows for determinization, a quite unusual phenomenon in the realm of nominal and register automata.
