A Modular Approach to Metatheoretic Reasoning for Extensible Languages

Reference: Dawn Michaelson, Gopalan Nadathur, and Eric Van Wyk (2023). arXiv:2312.14374v1. Source file: 2312.14374v1.pdf. URL

Summary

Addresses the problem of proving metatheoretic properties (e.g. type preservation, information-flow non-interference) for languages composed from a host and a library of independently developed extensions. The authors propose decomposing proofs around language fragments and introducing a priori constraints — notably projection constraints that let extensions describe how their constructs behave at a distance — so that complete soundness proofs for any composed language can be automatically stitched together from per-extension partial proofs.

The framework distinguishes foundational properties (known to the host, like type preservation) from auxiliary properties (introduced by a later extension, like a security analysis). The paper develops the machinery in a relational logic with rule-based specifications and motivates the Extensibella and Sterling tool systems.

Key Ideas

  • Modular metatheory: per-extension partial proofs composed automatically
  • Projection constraints let extensions reason about unknown other extensions at a distance
  • Foundational vs auxiliary properties require different modularity treatments
  • Relational rule-based specifications with fixed-point semantics
  • Connects language-workbench practice to formal metatheory

Connections

Conceptual Contribution

Tags

#language-design #metatheory #extensibility #formal-methods

Backlinks