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