Pipe-calculus: Difference between revisions

Line 138: Line 138:
<math>\rhd</math> does not occur in the normal form of closed terms.
<math>\rhd</math> does not occur in the normal form of closed terms.


If the operands are matching synchronisation prefixes, both sides make progress.
If the operands are prefixed with matching literals, synchronisation occurs and both sides make progress.


<math>a^+ . s \rhd a^- . t = s \rhd t</math>
<math>a^+ . s \rhd a^- . t = s \rhd t</math>
Line 146: Line 146:
<math>!s . t \rhd ?n . u = t \rhd u[s/n]</math>
<math>!s . t \rhd ?n . u = t \rhd u[s/n]</math>


Any other combination of operands leads to failure of the current fork.
Arguably these are the key rules of pipe-calculus<ref>Compare with the relevant section on [[Wikipedia:Process_calculus#Reduction_semantics|Wikipedia]].</ref>.
Any other combination of prefixes leads to failure of the current fork.
The following example fails because synchronisation cannot occur between different atoms.
The following example fails because synchronisation cannot occur between different atoms.


283

edits