(Original) Pi-Calculus
Note: We call our processes / threadsorin these examples.
name
Stands for communication channels, variables.
restriction
Name creation
concurrency
Processes are executed concurrently: 
communication - input prefixing
Process is waiting for a message on channel  - it can be binded to the name  in  .
communication - output prefixing
Process is sending a message on channel  - it can be binded to the name  in  .
replication
 is a process that can always create a new copy of  .
creation of a new name
 is a process that allcoates the name  within the process  .
nil process
written  . Execution is complete / has stopped.
Formal definition
In the Backus-Naur-From BNF grammar.

 Receive on channel  , bind result to  , run 
 Send value of  to channel  , run 
 Run  and  simultaniously
 Create new channel  and run 
 Repeatedly generate copies of 
 Terminate Process