1e8aef3cd3a57a34.tex
1: \begin{abstract}
2:   We look at the operational semantics of languages with interactive
3:   I/O through the glasses of constructive type theory. Following on
4:   from our earlier work on coinductive trace-based semantics for While
5:   \cite{NU:trabco}, we define several big-step semantics for While
6:   with interactive I/O, based on resumptions and termination-sensitive
7:   weak bisimilarity. These require nesting inductive definitions in
8:   coinductive definitions, which is interesting both mathematically
9:   and from the point-of-view of implementation in a proof assistant.
10:   
11:   After first defining a basic semantics of statements in terms of
12:   resumptions with explicit internal actions (delays), we introduce a
13:   semantics in terms of delay-free resumptions that essentially
14:   removes finite sequences of delays on the fly from those resumptions
15:   that are responsive. Finally, we also look at a semantics in terms
16:   of delay-free resumptions supplemented with a silent divergence
17:   option.  This semantics hinges on decisions between convergence and
18:   divergence and is only equivalent to the basic one
19:   classically.
20: %
21:   We have fully formalized our development in Coq.
22: \end{abstract}
23: