Step * of Lemma consensus-ts6-reachability1

[V:Type]
  ∀A:Id List. ∀W:{a:Id| (a ∈ A)}  List List. ∀L:consensus-event(V;A) List.
  ∀x,y:{a:Id| (a ∈ A)}  ⟶ (consensus-event(V;A) List). ∀a:{a:Id| (a ∈ A)} .
    ((∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀z:ℕi × V?.
        ((consensus-message(b;i;z) ∈ L)
         let i',est,knw consensus-accum-state(A;x b) in 
           (i ≤ i')
           ∧ case z
              of inl(p) =>
              let j,v 
              in (↑j ∈ dom(est)) ∧ (∀k:ℤ(¬↑k ∈ dom(est)) supposing (k < and j < k)) ∧ (v est(j) ∈ V)
              inr(a) =>
              ∀j:ℤ. ¬↑j ∈ dom(est) supposing j < i))
        (∀v:V. ∀j:ℕ||L||.
             let i,est,knw consensus-accum-state(A;(x a) firstn(j;L)) in 
             (i ∈ fpf-domain(est))) ∧ may consider in inning based on knowledge (knw) 
             supposing L[j] Archive(v) ∈ consensus-event(V;A))
        (x (ts-rel(consensus-ts6(V;A;W))^*) y)) supposing 
       (((y a) ((x a) L) ∈ (consensus-event(V;A) List)) and 
       (∀b:{a:Id| (a ∈ A)} (y b) (x b) ∈ (consensus-event(V;A) List) supposing ¬(b a ∈ Id)))
BY
(RepeatFor ((D THENA Auto)) THEN At ⌜Type⌝ (BLemma `last_induction`)⋅}

1
.....wf..... 
1. Type
2. Id List@i
3. {a:Id| (a ∈ A)}  List List@i
⊢ consensus-event(V;A) ∈ Type

2
.....wf..... 
1. Type
2. Id List@i
3. {a:Id| (a ∈ A)}  List List@i
⊢ λL.∀x,y:{a:Id| (a ∈ A)}  ⟶ (consensus-event(V;A) List). ∀a:{a:Id| (a ∈ A)} .
       ((∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀z:ℕi × V?.
           ((consensus-message(b;i;z) ∈ L)
            let i',est,knw consensus-accum-state(A;x b) in 
              (i ≤ i')
              ∧ case z
                 of inl(p) =>
                 let j,v 
                 in (↑j ∈ dom(est)) ∧ (∀k:ℤ(¬↑k ∈ dom(est)) supposing (k < and j < k)) ∧ (v est(j) ∈ V)
                 inr(a) =>
                 ∀j:ℤ. ¬↑j ∈ dom(est) supposing j < i))
           (∀v:V. ∀j:ℕ||L||.
                let i,est,knw consensus-accum-state(A;(x a) firstn(j;L)) in 
                (i ∈ fpf-domain(est))) ∧ may consider in inning based on knowledge (knw) 
                supposing L[j] Archive(v) ∈ consensus-event(V;A))
           (x (ts-rel(consensus-ts6(V;A;W))^*) y)) supposing 
          (((y a) ((x a) L) ∈ (consensus-event(V;A) List)) and 
          (∀b:{a:Id| (a ∈ A)} (y b) (x b) ∈ (consensus-event(V;A) List) supposing ¬(b a ∈ Id)))
  ∈ (consensus-event(V;A) List) ⟶ ℙ

3
1. [V] Type
2. Id List@i
3. {a:Id| (a ∈ A)}  List List@i
⊢ ∀x,y:{a:Id| (a ∈ A)}  ⟶ (consensus-event(V;A) List). ∀a:{a:Id| (a ∈ A)} .
    ((∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀z:ℕi × V?.
        ((consensus-message(b;i;z) ∈ [])
         let i',est,knw consensus-accum-state(A;x b) in 
           (i ≤ i')
           ∧ case z
              of inl(p) =>
              let j,v 
              in (↑j ∈ dom(est)) ∧ (∀k:ℤ(¬↑k ∈ dom(est)) supposing (k < and j < k)) ∧ (v est(j) ∈ V)
              inr(a) =>
              ∀j:ℤ. ¬↑j ∈ dom(est) supposing j < i))
        (∀v:V. ∀j:ℕ||[]||.
             let i,est,knw consensus-accum-state(A;(x a) firstn(j;[])) in 
             (i ∈ fpf-domain(est))) ∧ may consider in inning based on knowledge (knw) 
             supposing [][j] Archive(v) ∈ consensus-event(V;A))
        (x (ts-rel(consensus-ts6(V;A;W))^*) y)) supposing 
       (((y a) ((x a) []) ∈ (consensus-event(V;A) List)) and 
       (∀b:{a:Id| (a ∈ A)} (y b) (x b) ∈ (consensus-event(V;A) List) supposing ¬(b a ∈ Id)))

