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