🤖 AI Summary
This paper addresses the lack of a suitable logical foundation for defining formal semantics of programming languages and verifying functional program behavior. To this end, we propose Applied Matching Logic (AML), a novel formal logic that integrates functional abstraction with Matching Logic (ML). Methodologically, we systematically establish AML’s syntax, model-theoretic semantics, and core metatheory—including soundness, completeness, and decidability of key fragments—introducing a Monk-style axiomatic framework and higher-order pattern matching to significantly enhance expressiveness and provability. Our main contributions are threefold: (1) establishing AML as a rigorous logical foundation for specifying and verifying functional programs; (2) providing a pedagogically accessible, structurally clear theoretical framework suitable for teaching and learning; and (3) delivering a robust basis for future tool implementation and semantic engineering efforts in functional language semantics.
📝 Abstract
Matching logic (ML) was developed by Grigore Roc{s}u and collaborators as a logic for defining the formal semantics of programming languages and for specifying and reasoning about the behavior of programs. These lecture notes present basic definitions and results on applicative matching logic (AML), a functional variant of ML introduced recently by Xiaohong Chen and Grigore Roc{s}u. They can be used as an introductory text in the theory of AML. Monk's textbook on mathematical logic has an enormous influence on the notes.