paxos-decide-def(es;f;leader;T;Decide;Proposal;Vote) ==
  
b,d such that d is first@ leader b s.t. 
                  q.||filter(
e'.((snd(fst(Vote(e'))) =
 b)
                                 
 snd(Vote(e')) =b tt);
(Vote)(q))||
                 = (f + 1)
   
 ((
d 
 (Proposal)') 
 ((fst((Proposal)'(d))) = b))
   
 
e'<d.(
e' 
 Vote)
     
 (((snd(fst(Vote(e')))) 
 b)
        
 (((snd(fst(Vote(e')))) = b) 
 ((snd(Vote(e'))) = tt)))
    d
Decide with value  snd((Proposal)'(d)) 
Definitions : 
es-class-def: es-class-def, 
nat:
, 
es-first-at: e is first@ i s.t.  e.P[e], 
apply: f a, 
length: ||as||, 
filter: filter(P;l), 
lambda:
x.A[x], 
band: p 
 q, 
eq_int: (i =
 j), 
eq_bool: p =b q, 
es-interface-predecessors:
(X)(e), 
add: n + m, 
natural_number: $n, 
alle-lt:
e<e'.P[e], 
assert:
b, 
in-eclass: e 
 X, 
and: P 
 Q, 
le: A 
 B, 
implies: P 
 Q, 
int:
, 
pi1: fst(t), 
equal: s = t, 
bool:
, 
btrue: tt, 
pi2: snd(t), 
eclass-val: X(e), 
es-prior-val: (X)'
FDL editor aliases : 
paxos-decide-def
paxos-decide-def(es;f;leader;T;Decide;Proposal;Vote)  ==
    \mforall{}b,d  such  that  d  is  first@  leader  b  s.t.    q.||filter(\mlambda{}e'.((snd(fst(Vote(e')))  =\msubz{}  b)
                                                                                                                      \mwedge{}\msubb{}  snd(Vote(e'))  =b  tt);\mleq{}(Vote)(q))||
                                  =  (f  +  1)
      \mwedge{}  ((\muparrow{}d  \mmember{}\msubb{}  (Proposal)')  \mwedge{}  ((fst((Proposal)'(d)))  =  b))
      \mwedge{}  \mforall{}e'<d.(\muparrow{}e'  \mmember{}\msubb{}  Vote)
          {}\mRightarrow{}  (((snd(fst(Vote(e'))))  \mleq{}  b)  \mwedge{}  (((snd(fst(Vote(e'))))  =  b)  {}\mRightarrow{}  ((snd(Vote(e')))  =  tt)))
        d\mmember{}Decide  with  value    snd((Proposal)'(d)) 
Date html generated:
2010_08_28-PM-12_48_53
Last ObjectModification:
2010_04_16-PM-02_04_49
Home
Index