\documentclass[99-notes-packed.tex]{subfiles} \begin{document} \paragraph*{CSP} Introduce the following operations: \begin{enumerate} \item { $0$ or $\mathsf{STOP}$ (inaction). Likewise CCS, a graph with 1 (initial) state, 0 transitions. } \item { $a.P$ or $a \rightarrow P$ (action prefix) for $\forall a \in A$. Likewise CCS. } \item { $P \square Q$ (external choice). Semantically it is similar to parallel composition without synchronization, where: \begin{itemize} \item { Prior to ``choice'', one of the two actions might happen between the processes. } \item { After one of the action happens, only the choiced process may occur at runtime. } \end{itemize} } \item { $P \sqcap Q$ (internal choice): \begin{equation*} \mathrm{CSP}[P \sqcap Q] \equiv \mathrm{CCS}[\tau.P + \tau.Q] \end{equation*} } \item { $P {||}_{S} Q$ (parallel composition) with enforced synchronization over $S \subseteq A$. Semantically speaking: \begin{itemize} \item $ \mathsf{States}(P {||}_{S} Q) \coloneqq \mathsf{States}(P) \times \mathsf{States}(Q) $ \item { $(s, t) \xrightarrow{a} (s^{'}, t)$ if $(a \notin S) \wedge (s \xrightarrow{a} s^{'} \in P)$ } \item { $(s, t) \xrightarrow{a} (s, t^{'})$ if $(a \notin S) \wedge (t \xrightarrow{a} t^{'} \in Q)$ } \item { $(s, t) \xrightarrow{a} (s^{'}, t^{'})$ if $(a \in S) \wedge (s \xrightarrow{a} s^{'} \in P) \wedge (t \xrightarrow{a} t^{'} \in Q)$ } \end{itemize} } \item { $P/a$ (concealment). Like CCS, rename $a$ into $\tau$. } \item { $P[f]$ (renaming) for $f \in (A \rightarrow A)$ Likewise CCS. } \end{enumerate} Weak and branching bisimulation are congurences for CSP. \paragraph*{GSOS} As a general form over languages, GSOS describes a transition rule of the following form: define \begin{itemize} \item { $\Sigma$ be the collection of function symbols wrt. a language. } \item { $\mathsf{arity}: \Sigma \rightarrow \mathbb{N}$ a function exposing the arity of the function symbol in question. } \end{itemize} then, under GSOS semantics, the language could be expressed as follows: \begin{equation*} \begin{prooftree} \hypo{x_i \xrightarrow{a} y_i, \dots\ (f \in \Sigma, i \in [1, \mathsf{arity}(f)], y_i \notin \mathsf{args}(f))} \infer1{f(x_1, \dots, x_{\mathsf{arity}(f)}) \xrightarrow{a} \mathsf{Expr}(x_1, \dots, x_{\mathsf{arity}(f)}, y_i, \dots)} \end{prooftree} \end{equation*} It is the generalization of SOS rules we have covered earlier. \end{document}