Step
*
3
1
1
of Lemma
consensus-refinement1
.....set predicate..... 
1. V : Type
2. ∀x,y:ts-reachable(consensus-ts2(V)).
     ((x ts-rel(consensus-ts2(V)) y)
     
⇒ (((λx.if cs-is-decided(x) then x else UNDECIDED fi ) x) 
         (ts-rel(consensus-ts1(V))^*) 
         ((λx.if cs-is-decided(x) then x else UNDECIDED fi ) y)))
3. x : ts-reachable(consensus-ts1(V))@i
4. v : V@i
5. x = Decided[v] ∈ consensus-state1(V)@i
⊢ ts-init(consensus-ts2(V)) (ts-rel(consensus-ts2(V))^*) Decided[v]
BY
{ ((Using [`y',⌈PREDECIDED[v]⌉ ] (BLemma `rel_star_transitivity`)⋅ THENM BLemma `rel_rel_star`)
   THEN RepUR ``consensus-ts2 ts-reachable ts-rel ts-init ts-type`` 0
   THEN Auto)⋅ }
Latex:
.....set  predicate..... 
1.  V  :  Type
2.  \mforall{}x,y:ts-reachable(consensus-ts2(V)).
          ((x  ts-rel(consensus-ts2(V))  y)
          {}\mRightarrow{}  (((\mlambda{}x.if  cs-is-decided(x)  then  x  else  UNDECIDED  fi  )  x) 
                  rel\_star(ts-type(consensus-ts1(V));  ts-rel(consensus-ts1(V))) 
                  ((\mlambda{}x.if  cs-is-decided(x)  then  x  else  UNDECIDED  fi  )  y)))
3.  x  :  ts-reachable(consensus-ts1(V))@i
4.  v  :  V@i
5.  x  =  Decided[v]@i
\mvdash{}  ts-init(consensus-ts2(V))  rel\_star(ts-type(consensus-ts2(V));  ts-rel(consensus-ts2(V)))  Decided[v]
By
((Using  [`y',\mkleeneopen{}PREDECIDED[v]\mkleeneclose{}  ]  (BLemma  `rel\_star\_transitivity`)\mcdot{}  THENM  BLemma  `rel\_rel\_star`)
  THEN  RepUR  ``consensus-ts2  ts-reachable  ts-rel  ts-init  ts-type``  0
  THEN  Auto)\mcdot{}
Home
Index