Nuprl Definition : consensus-ts3

consensus-ts3(T) ==
  <consensus-state3(T) List
  , []
  , λx,y. ((y = (x @ [INITIAL]) ∈ (consensus-state3(T) List))
         ∨ ((||y|| = ||x|| ∈ ℤ)
           ∧ (∃i:ℕ||x||
               ((∀j:ℕ||x||. ((¬(j = i ∈ ℤ)) ⇒ (y[j] = x[j] ∈ consensus-state3(T))))
               ∧ (((x[i] = INITIAL ∈ consensus-state3(T))
                 ∧ ((y[i] = WITHDRAWN ∈ consensus-state3(T))
                   ∨ (∃v:T
                       ((y[i] = CONSIDERING[v] ∈ consensus-state3(T))
                       ∧ (∀j:ℕi
                            ((x[j] = WITHDRAWN ∈ consensus-state3(T))
                            ∨ (x[j] = CONSIDERING[v] ∈ consensus-state3(T))
                            ∨ (x[j] = COMMITED[v] ∈ consensus-state3(T))))))))
                 ∨ (∃v:T
                     ((x[i] = CONSIDERING[v] ∈ consensus-state3(T))
                     ∧ ((y[i] = COMMITED[v] ∈ consensus-state3(T)) ∨ (y[i] = WITHDRAWN ∈ consensus-state3(T))))))))))
  , λx.∃v:T. (x = [COMMITED[v]] ∈ (consensus-state3(T) List))>



Definitions occuring in Statement :  cs-commited: COMMITED[v],  cs-considering: CONSIDERING[v],  cs-withdrawn: WITHDRAWN,  cs-initial: INITIAL,  consensus-state3: consensus-state3(T),  select: L[n],  length: ||as||,  append: as @ bs,  cons: [a / b],  nil: [],  list: T List,  int_seg: {i..j-},  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  not: ¬A,  implies: P ⇒ Q,  or: P ∨ Q,  and: P ∧ Q,  lambda: λx.A[x],  pair: <a, b>,  natural_number: $n,  int: ℤ,  equal: s = t ∈ T
FDL editor aliases :  consensus-ts3

Latex:
consensus-ts3(T)  ==
    <consensus-state3(T)  List
    ,  []
    ,  \mlambda{}x,y.  ((y  =  (x  @  [INITIAL]))
                  \mvee{}  ((||y||  =  ||x||)
                      \mwedge{}  (\mexists{}i:\mBbbN{}||x||
                              ((\mforall{}j:\mBbbN{}||x||.  ((\mneg{}(j  =  i))  {}\mRightarrow{}  (y[j]  =  x[j])))
                              \mwedge{}  (((x[i]  =  INITIAL)
                                  \mwedge{}  ((y[i]  =  WITHDRAWN)
                                      \mvee{}  (\mexists{}v:T
                                              ((y[i]  =  CONSIDERING[v])
                                              \mwedge{}  (\mforall{}j:\mBbbN{}i
                                                        ((x[j]  =  WITHDRAWN)
                                                        \mvee{}  (x[j]  =  CONSIDERING[v])
                                                        \mvee{}  (x[j]  =  COMMITED[v])))))))
                                  \mvee{}  (\mexists{}v:T
                                          ((x[i]  =  CONSIDERING[v])  \mwedge{}  ((y[i]  =  COMMITED[v])  \mvee{}  (y[i]  =  WITHDRAWN)))))))))
    ,  \mlambda{}x.\mexists{}v:T.  (x  =  [COMMITED[v]])>



Date html generated: 2016_05_16-AM-11_51_22
Last ObjectModification: 2012_02_25-AM-11_41_17

Theory : event-ordering


Home Index