Nuprl Lemma : three-cs-vote-invariant
∀V:Type. ∀A:Id List. ∀t:ℕ+. ∀f:(V List) ─→ V. ∀s:ts-type(three-consensus-ts(V;A;t;f)).
  ((ts-init(three-consensus-ts(V;A;t;f)) (ts-rel(three-consensus-ts(V;A;t;f))^*) s)
  
⇒ (∀a:{a:Id| (a ∈ A)} . ∀n:ℕ. ∀b:{a:Id| (a ∈ A)} . ∀v1:V.
        ((Vote[b;n;v1] ∈ s a) 
⇒ (∃L:consensus-rcv(V;A) List. (L ≤ s b ∧ archive-condition(V;A;t;f;n;v1;L))))))
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-rcv-vote: Vote[a;i;v]
, 
consensus-rcv: consensus-rcv(V;A)
, 
Id: Id
, 
iseg: l1 ≤ l2
, 
l_member: (x ∈ l)
, 
list: T List
, 
rel_star: R^*
, 
nat_plus: ℕ+
, 
nat: ℕ
, 
infix_ap: x f y
, 
all: ∀x:A. B[x]
, 
exists: ∃x:A. B[x]
, 
implies: P 
⇒ Q
, 
and: P ∧ Q
, 
set: {x:A| B[x]} 
, 
apply: f a
, 
function: x:A ─→ B[x]
, 
universe: Type
, 
ts-rel: ts-rel(ts)
, 
ts-init: ts-init(ts)
, 
ts-type: ts-type(ts)
Lemmas : 
ts-reachable-induction2, 
three-consensus-ts_wf, 
nat_plus_subtype_nat, 
all_wf, 
l_member_wf, 
nat_wf, 
consensus-rcv_wf, 
cs-rcv-vote_wf, 
subtype_rel_set, 
ts-type_wf, 
list_wf, 
infix_ap_wf, 
rel_star_wf, 
ts-rel_wf, 
ts-init_wf, 
subtype_rel_self, 
exists_wf, 
iseg_wf, 
archive-condition_wf, 
ts-reachable_wf, 
subtype_rel_wf, 
null_nil_lemma, 
btrue_wf, 
member-implies-null-eq-bfalse, 
nil_wf, 
btrue_neq_bfalse, 
set_wf, 
not_wf, 
equal_wf, 
append_wf, 
cons_wf, 
nat_plus_wf, 
Id_wf, 
decidable__equal_Id, 
or_wf, 
member_singleton, 
member_append, 
and_wf, 
member_wf, 
true_wf, 
squash_wf, 
iff_weakening_equal, 
atom2_subtype_base, 
subtype_base_sq, 
iseg_append
\mforall{}V:Type.  \mforall{}A:Id  List.  \mforall{}t:\mBbbN{}\msupplus{}.  \mforall{}f:(V  List)  {}\mrightarrow{}  V.  \mforall{}s:ts-type(three-consensus-ts(V;A;t;f)).
    ((ts-init(three-consensus-ts(V;A;t;f))  (ts-rel(three-consensus-ts(V;A;t;f))\^{}*)  s)
    {}\mRightarrow{}  (\mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}n:\mBbbN{}.  \mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}v1:V.
                ((Vote[b;n;v1]  \mmember{}  s  a)
                {}\mRightarrow{}  (\mexists{}L:consensus-rcv(V;A)  List.  (L  \mleq{}  s  b  \mwedge{}  archive-condition(V;A;t;f;n;v1;L))))))
Date html generated:
2015_07_17-AM-11_52_30
Last ObjectModification:
2015_07_16-AM-09_46_31
Home
Index