{ [V:Type]
    eq:EqDecider(V). A:Id List. t:. f:V List  V.
      ((vs:V List. (f vs  vs) supposing ||vs||  1 )
       (v:V. s:ts-reachable(three-consensus-ts(V;A;t;f)).
            (three-cs-decided(V;A;t;f;s;v)
             (aA. (||s a||  1 )  (hd(s a) = Init[v]))))) }

{ Proof }



Definitions occuring in Statement :  three-cs-decided: three-cs-decided(V;A;t;f;s;v) three-consensus-ts: three-consensus-ts(V;A;t;f) cs-initial-rcv: Init[v] consensus-rcv: consensus-rcv(V;A) Id: Id hd: hd(l) length: ||as|| nat_plus: uimplies: b supposing a uall: [x:A]. B[x] ge: i  j  all: x:A. B[x] implies: P  Q and: P  Q set: {x:A| B[x]}  apply: f a function: x:A  B[x] list: type List natural_number: $n universe: Type equal: s = t l_exists: (xL. P[x]) l_member: (x  l) deq: EqDecider(T) ts-reachable: ts-reachable(ts)
Definitions :  uall: [x:A]. B[x] all: x:A. B[x] implies: P  Q uimplies: b supposing a member: t  T prop: or: P  Q ts-reachable: ts-reachable(ts) three-consensus-ts: three-consensus-ts(V;A;t;f) three-cs-decided: three-cs-decided(V;A;t;f;s;v) and: P  Q exists: x:A. B[x] ts-type: ts-type(ts) pi1: fst(t) length: ||as|| l_all: (xL.P[x]) ycomb: Y iff: P  Q rev_implies: P  Q subtype: S  T
Lemmas :  three-cs-archive-invariant three-cs-decided_wf ts-reachable_wf three-consensus-ts_wf nat_plus_inc ts-type_wf ge_wf length_wf1 l_member_wf nat_plus_wf Id_wf deq_wf cons_member

\mforall{}[V:Type]
    \mforall{}eq:EqDecider(V).  \mforall{}A:Id  List.  \mforall{}t:\mBbbN{}\msupplus{}.  \mforall{}f:V  List  {}\mrightarrow{}  V.
        ((\mforall{}vs:V  List.  (f  vs  \mmember{}  vs)  supposing  ||vs||  \mgeq{}  1  )
        {}\mRightarrow{}  (\mforall{}v:V.  \mforall{}s:ts-reachable(three-consensus-ts(V;A;t;f)).
                    (three-cs-decided(V;A;t;f;s;v)  {}\mRightarrow{}  (\mexists{}a\mmember{}A.  (||s  a||  \mgeq{}  1  )  \mwedge{}  (hd(s  a)  =  Init[v])))))


Date html generated: 2011_08_16-AM-10_17_57
Last ObjectModification: 2011_06_18-AM-09_07_10

Home Index