Coinductive Big-Step Semantics for Concurrency
Tarmo Uustalu

TL;DR
This paper extends coinductive big-step semantics to handle concurrency with shared variables, accurately modeling divergence and observable effects, and provides a constructive metatheory for this framework.
Contribution
It introduces a coinductive big-step semantics framework for concurrent programs with shared variables, capturing divergence and observable effects more precisely.
Findings
Handles divergence properly in concurrent semantics
Models observable effects before divergence
Provides a constructive proof of the semantics' metatheory
Abstract
In a paper presented at SOS 2010, we developed a framework for big-step semantics for interactive input-output in combination with divergence, based on coinductive and mixed inductive-coinductive notions of resumptions, evaluation and termination-sensitive weak bisimilarity. In contrast to standard inductively defined big-step semantics, this framework handles divergence properly; in particular, runs that produce some observable effects and then diverge, are not "lost". Here we scale this approach for shared-variable concurrency on a simple example language. We develop the metatheory of our semantics in a constructive logic.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
