Nuprl Lemma : ler-ilf
(
[es:EO']. 
[e:E]. 
[v:
 
 Id].
   {v 
 ler_Nbr()(e)
   

 v 
 
zb,za.
            let epoch,succ = za 
            in 
z.let epoch',succ' = z 
                  in if epoch' <z epoch
                     then {<epoch, succ>}
                     else {<epoch', succ'>}
                     fi @Loc|Loc, ler_Config(), Prior(self)?
l.{<ler_dumEpoch(), l>}|(e)})
 (
[client:Id]. 
[nodes:bag(Id)]. 
[uid:Id 
 
]. 
[es:EO']. 
[e:E]. 
[i:Id]. 
[m:Message].
     {<i, m> 
 ler_leader_ring_main(client;nodes;uid)(e)
     

 loc(e) 
 nodes
         
 ((
a:
              
a1:Id
               (<a, a1> 
 Prior(ler_Nbr())(e)
               
 (
b1:
                   (<a, b1> 
 Base([propose];
 
 
)(e)
                   
 (((b1 = (uid loc(e))) 
 (i = client) 
 (m = make-Msg([leader];
 
 Id;<a, loc(e)>)))
                     
 ((
(b1 = (uid loc(e))))
                       
 (i = a1)
                       
 (m = make-Msg([propose];
 
 
;<a, imax(b1;uid loc(e))>))))))))
           
 (
a:
                (a 
 Base([choose];
)(e)
                
 (m = make-Msg([propose];
 
 
;<a, uid loc(e)>))
                
 <a, i> 
 Prior(ler_Nbr())(e))))})
Proof not projected
Definitions occuring in Statement : 
ler_leader_ring_main: ler_leader_ring_main(client;nodes;uid), 
ler_Nbr: ler_Nbr(), 
ler_dumEpoch: ler_dumEpoch(), 
ler_Config: ler_Config(), 
concat-lifting-loc-2: f@Loc, 
make-Msg: make-Msg(hdr;typ;val), 
base-headers-msg-val: Base(hdr;typ), 
Message: Message, 
rec-combined-loc-class-opt-1: F|Loc, X, Prior(self)?init|, 
primed-class: Prior(X), 
classrel: v 
 X(e), 
event-ordering+: EO+(Info), 
es-loc: loc(e), 
es-E: E, 
Id: Id, 
imax: imax(a;b), 
lt_int: i <z j, 
ifthenelse: if b then t else f fi , 
sq_or: a 
 b, 
uall:
[x:A]. B[x], 
guard: {T}, 
exists:
x:A. B[x], 
iff: P 

 Q, 
not:
A, 
or: P 
 Q, 
and: P 
 Q, 
apply: f a, 
lambda:
x.A[x], 
function: x:A 
 B[x], 
spread: spread def, 
pair: <a, b>, 
product: x:A 
 B[x], 
cons: [car / cdr], 
nil: [], 
int:
, 
token: "$token", 
equal: s = t, 
bag-member: x 
 bs, 
single-bag: {x}, 
bag: bag(T)
Lemmas : 
SpLeaderRing-ilf
(\mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[v:\mBbbZ{}  \mtimes{}  Id].
      \{v  \mmember{}  ler\_Nbr()(e)
      \mLeftarrow{}{}\mRightarrow{}  v  \mmember{}  \mlambda{}zb,za.
                        let  epoch,succ  =  za 
                        in  \mlambda{}z.let  epoch',succ'  =  z 
                                    in  if  epoch'  <z  epoch
                                          then  \{<epoch,  succ>\}
                                          else  \{<epoch',  succ'>\}
                                          fi  @Loc|Loc,  ler\_Config(),  Prior(self)?\mlambda{}l.\{<ler\_dumEpoch(),  l>\}|(e)\})
\mwedge{}  (\mforall{}[client:Id].  \mforall{}[nodes:bag(Id)].  \mforall{}[uid:Id  {}\mrightarrow{}  \mBbbZ{}].  \mforall{}[es:EO'].  \mforall{}[e:E].  \mforall{}[i:Id].  \mforall{}[m:Message].
          \{<i,  m>  \mmember{}  ler\_leader\_ring\_main(client;nodes;uid)(e)
          \mLeftarrow{}{}\mRightarrow{}  loc(e)  \mdownarrow{}\mmember{}  nodes
                  \mwedge{}  ((\mexists{}a:\mBbbZ{}
                            \mexists{}a1:Id
                              (<a,  a1>  \mmember{}  Prior(ler\_Nbr())(e)
                              \mwedge{}  (\mexists{}b1:\mBbbZ{}
                                      (<a,  b1>  \mmember{}  Base([propose];\mBbbZ{}  \mtimes{}  \mBbbZ{})(e)
                                      \mwedge{}  (((b1  =  (uid  loc(e)))
                                          \mwedge{}  (i  =  client)
                                          \mwedge{}  (m  =  make-Msg([leader];\mBbbZ{}  \mtimes{}  Id;<a,  loc(e)>)))
                                          \mvee{}  ((\mneg{}(b1  =  (uid  loc(e))))
                                              \mwedge{}  (i  =  a1)
                                              \mwedge{}  (m  =  make-Msg([propose];\mBbbZ{}  \mtimes{}  \mBbbZ{};<a,  imax(b1;uid  loc(e))>))))))))
                      \mdownarrow{}\mvee{}  (\mexists{}a:\mBbbZ{}
                                (a  \mmember{}  Base([choose];\mBbbZ{})(e)
                                \mwedge{}  (m  =  make-Msg([propose];\mBbbZ{}  \mtimes{}  \mBbbZ{};<a,  uid  loc(e)>))
                                \mwedge{}  <a,  i>  \mmember{}  Prior(ler\_Nbr())(e))))\})
Date html generated:
2012_02_20-PM-06_03_06
Last ObjectModification:
2012_02_02-PM-02_38_47
Home
Index