Nuprl Lemma : consensus-ts4-ref-map1
∀[V:Type]
  ((∃v,v':V. (¬(v = v' ∈ V)))
  
⇒ (∀v,v':V.  Dec(v = v' ∈ V))
  
⇒ (∀A:Id List. ∀W:{a:Id| (a ∈ A)}  List List.
        (two-intersection(A;W)
        
⇒ {∀s:ConsensusState. ∀i:ℤ.
              ∃x:consensus-state3(V)
               ((x = INITIAL ∈ consensus-state3(V)
                
⇐⇒ ∃v,v':V
                     ((¬(v = v' ∈ V)) ∧ in state s, inning i could commit v  ∧ in state s, inning i could commit v' ))
               ∧ (x = WITHDRAWN ∈ consensus-state3(V) 
⇐⇒ ¬(∃v:V. in state s, inning i could commit v ))
               ∧ (∀v:V
                    ((x = COMMITED[v] ∈ consensus-state3(V) 
⇐⇒ in state s, inning i has committed v)
                    ∧ (x = CONSIDERING[v] ∈ consensus-state3(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 ∈ V)))))))})))
Proof
Definitions occuring in Statement : 
two-intersection: two-intersection(A;W)
, 
cs-inning-committable: in state s, inning i could commit v 
, 
cs-inning-committed: in state s, inning i has committed v
, 
consensus-state4: ConsensusState
, 
cs-commited: COMMITED[v]
, 
cs-considering: CONSIDERING[v]
, 
cs-withdrawn: WITHDRAWN
, 
cs-initial: INITIAL
, 
consensus-state3: consensus-state3(T)
, 
Id: Id
, 
l_member: (x ∈ l)
, 
list: T List
, 
decidable: Dec(P)
, 
uall: ∀[x:A]. B[x]
, 
guard: {T}
, 
all: ∀x:A. B[x]
, 
exists: ∃x:A. B[x]
, 
iff: P 
⇐⇒ Q
, 
not: ¬A
, 
implies: P 
⇒ Q
, 
and: P ∧ Q
, 
set: {x:A| B[x]} 
, 
int: ℤ
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
implies: P 
⇒ Q
, 
all: ∀x:A. B[x]
, 
two-intersection: two-intersection(A;W)
, 
one-intersection: one-intersection(A;W)
, 
l_all: (∀x∈L.P[x])
, 
member: t ∈ T
, 
exists: ∃x:A. B[x]
, 
and: P ∧ Q
, 
prop: ℙ
, 
int_seg: {i..j-}
, 
uimplies: b supposing a
, 
guard: {T}
, 
lelt: i ≤ j < k
, 
decidable: Dec(P)
, 
or: P ∨ Q
, 
satisfiable_int_formula: satisfiable_int_formula(fmla)
, 
false: False
, 
not: ¬A
, 
top: Top
, 
less_than: a < b
, 
squash: ↓T
, 
so_lambda: λ2x.t[x]
, 
so_apply: x[s]
, 
cand: A c∧ B
, 
iff: P 
⇐⇒ Q
, 
rev_implies: P 
⇐ Q
, 
cs-commited: COMMITED[v]
, 
cs-considering: CONSIDERING[v]
, 
isl: isl(x)
, 
consensus-state3: consensus-state3(T)
, 
outl: outl(x)
, 
assert: ↑b
, 
ifthenelse: if b then t else f fi 
, 
btrue: tt
, 
true: True
, 
cs-inning-committed: in state s, inning i has committed v
, 
cs-inning-committable: in state s, inning i could commit v 
Latex:
\mforall{}[V:Type]
    ((\mexists{}v,v':V.  (\mneg{}(v  =  v')))
    {}\mRightarrow{}  (\mforall{}v,v':V.    Dec(v  =  v'))
    {}\mRightarrow{}  (\mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.
                (two-intersection(A;W)
                {}\mRightarrow{}  \{\mforall{}s:ConsensusState.  \mforall{}i:\mBbbZ{}.
                            \mexists{}x:consensus-state3(V)
                              ((x  =  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{}  (x  =  WITHDRAWN  \mLeftarrow{}{}\mRightarrow{}  \mneg{}(\mexists{}v:V.  in  state  s,  inning  i  could  commit  v  ))
                              \mwedge{}  (\mforall{}v:V
                                        ((x  =  COMMITED[v]  \mLeftarrow{}{}\mRightarrow{}  in  state  s,  inning  i  has  committed  v)
                                        \mwedge{}  (x  =  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:
2016_05_16-PM-00_06_22
Last ObjectModification:
2016_01_17-PM-04_03_07
Theory : event-ordering
Home
Index