Step
*
2
3
of Lemma
cs-possible-state-reachable
1. V : Type
2. A : Id List
3. W : {a:Id| (a ∈ A)}  List List
4. v : V
5. 1 < ||W||
6. two-intersection(A;W)
7. u : {a:Id| (a ∈ A)} @i
8. v1 : {a:Id| (a ∈ A)}  List@i
9. ts-init(consensus-ts5(V;A;W)) 
   (ts-rel(consensus-ts5(V;A;W))^*) 
   <λa.<0, if a ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, ff>)>@i
⊢ ts-init(consensus-ts5(V;A;W)) 
  (ts-rel(consensus-ts5(V;A;W))^*) 
  <λa.<0, if a ∈b [u / v1]) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, ff>)>
BY
{ (RepUR ``ts-reachable consensus-ts5 ts-type ts-init ts-rel`` -1
   THEN RepUR ``bfalse consensus-state4 consensus-state5`` -1
   THEN RepUR ``ts-reachable consensus-ts5 ts-type ts-init ts-rel`` 0
   THEN RepUR ``bfalse consensus-state4 consensus-state5`` 0) }
1
1. V : Type
2. A : Id List
3. W : {a:Id| (a ∈ A)}  List List
4. v : V
5. 1 < ||W||
6. two-intersection(A;W)
7. u : {a:Id| (a ∈ A)} @i
8. v1 : {a:Id| (a ∈ A)}  List@i
9. <λa.<0, ⊗>, λa.mk_fpf(A;λb.<0, inr ⋅ >)> 
   ((λx,y. consensus-rel-knowledge(V;A;W;x;y))^*) 
   <λa.<0, if a ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>@i
⊢ <λa.<0, ⊗>, λa.mk_fpf(A;λb.<0, inr ⋅ >)> 
  ((λx,y. consensus-rel-knowledge(V;A;W;x;y))^*) 
  <λa.<0, if (IdDeq u a) ∨ba ∈b v1) then 0 : v else ⊗ fi >, λa.mk_fpf(A;λb.<0, inr ⋅ >)>
Latex:
1.  V  :  Type
2.  A  :  Id  List
3.  W  :  \{a:Id|  (a  \mmember{}  A)\}    List  List
4.  v  :  V
5.  1  <  ||W||
6.  two-intersection(A;W)
7.  u  :  \{a:Id|  (a  \mmember{}  A)\}  @i
8.  v1  :  \{a:Id|  (a  \mmember{}  A)\}    List@i
9.  ts-init(consensus-ts5(V;A;W)) 
      rel\_star(ts-type(consensus-ts5(V;A;W));  ts-rel(consensus-ts5(V;A;W))) 
      <\mlambda{}a.ɘ,  if  a  \mmember{}\msubb{}  v1)  then  0  :  v  else  \motimes{}  fi  >,  \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ,  ff>)>@i
\mvdash{}  ts-init(consensus-ts5(V;A;W)) 
    rel\_star(ts-type(consensus-ts5(V;A;W));  ts-rel(consensus-ts5(V;A;W))) 
    <\mlambda{}a.ɘ,  if  a  \mmember{}\msubb{}  [u  /  v1])  then  0  :  v  else  \motimes{}  fi  >,  \mlambda{}a.mk\_fpf(A;\mlambda{}b.ɘ,  ff>)>
By
(RepUR  ``ts-reachable  consensus-ts5  ts-type  ts-init  ts-rel``  -1
  THEN  RepUR  ``bfalse  consensus-state4  consensus-state5``  -1
  THEN  RepUR  ``ts-reachable  consensus-ts5  ts-type  ts-init  ts-rel``  0
  THEN  RepUR  ``bfalse  consensus-state4  consensus-state5``  0)
Home
Index