Coinductive Big-Step Semantics for Concurrency

@inproceedings{Uustalu2013CoinductiveBS,
  title={Coinductive Big-Step Semantics for Concurrency},
  author={Tarmo Uustalu},
  booktitle={PLACES},
  year={2013}
}
  • T. Uustalu
  • Published in PLACES 10 December 2013
  • Computer Science
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… 

Skeletal semantics and their interpretations

This work defines a general notion of interpretation, which provides a systematic and language-independent way of deriving semantic judgements from the skeletal semantics of a language, and proves general consistency results between interpretations, depending only on simple language-dependent lemmas.

Flag-based big-step semantics

From Small-Step Semantics to Big-Step Semantics, Automatically

The transformation that is proposed is very simple and it is shown that when the identified assumptions are met, the resulting big-step semantics is sound and complete in the sense that the two semantics are equivalent.

References

SHOWING 1-10 OF 16 REFERENCES

Trace-Based Coinductive Operational Semantics for While

Four coinductive operational semantics for the While language accounting for both terminating and non-terminating program runs are presented and their equivalence proofs are formalized in the constructive setting of Coq.

Trace-Based Coinductive Operational Semantics for While Big-Step and Small-Step, Relational and Functional Styles

Four coinductive operational semantics for the While language accounting for both terminating and non-terminating program runs are presented and their equivalence proofs are formalized in the constructive setting of Coq.

A coinductive calculus for asynchronous side-effecting processes

Resumptions, Weak Bisimilarity and Big-Step Semantics for While with Interactive I/O: An Exercise in Mixed Induction-Coinduction

Several big-step semantics for Whil e with interactive I/O are defined, based on resumptions and termination-sensitive weak bisimilarity, which require nesting inductive definitions in coinductive definitions, which is interesting both matically and from the point-of-view of implementation in a proof assistant.

Soundness of Object-Oriented Languages with Coinductive Big-Step Semantics

This work interprets coinductively the rules for the standard big-step operational semantics of a Java-like language, thus making the claim of soundness more intuitive: whenever a program is well-typed, its coinductive operational semantics returns a value.

Operational semantics using the partiality monad

This paper shows how one can use the coinductive partiality monad to define big-step or small-step operational semantics for lambda-calculi and virtual machines as total, computable functions (total definitional interpreters).

A Hoare logic for the coinductive trace-based big-step semantics of While

This work presents a Hoare logic counterpart of their coinductive trace-based semantics for While and proves it sound and complete, which subsumes both the partial correctnessHoare logic and the total correctness Hoare Logic: they are embeddable.

Bi-inductive structural semantics

General recursion via coinductive types

This work shows how a simple device is sufficient to formalize all recursive functions between two given types, and allows the definition of fixed points of finitary, that is, continuous, operators.