4
1. [V] Type
2. Id List@i
3. {a:Id| (a ∈ A)}  List List@i
⊢ ∀ys:consensus-event(V;A) List. ∀y:consensus-event(V;A).
    ((∀x,y:{a:Id| (a ∈ A)}  ⟶ (consensus-event(V;A) List). ∀a:{a:Id| (a ∈ A)} .
        ((∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀z:ℕi × V?.
            ((consensus-message(b;i;z) ∈ ys)
             let i',est,knw consensus-accum-state(A;x b) in 
               (i ≤ i')
               ∧ case z
                  of inl(p) =>
                  let j,v 
                  in (↑j ∈ dom(est)) ∧ (∀k:ℤ(¬↑k ∈ dom(est)) supposing (k < and j < k)) ∧ (v est(j) ∈ V)
                  inr(a) =>
                  ∀j:ℤ. ¬↑j ∈ dom(est) supposing j < i))
            (∀v:V. ∀j:ℕ||ys||.
                 let i,est,knw consensus-accum-state(A;(x a) firstn(j;ys)) in 
                 (i ∈ fpf-domain(est))) ∧ may consider in inning based on knowledge (knw) 
                 supposing ys[j] Archive(v) ∈ consensus-event(V;A))
            (x (ts-rel(consensus-ts6(V;A;W))^*) y)) supposing 
           (((y a) ((x a) ys) ∈ (consensus-event(V;A) List)) and 
           (∀b:{a:Id| (a ∈ A)} (y b) (x b) ∈ (consensus-event(V;A) List) supposing ¬(b a ∈ Id))))
     (∀x,y@0:{a:Id| (a ∈ A)}  ⟶ (consensus-event(V;A) List). ∀a:{a:Id| (a ∈ A)} .
          ((∀b:{a:Id| (a ∈ A)} . ∀i:ℕ. ∀z:ℕi × V?.
              ((consensus-message(b;i;z) ∈ ys [y])
               let i',est,knw consensus-accum-state(A;x b) in 
                 (i ≤ i')
                 ∧ case z
                    of inl(p) =>
                    let j,v 
                    in (↑j ∈ dom(est)) ∧ (∀k:ℤ(¬↑k ∈ dom(est)) supposing (k < and j < k)) ∧ (v est(j) ∈ V)
                    inr(a) =>
                    ∀j:ℤ. ¬↑j ∈ dom(est) supposing j < i))
              (∀v:V. ∀j:ℕ||ys [y]||.
                   let i,est,knw consensus-accum-state(A;(x a) firstn(j;ys [y])) in 
                   (i ∈ fpf-domain(est))) ∧ may consider in inning based on knowledge (knw) 
                   supposing ys [y][j] Archive(v) ∈ consensus-event(V;A))
              (x (ts-rel(consensus-ts6(V;A;W))^*) y@0)) supposing 
             (((y@0 a) ((x a) ys [y]) ∈ (consensus-event(V;A) List)) and 
             (∀b:{a:Id| (a ∈ A)} (y@0 b) (x b) ∈ (consensus-event(V;A) List) supposing ¬(b a ∈ Id)))))


Latex:


Latex:
\mforall{}[V:Type]
    \mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.  \mforall{}L:consensus-event(V;A)  List.
    \mforall{}x,y:\{a:Id|  (a  \mmember{}  A)\}    {}\mrightarrow{}  (consensus-event(V;A)  List).  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\}  .
        ((\mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  \mforall{}i:\mBbbN{}.  \mforall{}z:\mBbbN{}i  \mtimes{}  V?.
                ((consensus-message(b;i;z)  \mmember{}  L)
                {}\mRightarrow{}  let  i',est,knw  =  consensus-accum-state(A;x  b)  in 
                      (i  \mleq{}  i')
                      \mwedge{}  case  z
                            of  inl(p)  =>
                            let  j,v  =  p 
                            in  (\muparrow{}j  \mmember{}  dom(est))  \mwedge{}  (\mforall{}k:\mBbbZ{}.  (\mneg{}\muparrow{}k  \mmember{}  dom(est))  supposing  (k  <  i  and  j  <  k))  \mwedge{}  (v  =  est(j\000C))
                            |  inr(a)  =>
                            \mforall{}j:\mBbbZ{}.  \mneg{}\muparrow{}j  \mmember{}  dom(est)  supposing  j  <  i))
              {}\mRightarrow{}  (\mforall{}v:V.  \mforall{}j:\mBbbN{}||L||.
                          let  i,est,knw  =  consensus-accum-state(A;(x  a)  @  firstn(j;L))  in 
                          (\mneg{}(i  \mmember{}  fpf-domain(est)))  \mwedge{}  may  consider  v  in  inning  i  based  on  knowledge  (knw) 
                          supposing  L[j]  =  Archive(v))
              {}\mRightarrow{}  (x  rel\_star(ts-type(consensus-ts6(V;A;W));  ts-rel(consensus-ts6(V;A;W)))  y))  supposing 
              (((y  a)  =  ((x  a)  @  L))  and 
              (\mforall{}b:\{a:Id|  (a  \mmember{}  A)\}  .  (y  b)  =  (x  b)  supposing  \mneg{}(b  =  a)))


By


Latex:
(RepeatFor  3  ((D  0  THENA  Auto))  THEN  At  \mkleeneopen{}Type\mkleeneclose{}  (BLemma  `last\_induction`)\mcdot{})




Home Index