Bounded Modal Logic
Yuito Murase, Akinori Maniwa
TL;DR
The paper tackles fine-grained resource control in programming languages by extending constructive modal logic with a birelational Kripke semantics and a bounded modality, yielding Bound Modal Logic ($BML$). It provides a formal $-structure$ as semantic grounding, a natural-deduction system, a Kripke semantics, and a Curry–Howard interpretation via a modal lambda-calculus, with metatheoretic results establishing soundness and completeness. $BML$ is shown to generalize $CS4$ both semantically and proof-theoretically and supports polymorphic classifier quantification, enabling reasoning over code fragments with arbitrary scopes. Together, these results offer a theoretical foundation for fine-grained resource control in MSP and other resource-sensitive programming contexts, connecting logic with practical programming semantics.
Abstract
Under the Curry--Howard isomorphism, the syntactic structure of programs can be modeled using birelational Kripke structures equipped with intuitionistic and modal relations. Intuitionistic relations capture scoping through persistence, reflecting the availability of resources from outer scopes, while modal relations model resource isolation introduced for various purposes. Traditional modal languages, however, describe only modal transitions and thus provide limited support for expressing fine-grained control over resource availability. Motivated by this limitation, we introduce \emph{Bounded Modal Logic (\textbf{BML})}, an experimental extension of constructive modal logic whose language explicitly accounts for both intuitionistic and modal transitions. We present a natural-deduction proof system and a Kripke semantics for \textbf{BML}, together with a Curry--Howard interpretation via a corresponding typed lambda-calculus. We establish metatheoretic properties of the calculus, showing that \textbf{BML} forms a well-disciplined logical system. This provides theoretical support for our proposed perspective on fine-grained resource control in programming languages.
