cs-ref-map-constraints(V;A;W;f) ==
  s:ConsensusState. i:.
    ((i < ||f s||  a:{a:Id| (a  A)} . (i  Inning(s;a)))
     ((i < ||f s||)
       ((f s[i] = INITIAL
           v,v':V
               (((v = v'))
                in state s, inning i could commit v 
                in state s, inning i could commit v' ))
          (f s[i] = WITHDRAWN
            (v:V. in state s, inning i could commit v ))
          (v:V
              ((f s[i] = COMMITED[v]  in state s, inning i has committed v)
               (f s[i] = CONSIDERING[v]
                 in state s, inning i could commit v 
                     (in state s, inning i has committed v)
                     (v':V
                         (in state s, inning i could commit v' 
                          (v' = v)))))))))



Definitions :  consensus-state4: ConsensusState nat: set: {x:A| B[x]}  l_member: (x  l) Id: Id le: A  B cs-inning: Inning(s;a) less_than: a < b length: ||as|| cs-initial: INITIAL cs-withdrawn: WITHDRAWN exists: x:A. B[x] cs-commited: COMMITED[v] iff: P  Q consensus-state3: consensus-state3(T) select: l[i] apply: f a cs-considering: CONSIDERING[v] and: P  Q not: A cs-inning-committed: in state s, inning i has committed v all: x:A. B[x] implies: P  Q cs-inning-committable: in state s, inning i could commit v  equal: s = t
FDL editor aliases :  cs-ref-map-constraints

cs-ref-map-constraints(V;A;W;f)  ==
    \mforall{}s:ConsensusState.  \mforall{}i:\mBbbN{}.
        ((i  <  ||f  s||  \mLeftarrow{}{}\mRightarrow{}  \mexists{}a:\{a:Id|  (a  \mmember{}  A)\}  .  (i  \mleq{}  Inning(s;a)))
        \mwedge{}  ((i  <  ||f  s||)
            {}\mRightarrow{}  ((f  s[i]  =  INITIAL
                    \mLeftarrow{}{}\mRightarrow{}  \mexists{}v,v':V
                              ((\mneg{}(v  =  v'))
                              \mwedge{}  in  state  s,  inning  i  could  commit  v 
                              \mwedge{}  in  state  s,  inning  i  could  commit  v'  ))
                  \mwedge{}  (f  s[i]  =  WITHDRAWN  \mLeftarrow{}{}\mRightarrow{}  \mneg{}(\mexists{}v:V.  in  state  s,  inning  i  could  commit  v  ))
                  \mwedge{}  (\mforall{}v:V
                            ((f  s[i]  =  COMMITED[v]  \mLeftarrow{}{}\mRightarrow{}  in  state  s,  inning  i  has  committed  v)
                            \mwedge{}  (f  s[i]  =  CONSIDERING[v]
                                \mLeftarrow{}{}\mRightarrow{}  in  state  s,  inning  i  could  commit  v 
                                        \mwedge{}  (\mneg{}in  state  s,  inning  i  has  committed  v)
                                        \mwedge{}  (\mforall{}v':V.  (in  state  s,  inning  i  could  commit  v'    {}\mRightarrow{}  (v'  =  v)))))))))


Date html generated: 2010_08_27-AM-12_51_48
Last ObjectModification: 2009_12_23-PM-03_27_34

Home Index