e@a allowed in state x ==
  (v:V
     ((e = Archive(v))
      let i,est,knw = consensus-accum-state(A;x a) in 
        ((i  fpf-domain(est)))
         may consider v in inning i based on knowledge (knw)))
   (b:{a:Id| (a  A)} . i:. z:?i  V.
       ((e = consensus-message(b;i;z))
        let i',est,knw = consensus-accum-state(A;x b) in 
          (i  i')
           case z
            of inl(p) => let j,v = p in
                           (j  dom(est))
                           (k:. ((j < k)  (k < i)  (k  dom(est))))
                           (v = est(j))
             | inr(a) => j:. ((j < i)  (j  dom(est)))))



Definitions :  archive-event: Archive(v),  fpf-domain: fpf-domain(f),  cs-knowledge-precondition: may consider v in inning i based on knowledge (s),  set: {x:A| B[x]} ,  l_member: (x  l),  Id: Id,  nat: ,  union: left + right,  product: x:A  B[x],  int_seg: {i..j},  natural_number: $n,  unit: Unit,  consensus-event: consensus-event(V;A),  consensus-message: consensus-message(b;i;z),  spreadn: spread3,  consensus-accum-state: consensus-accum-state(A;L),  apply: f a,  le: A  B,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  spread: spread def,  and: P  Q,  equal: s = t,  fpf-ap: f(x),  all: x:A. B[x],  int: ,  implies: P  Q,  less_than: a < b,  not: A,  assert: b,  fpf-dom: x  dom(f),  int-deq: IntDeq
FDL editor aliases :  consensus-event-constraint

e@a  allowed  in  state  x  ==
    (\mforall{}v:V
          ((e  =  Archive(v))
          {}\mRightarrow{}  let  i,est,knw  =  consensus-accum-state(A;x  a)  in 
                (\mneg{}(i  \mmember{}  fpf-domain(est)))  \mwedge{}  may  consider  v  in  inning  i  based  on  knowledge  (knw)))
    \mwedge{}  (\mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}i:\mBbbN{}.  \mforall{}z:?\mBbbN{}i  \mtimes{}  V.
              ((e  =  consensus-message(b;i;z))
              {}\mRightarrow{}  let  i',est,knw  =  consensus-accum-state(A;x  b)  in 
                    (i  \mleq{}  i')
                    \mwedge{}  case  z
                        of  inl(p)  =>  let  j,v  =  p  in
                                                      (\muparrow{}j  \mmember{}  dom(est))
                                                    \mwedge{}  (\mforall{}k:\mBbbZ{}.  ((j  <  k)  {}\mRightarrow{}  (k  <  i)  {}\mRightarrow{}  (\mneg{}\muparrow{}k  \mmember{}  dom(est))))
                                                    \mwedge{}  (v  =  est(j))
                          |  inr(a)  =>  \mforall{}j:\mBbbZ{}.  ((j  <  i)  {}\mRightarrow{}  (\mneg{}\muparrow{}j  \mmember{}  dom(est)))))


Date html generated: 2010_08_27-AM-12_55_45
Last ObjectModification: 2009_12_23-PM-03_31_06

Home Index