Nuprl Lemma : three-cs-archive-condition

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)
   (∀v:V. ∀a:{a:Id| (a ∈ A)} . ∀n:ℕ+. ∀L:consensus-rcv(V;A) List.
        (L ≤ a
         archive-condition(V;A;t;f;n;v;L)
         (∃as:{a:Id| (a ∈ A)}  List
             (no_repeats({a:Id| (a ∈ A)} ;as)
             ∧ (||as|| ((2 t) 1) ∈ ℤ)
             ∧ (∃vs:V List
                 ((||vs|| ||as|| ∈ ℤ)
                 ∧ (v (f vs) ∈ V)
                 ∧ (∀i:ℕ||as||
                      ∃L:consensus-rcv(V;A) List. (L ≤ as[i] ∧ archive-condition(V;A;t;f;n 1;vs[i];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) consensus-rcv: consensus-rcv(V;A) Id: Id iseg: l1 ≤ l2 no_repeats: no_repeats(T;l) l_member: (x ∈ l) select: L[n] length: ||as|| list: List rel_star: R^* int_seg: {i..j-} nat_plus: + infix_ap: y all: x:A. B[x] exists: x:A. B[x] implies:  Q and: P ∧ Q set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] multiply: m subtract: m add: m natural_number: $n int: universe: Type equal: t ∈ T ts-rel: ts-rel(ts) ts-init: ts-init(ts) ts-type: ts-type(ts)
Definitions unfolded in proof :  all: x:A. B[x] member: t ∈ T uall: [x:A]. B[x] subtype_rel: A ⊆B so_lambda: λ2x.t[x] prop: implies:  Q ts-reachable: ts-reachable(ts) so_apply: x[s] uimplies: supposing a ts-type: ts-type(ts) pi1: fst(t) three-consensus-ts: three-consensus-ts(V;A;t;f) nat_plus: + and: P ∧ Q int_seg: {i..j-} guard: {T} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A top: Top ts-init: ts-init(ts) pi2: snd(t) iff: ⇐⇒ Q assert: b ifthenelse: if then else fi  btrue: tt cons: [a b] bfalse: ff ts-rel: ts-rel(ts) infix_ap: y nat: cand: c∧ B Id: Id sq_type: SQType(T) rev_implies:  Q consensus-rcv: consensus-rcv(V;A) cs-initial-rcv: Init[v] cs-rcv-vote: Vote[a;i;v] ge: i ≥  le: A ≤ B uiff: uiff(P;Q) sq_stable: SqStable(P) squash: T true: True label: ...$L... t

Latex:
\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{}v:V.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}n:\mBbbN{}\msupplus{}.  \mforall{}L:consensus-rcv(V;A)  List.
                (L  \mleq{}  s  a
                {}\mRightarrow{}  archive-condition(V;A;t;f;n;v;L)
                {}\mRightarrow{}  (\mexists{}as:\{a:Id|  (a  \mmember{}  A)\}    List
                          (no\_repeats(\{a:Id|  (a  \mmember{}  A)\}  ;as)
                          \mwedge{}  (||as||  =  ((2  *  t)  +  1))
                          \mwedge{}  (\mexists{}vs:V  List
                                  ((||vs||  =  ||as||)
                                  \mwedge{}  (v  =  (f  vs))
                                  \mwedge{}  (\mforall{}i:\mBbbN{}||as||
                                            \mexists{}L:consensus-rcv(V;A)  List
                                              (L  \mleq{}  s  as[i]  \mwedge{}  archive-condition(V;A;t;f;n  -  1;vs[i];L))))))))))



Date html generated: 2016_05_16-PM-00_45_59
Last ObjectModification: 2016_01_17-PM-08_03_45

Theory : event-ordering


Home Index