Nuprl Definition : commander

commander(ldr;num;acceptors;b;c) ==
  once-class(smr-class(acceptors;waitfor,m.let a,b' = m 
                                           in let wait = filter(x.(x = a);waitfor) in
                                                  <wait
                                                  , if eq_ballot(b;b')
                                                    then if 2 * ||wait|| <z num
                                                         then inl <msgPreempted(b'), ldr
                                                         else inr  
                                                         fi 
                                                    else inl <msgPreempted(b'), ldr
                                                    fi 
                                                  >;class2b(c)))


Proof not projected




Definitions occuring in Statement :  msgPreempted: msgPreempted(b) class2b: class2b(c) eq_ballot: eq_ballot(b1;b2) smr-class: smr-class(init;s,x.F[s; x];X) once-class: once-class(X) eq_id: a = b length: ||as|| bnot: b lt_int: i <z j ifthenelse: if b then t else f fi  let: let it: lambda: x.A[x] spread: spread def pair: <a, b> inr: inr x  inl: inl x  multiply: n * m natural_number: $n filter: filter(P;l)
Definitions :  once-class: once-class(X) smr-class: smr-class(init;s,x.F[s; x];X) spread: spread def let: let filter: filter(P;l) lambda: x.A[x] bnot: b eq_id: a = b eq_ballot: eq_ballot(b1;b2) ifthenelse: if b then t else f fi  lt_int: i <z j multiply: n * m natural_number: $n length: ||as|| inr: inr x  it: inl: inl x  pair: <a, b> msgPreempted: msgPreempted(b) class2b: class2b(c)
FDL editor aliases :  commander

commander(ldr;num;acceptors;b;c)  ==
    once-class(smr-class(acceptors;waitfor,m.let  a,b'  =  m 
                                                                                      in  let  wait  =  filter(\mlambda{}x.(\mneg{}\msubb{}x  =  a);waitfor)  in
                                                                                                    <wait
                                                                                                    ,  if  eq\_ballot(b;b')
                                                                                                        then  if  2  *  ||wait||  <z  num
                                                                                                                  then  inl  <msgPreempted(b'),  ldr> 
                                                                                                                  else  inr  \mcdot{} 
                                                                                                                  fi 
                                                                                                        else  inl  <msgPreempted(b'),  ldr> 
                                                                                                        fi 
                                                                                                    >class2b(c)))


Date html generated: 2011_10_20-PM-04_24_14
Last ObjectModification: 2011_01_29-AM-00_59_25

Home Index