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
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:
2015_07_17-AM-11_23_49
Last ObjectModification:
2012_02_25-AM-11_41_17
Home
Index