<?xml version="1.0"?>


<!--  Pi-Calculus was introduced by Milner, Parrow and Walker 
[MPW92] to to extend CCS. 

If X is the set of names, the syntax of Pi-calculus is the following 
P -> x(y).P | bar(x)[y].P | P par P | nu(x)P | !P | nil
where x and y are in X.

Bibliography 
[MPW92] R. Milnet, J? Parrox and D. Walker. A Calculus of Mobile Processes, 
part 1. Information and Computation 1000 (100):1-40, 1992.

  -->


<!DOCTYPE specification SYSTEM "seed.dtd">

<specification>
  <start idref="All"/> 

  <union id="All"> <!-- defintion of a LTL formula-->
    <child idref="N"/> <!-- either the Nil Process -->
    <child idref="X"/> <!-- or an Actions-->
    <child idref="Par"/> <!-- or parallel composition -->
    <child idref="In"/> <!-- or input prefixing -->
    <child idref="Out"/> <!-- or output prefixing-->
    <child idref="Rep"/> <!-- or replication-->
    <child idref="Cre"/> <!-- or creation of a new name -->
  </union> 

  <constants id="X"> <!-- defintion of Actions-->
    <symbol value="x1"/>
    <symbol value="x2"/>
    <symbol value="x3"/>
    <symbol value="x4"/>
    <symbol value="x5"/>
  </constants>

  <constants id="N"> <!-- defintion of the Nil process-->
    <symbol value="nil"/>
  </constants>


  
  <binary_sym id="Par"> <!-- parallel composition -->
    <symbol value="parallel"/>
    <child idref="All"/>
  </binary_sym>
  

  <binary id="In"> <!-- input prefixing -->
    <symbol value="Input-Pref"/>
    <child idref="pref"/>
    <child idref="All"/>
  </binary>

  <binary_neq id="pref"> <!-- binary encoding input prefixing -->
    <symbol value="()"/>
    <child idref="X"/>
  </binary_neq>

  <binary id="Out"> <!-- ouput prefixing -->
    <symbol value="Output-Pref"/>
    <child idref="pref2"/>
    <child idref="All"/>
  </binary>

  <binary_neq id="pref2"> <!-- binaru encoding output prefixing -->
    <symbol value="[]"/>
    <child idref="X"/>
  </binary_neq>


  <binary id="Cre"> <!-- input prefixing -->
    <symbol value="New"/>
    <child idref="X"/>
    <child idref="All"/>
  </binary>

  <unary id="Rep"> <!-- replication -->
    <symbol value="!"/>
    <child idref="All"/>
  </unary>
</specification>
