Step * of Lemma archive-condition-threshold-accum

[V:Type]
  ∀A:Id List. ∀t:ℕ+. ∀f:(V List) ⟶ V. ∀v0:V. ∀L:consensus-rcv(V;A) List. ∀n:ℕ. ∀v:V.
    (archive-condition(V;A;t;f;n;v;L)
    ⇐⇒ let b,i,as,vs,w accumulate (with value and list item r):
                           consensus-accum-num((2 t) 1;f;s;r)
                          over list:
                            L
                          with starting value:
                           <ff, 0, [], [], v0>in (↑b) ∧ ((n 1) i ∈ ℤ) ∧ (v w ∈ V))
BY
(Fold `consensus-accum-num-state` 0
   THEN InstLemma `consensus-accum-num-archives` []
   THEN RepeatFor (ParallelLast')
   THEN MoveToConcl (-1)
   THEN (InstLemma `archive-consensus-accum-num` [⌜V⌝;⌜A⌝;⌜t⌝;⌜f⌝;⌜v0⌝;⌜L⌝]⋅ THENA Auto)
   THEN MoveToConcl (-1)) }

1
1. [V] Type
2. Id List@i
3. : ℕ+@i
4. (V List) ⟶ V@i
5. v0 V@i
6. consensus-rcv(V;A) List@i
⊢ (∀[v:V]. ∀[i:ℤ].  ↑(fst(consensus-accum-num-state(t;f;v0;L))) supposing archive-condition(V;A;t;f;i;v;L))
 let b,i,as,vs,v consensus-accum-num-state(t;f;v0;L) in archive-condition(V;A;t;f;i 1;v;L) supposing ↑b
 (∀n:ℕ. ∀v:V.
      (archive-condition(V;A;t;f;n;v;L)
      ⇐⇒ let b,i,as,vs,w consensus-accum-num-state(t;f;v0;L) in (↑b) ∧ ((n 1) i ∈ ℤ) ∧ (v w ∈ V)))


Latex:


Latex:
\mforall{}[V:Type]
    \mforall{}A:Id  List.  \mforall{}t:\mBbbN{}\msupplus{}.  \mforall{}f:(V  List)  {}\mrightarrow{}  V.  \mforall{}v0:V.  \mforall{}L:consensus-rcv(V;A)  List.  \mforall{}n:\mBbbN{}.  \mforall{}v:V.
        (archive-condition(V;A;t;f;n;v;L)
        \mLeftarrow{}{}\mRightarrow{}  let  b,i,as,vs,w  =  accumulate  (with  value  s  and  list  item  r):
                                                      consensus-accum-num((2  *  t)  +  1;f;s;r)
                                                    over  list:
                                                        L
                                                    with  starting  value:
                                                      <ff,  0,  [],  [],  v0>)  in  (\muparrow{}b)  \mwedge{}  ((n  +  1)  =  i)  \mwedge{}  (v  =  w))


By


Latex:
(Fold  `consensus-accum-num-state`  0
  THEN  InstLemma  `consensus-accum-num-archives`  []
  THEN  RepeatFor  6  (ParallelLast')
  THEN  MoveToConcl  (-1)
  THEN  (InstLemma  `archive-consensus-accum-num`  [\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}t\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}v0\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1))




Home Index