Abstract
We study programs that perform I/O and finite or countable nondeterministic choice, up to finite trace equivalence. For well-founded programs, we characterize which strategies (sets of traces) are definable, and axiomatize trace equivalence by means of commutativity between I/O and nondeterminism. This gives the set of strategies as an initial algebra for a polynomial endofunctor on semilattices. The strategies corresponding to non-well-founded programs constitute a final coalgebra for this functor.
Highlights
This paper is about nondeterministic programs that perform I/O
We study programs that perform I/O and finite or countable nondeterministic choice, up to finite trace equivalence
For well-founded programs, we characterize which strategies are definable, and axiomatize trace equivalence by means of commutativity between I/O and nondeterminism. This gives the set of strategies as an initial algebra for a polynomial endofunctor on semilattices
Summary
This paper is about nondeterministic programs that perform I/O. To illustrate the ideas, let us consider the following (infinitary) imperative language:. M0 =def Happy?(Bye, Bye or Continue?(Bye6)) It has the following passive-ending traces (i.e. ones ending with execution paused): Happy? Happy?No.Continue?Yes.Bye and the following active-ending traces (i.e. ones ending with the program executing):. (ii) We may include commands of the form n∈N Mn This command nondeterministically chooses n ∈ N and executes Mn. In the second part of the paper (Section 6) we consider non-well-founded program behaviours, up to (finite) trace equivalence. We see that the familiar duality— initial algebra for well-founded behaviours vs final coalgebra for non-well-founded ones—arises in the setting of finite traces. The significance of these results is shown by their connection to several areas of semantics.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have