Step * 2 2 1 1 1 2 1 of Lemma consensus-refinement5


1. Type
2. Id List@i
3. {a:Id| (a ∈ A)}  List List@i
4. 1 < ||W||@i
5. two-intersection(A;W)@i
6. x1 ConsensusState@i
7. x2 Knowledge(ConsensusState)@i
8. ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
9. V@i
10. ∀a:{a:Id| (a ∈ A)} 
      ((Inning(x1;a) 0 ∈ ℤ)
      ∧ (Estimate(x1;a) v ∈ i:ℤ fp-> V)
      ∧ (Knowledge(x2;a) mk_fpf(A;λb.<0, ff>) ∈ b:Id fp-> ℤ × (ℤ × Top)))@i
11. {a:Id| (a ∈ A)} @i
12. v1 {a:Id| (a ∈ A)}  List@i
13. (u ∈ v1)
⊢ a.if a ∈b v1) then [Archive(v)] else [] fi )
a.if (IdDeq a) ∨ba ∈b v1) then [Archive(v)] else [] fi )
∈ ({a:Id| (a ∈ A)}  ─→ (consensus-event(V;A) List))
BY
((EqCD THEN Auto) THEN Fold `eq_id` THEN RepeatFor ((SplitOnConclITE THEN Auto))) }

1
.....truecase..... 
1. Type
2. Id List@i
3. {a:Id| (a ∈ A)}  List List@i
4. 1 < ||W||@i
5. two-intersection(A;W)@i
6. x1 ConsensusState@i
7. x2 Knowledge(ConsensusState)@i
8. ts-init(consensus-ts5(V;A;W)) (ts-rel(consensus-ts5(V;A;W))^*) <x1, x2>@i
9. V@i
10. ∀a:{a:Id| (a ∈ A)} 
      ((Inning(x1;a) 0 ∈ ℤ)
      ∧ (Estimate(x1;a) v ∈ i:ℤ fp-> V)
      ∧ (Knowledge(x2;a) mk_fpf(A;λb.<0, ff>) ∈ b:Id fp-> ℤ × (ℤ × Top)))@i
11. {a:Id| (a ∈ A)} @i
12. v1 {a:Id| (a ∈ A)}  List@i
13. (u ∈ v1)
14. {a:Id| (a ∈ A)} @i
15. ¬(a ∈ v1)
16. (u a ∈ Id) ∨ False
⊢ [] [Archive(v)] ∈ (consensus-event(V;A) List)


Latex:



1.  V  :  Type
2.  A  :  Id  List@i
3.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List@i
4.  1  <  ||W||@i
5.  two-intersection(A;W)@i
6.  x1  :  ConsensusState@i
7.  x2  :  Knowledge(ConsensusState)@i
8.  ts-init(consensus-ts5(V;A;W)) 
      (ts-rel(consensus-ts5(V;A;W))\^{}*) 
      <x1,  x2>@i
9.  v  :  V@i
10.  \mforall{}a:\{a:Id|  (a  \mmember{}  A)\} 
            ((Inning(x1;a)  =  0)  \mwedge{}  (Estimate(x1;a)  =  0  :  v)  \mwedge{}  (Knowledge(x2;a)  =  mk\_fpf(A;\mlambda{}b.ɘ,  ff>)))@i
11.  u  :  \{a:Id|  (a  \mmember{}  A)\}  @i
12.  v1  :  \{a:Id|  (a  \mmember{}  A)\}    List@i
13.  (u  \mmember{}  v1)
\mvdash{}  (\mlambda{}a.if  a  \mmember{}\msubb{}  v1)  then  [Archive(v)]  else  []  fi  )
=  (\mlambda{}a.if  (IdDeq  u  a)  \mvee{}\msubb{}a  \mmember{}\msubb{}  v1)  then  [Archive(v)]  else  []  fi  )


By

((EqCD  THEN  Auto)  THEN  Fold  `eq\_id`  0  THEN  RepeatFor  2  ((SplitOnConclITE  THEN  Auto)))




Home Index