pi-guarded-aux(compList;g) ==
  Y 
  (pi-guarded-aux,l,serial,avoid,m.
    if pDVmsg?(m)
    then let val = pDVmsg-val(m) in
          let i = pDVmsg-index(m) in
          if i <z ||compList||
          then let pre_i,P_i = compList[i] in
                 let P' = if pircv?(pre_i)
                          then pi-simple-subst(val;pircv-var(pre_i);P_i)
                          else P_i
                          fi  in
                     <g P' l serial l-union(NameDeq;avoid;pi-names(P'))
                     , make-lg([<l, mk-tagged("msg";pDVfire())>])
                     >
          else <pi-guarded-aux l serial avoid, make-lg([])>
          fi 
    else <pi-guarded-aux l serial avoid, make-lg([])>
    fi )



Definitions :  ycomb: Y,  lambda: x.A[x],  pDVmsg?: pDVmsg?(x),  pDVmsg-val: pDVmsg-val(x),  pDVmsg-index: pDVmsg-index(x),  lt_int: i <z j,  length: ||as||,  spread: spread def,  select: l[i],  let: let,  ifthenelse: if b then t else f fi ,  pircv?: pircv?(x),  pi-simple-subst: pi-simple-subst(t;x;P),  pircv-var: pircv-var(x),  l-union: l-union(eq;as;bs),  name-deq: NameDeq,  pi-names: pi-names(p),  cons: [car / cdr],  mk-tagged: mk-tagged(tg;x),  token: "$token",  pDVfire: pDVfire(),  pair: <a, b>,  apply: f a,  make-lg: make-lg(L),  nil: []
FDL editor aliases :  pi-guarded-aux

pi-guarded-aux(compList;g)  ==
    Y 
    (\mlambda{}pi-guarded-aux,l,serial,avoid,m.
        if  pDVmsg?(m)
        then  let  val  =  pDVmsg-val(m)  in
                    let  i  =  pDVmsg-index(m)  in
                    if  i  <z  ||compList||
                    then  let  pre$_{i}$,P$_{i}$  =  compList[i]  in
                                  ...
                    else  <pi-guarded-aux  l  serial  avoid,  make-lg([])>
                    fi 
        else  <pi-guarded-aux  l  serial  avoid,  make-lg([])>
        fi  )


Date html generated: 2010_08_27-PM-09_43_26
Last ObjectModification: 2010_05_11-PM-04_07_06

Home Index