Nuprl Definition : acceptor
acceptor(Op;self) ==
  smr-class(<inr 
 , []>s,m.let ballot,accptd = s 
                             in case m
                                of inl(p) =>
                                 let ldr,b = p 
                                 in let b' = ballot-max(ballot;b) in
                                        <<b', accptd>, msg1b(Op;self;b';accptd), ldr>
                                 | inr(q) =>
                                 let ldr,b,c,cmd = q
                                 in let b' = ballot-max(ballot;b) in
                                        <<b'
                                        , if eq_ballot(b';b)
                                          then update-alist(IntDeq;accptd;c;<b, cmd>v.<b, cmd>)
                                          else accptd
                                          fi 
                                        >
                                        , msg2b(self; b'; c)
                                        , ldr>  class1a()+class2a(Op))
Proof not projected
Definitions occuring in Statement : 
msg2b: msg2b(self; b; c), 
msg1b: msg1b(Op;self;b;accptd), 
class2a: class2a(Op), 
class1a: class1a(), 
ballot-max: ballot-max(b1;b2), 
eq_ballot: eq_ballot(b1;b2), 
smr-class: smr-class(init;s,x.F[s; x];X), 
es-interface-union: X+Y, 
ifthenelse: if b then t else f fi , 
let: let, 
it:
, 
spreadn: spread4, 
spread: spread def, 
pair: <a, b>, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
inr: inr x , 
nil: [], 
update-alist: update-alist(eq;L;x;z;v.f[v]), 
int-deq: IntDeq
Definitions : 
smr-class: smr-class(init;s,x.F[s; x];X), 
inr: inr x , 
it:
, 
nil: [], 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
spread: spread def, 
msg1b: msg1b(Op;self;b;accptd), 
spreadn: spread4, 
let: let, 
ballot-max: ballot-max(b1;b2), 
ifthenelse: if b then t else f fi , 
eq_ballot: eq_ballot(b1;b2), 
update-alist: update-alist(eq;L;x;z;v.f[v]), 
int-deq: IntDeq, 
pair: <a, b>, 
msg2b: msg2b(self; b; c), 
es-interface-union: X+Y, 
class1a: class1a(), 
class2a: class2a(Op)
FDL editor aliases : 
acceptor
acceptor(Op;self)  ==
    smr-class(<inr  \mcdot{}  ,  []>s,m.let  ballot,accptd  =  s 
                                                          in  case  m
                                                                of  inl(p)  =>
                                                                  let  ldr,b  =  p 
                                                                  in  let  b'  =  ballot-max(ballot;b)  in
                                                                                <<b',  accptd>,  msg1b(Op;self;b';accptd),  ldr>
                                                                  |  inr(q)  =>
                                                                  let  ldr,b,c,cmd  =  q
                                                                  in  let  b'  =  ballot-max(ballot;b)  in
                                                                                <<b'
                                                                                ,  if  eq\_ballot(b';b)
                                                                                    then  update-alist(IntDeq;accptd;c;<b,  cmd>v.<b,  cmd>)
                                                                                    else  accptd
                                                                                    fi 
                                                                                >
                                                                                ,  msg2b(self;  b';  c)
                                                                                ,  ldr>    ;class1a()+class2a(Op))
Date html generated:
2011_10_20-PM-04_23_21
Last ObjectModification:
2011_01_26-PM-05_29_54
Home
Index