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

{ Proof }



Definitions occuring in Statement :  three-consensus-ts: three-consensus-ts(V;A;t;f),  archive-condition: archive-condition(V;A;t;f;n;v;L),  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,  int: ,  universe: Type,  equal: s = t,  l_exists: (xL. P[x]),  iseg: l1  l2,  l_member: (x  l),  deq: EqDecider(T),  ts-reachable: ts-reachable(ts)
Definitions :  cand: A c B,  so_lambda: x.t[x],  prop: ,  member: t  T,  implies: P  Q,  and: P  Q,  ge: i  j ,  all: x:A. B[x],  exists: x:A. B[x],  l_exists: (xL. P[x]),  Id: Id,  false: False,  le: A  B,  ycomb: Y,  append: as @ bs,  not: A,  hd: hd(l),  length: ||as||,  subtype: S  T,  top: Top,  rev_implies: P  Q,  iff: P  Q,  or: P  Q,  nat: ,  true: True,  ifthenelse: if b then t else f fi ,  bfalse: ff,  btrue: tt,  isl: isl(x),  bnot: b,  outr: outr(x),  assert: b,  so_apply: x[s],  uall: [x:A]. B[x],  pi1: fst(t),  ts-type: ts-type(ts),  three-consensus-ts: three-consensus-ts(V;A;t;f),  ts-reachable: ts-reachable(ts),  uimplies: b supposing a,  decidable: Dec(P),  guard: {T},  sq_type: SQType(T),  nat_plus: ,  pi2: snd(t),  cs-rcv-vote: Vote[a;i;v],  consensus-rcv: consensus-rcv(V;A)
Lemmas :  sq_stable_from_decidable,  sq_stable__all,  cs-initial-rcv_wf,  hd_wf,  length_wf1,  ge_wf,  list-subtype,  l_exists_wf,  archive-condition_wf,  iseg_wf,  consensus-rcv_wf,  l_member_wf,  Id_wf,  ts-type_wf,  nat_plus_inc,  three-consensus-ts_wf,  ts-reachable_wf,  decidable__equal_Id,  atom2_subtype_base,  subtype_base_sq,  archive-condition-append-vote,  cs-rcv-vote_wf,  pos_length,  votes-from-inning_wf,  strong-subtype-self,  strong-subtype-set3,  strong-subtype-deq-subtype,  id-deq_wf,  values-for-distinct_wf,  nat_plus_properties,  le_wf,  member_wf,  nat_wf,  top_wf,  length_wf_nat,  member-values-for-distinct2,  member_singleton,  or_functionality_wrt_iff,  member_append,  iff_transitivity,  member-votes-from-inning,  pi2_wf,  pi1_wf_top,  isl_wf,  bnot_wf,  assert_wf,  outr_wf,  three-cs-vote-invariant

\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{}s:ts-reachable(three-consensus-ts(V;A;t;f)).  \mforall{}v:V.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}n:\mBbbZ{}.
                \mforall{}L:consensus-rcv(V;A)  List.
                    (L  \mleq{}  s  a
                    {}\mRightarrow{}  archive-condition(V;A;t;f;n;v;L)
                    {}\mRightarrow{}  (\mexists{}a\mmember{}A.  (||s  a||  \mgeq{}  1  )  \mwedge{}  (hd(s  a)  =  Init[v])))))


Date html generated: 2011_08_16-AM-10_17_21
Last ObjectModification: 2011_06_18-AM-09_07_02

Home Index