master-degree-notes/Concurrent Systems/notes/14.md

56 lines
No EOL
2.6 KiB
Markdown

We shall only consider finite processes (processes without recursive definitions)
- a limited handling of recursion is possible
- deciding bisimilarity for general processes is undecidable
Inference system = axioms + inference rules
- soundness: whatever I infer is correct (i.e., bisimiar)
- completeness: whatever is bisimilar, it can be inferred
#### Axioms & Rules for Strong Bisimilarity
![350](../../Pasted%20image%2020250429082812.png)
quite obvious.
![350](../../Pasted%20image%2020250429082905.png)
basically we can let the left or the right process evolve, leaving the other unchanged, or they can synchronize.
![350](../../Pasted%20image%2020250429083129.png)
- if a process does not perform any action, a restriction won't do anything
- ...
![350](../../Pasted%20image%2020250429083455.png)
![](../../Pasted%20image%2020250429083535.png)
$P$ is in standard form if and only if $P \triangleq \sum_{i}\alpha_{i}P_{i}$ and $\forall_{i}P_{i}$ is in standard form.
**Lemma:** $\forall P \exists P'$* in standard form such that $\vdash P = P'$
*Proof:* by induction on the structure of P.
**Base case:** $P \triangleq 0$. It suffices to consider $P' \triangleq 0$ and conclude reflexivity.
**Inductive step:** we have to consider three cases.
![](../../Pasted%20image%2020250429084358.png)
![](../../Pasted%20image%2020250429084921.png)
![](../../Pasted%20image%2020250429084950.png)
replacing one by one every continuation with its standard form, obtaining standard form.
![](../../Pasted%20image%2020250429085319.png)
### Axioms & Rules for Weak Bisimilarity
![](../../Pasted%20image%2020250429091029.png)
#### Example
A server for exchanging messages, in its minimal version, receives a request for sending messages and delivers the confirmation of the reception
Specification: $$Spec \triangleq send.\overline{rcv}$$
The behavior of such a server can be implemented by three processes in parallel:
- one handles the button for sending
- another one effectively sends the message (through the restricted action *put*) and waits for the signal of message reception (through the restricted action *go*)
- the last one gives back to the user the outcome of the sending
$$S \triangleq send.\overline{put} \quad M \triangleq put.\overline{go} \quad R \triangleq go.\overline{rcv}$$
$$Impl \triangleq (S|M|R)\setminus\{put, go\}$$
exercise: prove the weak bisimilarity
Let us consider the parallel of processes M and R, by using the axiom for parallel, we have $$\vdash M|R=put.(\overline{go}|R)+go.(M|\overline{rcv})$$
By using the same axiom to the parallel of the three processes, we obtain
$$\vdash S|(M|R)=send.(\overline{put}|(M|R))+put.(\overline{go})$$