Taken FA25. Taught by Nate Foster.
Lecture 8: More IMP
How would we add concurrent composition to IMP? For example, if $\sigma(x) = \sigma(y) = 0$ and $$x := y + 1 ; y := y + 1 \ || \ y := y + 1,$$ then what is $\sigma^\prime$? If we use big-step semantics, it kind of defeats the point of concurrency, where we want multiple computations to be interleaved. For small-step rules, we might say $$\frac{\langle \sigma, c_1 \rangle \to \langle \sigma^\prime, c_1^\prime\rangle}{\sigma, c_1 \ || c_2 \rangle \to \langle \sigma^\prime, c_1^\prime \ || \ c_2 \rangle}$$ ...