paxos-new-ballot(n; np_or_2b_or_firstballot; d; prevb) ==
  case np_or_2b_or_firstballot
  of inl(x) => case x
               of inl(np) => case prevb
                             of inl(b) => if (np =
 b)
                                          then inl (b + n) 
                                          else ff
                                          fi 
                              | inr(x) => ff
                | inr(y) => case y
                            of inl(2b) => case prevb
                                          of inl(b) => let b',ok = 2b in
                                                         if ((
ok)
                                                            
 (b' =
 b))
                                                            
 (
isl(d))
                                                        then inl (b + n) 
                                                        else ff
                                                        fi 
                                           | inr(x) => ff
                             | inr(firstballot) => case prevb
                                                   of inl(b) => ff
                                                    | inr(x) => firstballot
   | inr(x) => ff
Definitions : 
bfalse: ff, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
add: n + m, 
inl: inl x , 
isl: isl(x), 
bnot: 
b, 
eq_int: (i =
 j), 
band: p 
 q, 
ifthenelse: if b then t else f fi , 
spread: spread def
FDL editor aliases : 
paxos-new-ballot
paxos-new-ballot(n;  np\_or\_2b\_or$_{firstballot}$;  d;  prevb)  ==
    case  np\_or\_2b\_or$_{firstballot}$
    of  inl(x)  =>  case  x
                              of  inl(np)  =>  case  prevb
                                                          of  inl(b)  =>  if  (np  =\msubz{}  b)  then  inl  (b  +  n)    else  ff  fi 
                                                            |  inr(x)  =>  ff
                                |  inr(y)  =>  case  y
                                                        of  inl(2b)  =>  case  prevb
                                                                                    of  inl(b)  =>  let  b',ok  =  2b  in
                                                                                                                  if  ((\mneg{}\msubb{}ok)  \mwedge{}\msubb{}  (b'  =\msubz{}  b))  \mwedge{}\msubb{}  (\mneg{}\msubb{}isl(d))
                                                                                                                then  inl  (b  +  n) 
                                                                                                                else  ff
                                                                                                                fi 
                                                                                      |  inr(x)  =>  ff
                                                          |  inr(firstballot)  =>  case  prevb
                                                                                                      of  inl(b)  =>  ff
                                                                                                        |  inr(x)  =>  firstballot
      |  inr(x)  =>  ff
Date html generated:
2010_08_28-PM-01_58_24
Last ObjectModification:
2010_07_15-PM-02_26_48
Home
Index