Graph explorer

Nominal Matching Logic

We introduce Nominal Matching Logic (NML) as an extension of Matching Logic with names and binding following the Gabbay-Pitts nominal approach. Matching logic is the foundation of the $\mathbb{K}$ framework, used to specify programming languages and automatically derive associated tools (compilers, debuggers, model checkers, program verifiers). Matching logic does not include a primitive notion of name binding, though binding operators can be represented via an encoding that internalises the graph of a function from bound names to expressions containing bound names. This approach is sufficient to represent computations involving binding operators, but has not been reconciled with support for inductive reasoning over syntax with binding (e.g., reasoning over $λ$-terms). Nominal logic is a formal system for reasoning about names and binding, which provides well-behaved and powerful principles for inductive reasoning over syntax with binding, and NML inherits these principles. We discuss design alternatives for the syntax and the semantics of NML, prove meta-theoretical properties and give examples to illustrate its expressive power. In particular, we show how induction principles for $λ$-terms ($α$-structural induction) can be defined and used to prove standard properties of the $λ$-calculus.

5 nodes5 linksoverview previewNominal Matching Logic
5 nodes5 links
Nominal Matching Logic5 visible / 5 total nodes / 6 links
Related contextCo-authorshipAuthorshipAuthorshipTopic signalTopic signalWNominal Matching Logicpreprint / 2022AJames CheneyResearcherAMaribel FernándezResearcherTLogic in Computer Science2208 worksTProgramming Languages1239 works
PaperSignal 104 links

Nominal Matching Logic

preprint / 2022

Open