Nuprl Definition : nysiad_add_waiting

nysiad_add_waiting(M;add2baghdr;addwaitinghdr;adeliverhdr;deqM;inputmsghdr;kdeliverhdr;readyhdr;...;...;mf;msg2m) ==
  λslf,za,z. let msg,s,d za in 
            let msgs,w 
            in let msg2m msg in
                   if <m, s, d> ∈b msgs)
                   then <remove-first(λx.(product-deq(M;Id?
                                          × Id;deqM;product-deq(Id?;Id;union-deq(Id;Unit;IdDeq;UnitDeq);IdDeq)) 
                                          
                                          <m, s, d>);msgs)
                        w
                        >
                   else <msgs, map-sig-add(waitingmap) w>
                   fi 



Definitions occuring in Statement :  nysiad_Amessage-deq: nysiad_Amessage-deq(M;deqM) id-deq: IdDeq Id: Id deq-member: x ∈b L) union-deq: union-deq(A;B;a;b) product-deq: product-deq(A;B;a;b) unit-deq: UnitDeq remove-first: remove-first(P;L) ifthenelse: if then else fi  let: let spreadn: spread3 unit: Unit apply: a lambda: λx.A[x] spread: spread def pair: <a, b> product: x:A × B[x] union: left right map-sig-add: map-sig-add(m)
FDL editor aliases :  nysiad_add_waiting

Latex:
nysiad\_add\_waiting(M;add2baghdr;addwaitinghdr;adeliverhdr;deqM;...;...;readyhdr;...;...;mf;msg2m)  ==
    \mlambda{}slf,za,z.  let  msg,s,d  =  za  in 
                        let  msgs,w  =  z 
                        in  let  m  =  msg2m  msg  in
                                      if  <m,  s,  d>  \mmember{}\msubb{}  msgs)
                                      then  <remove-first(\mlambda{}x.(product-deq(M;Id?
                                                                                    \mtimes{}  Id;deqM;product-deq(Id?;Id;union-deq(Id;Unit;IdDeq;
                                                                                                                                                                  UnitDeq);IdDeq)) 
                                                                                    x 
                                                                                    <m,  s,  d>);msgs)
                                                ,  w
                                                >
                                      else  <msgs,  map-sig-add(waitingmap)  d  m  w>
                                      fi 



Date html generated: 2015_07_23-PM-03_43_09
Last ObjectModification: 2014_08_06-PM-03_29_32

Home Index