title: How to avoid deadlock in processes executing in parallel through addition of another process in CSP
body: <p>PC1 and PC2 run in parallel with the same alphabet. They deadlock. I want to find a process (alphabet as yet undefined) which I can run in parallel with PC1 and PC2 which will solve the deadlock issue. Any ideas?</p>
  
  <p>Regards.</p>
  
  <p>This is my code file so far.</p>
  
  <pre><code>channel printA, printB, printC, printD
  
  PC1 = printA -&gt; printB -&gt; printC -&gt; printD
  
  aPC1 = {printA, printB, printC, printD}
  
  PC2 = printA -&gt; printB -&gt; printD -&gt; printC
  
  aPC2 = {printA, printB, printC, printD}
  
  DEADLOCKAVOIDANCE = ?
  
  aDEADLOCKAVOIDANCE = {?}
  
  P = (PC1 [aPC1||aPC2] PC2) [union(PC1,PC2)||aDEADLOCKAVOIDANCE] DEADLOCKAVOIDANCE
  </code></pre>