Step * 3 1 of Lemma consensus-refinement1

.....wf..... 
1. Type
2. ∀x,y:ts-reachable(consensus-ts2(V)).
     ((x ts-rel(consensus-ts2(V)) y)
      (((λx.if cs-is-decided(x) then else UNDECIDED fi x) 
         (ts-rel(consensus-ts1(V))^*) 
         ((λx.if cs-is-decided(x) then else UNDECIDED fi y)))
3. ts-reachable(consensus-ts1(V))@i
4. V@i
5. Decided[v] ∈ consensus-state1(V)@i
⊢ Decided[v] ∈ ts-reachable(consensus-ts2(V))
BY
(Unfold `ts-reachable` THEN Auto THEN MemTypeCD THEN Auto) }

1
.....set predicate..... 
1. Type
2. ∀x,y:ts-reachable(consensus-ts2(V)).
     ((x ts-rel(consensus-ts2(V)) y)
      (((λx.if cs-is-decided(x) then else UNDECIDED fi x) 
         (ts-rel(consensus-ts1(V))^*) 
         ((λx.if cs-is-decided(x) then else UNDECIDED fi y)))
3. ts-reachable(consensus-ts1(V))@i
4. V@i
5. Decided[v] ∈ consensus-state1(V)@i
⊢ ts-init(consensus-ts2(V)) (ts-rel(consensus-ts2(V))^*) Decided[v]


Latex:


.....wf..... 
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{}  Decided[v]  \mmember{}  ts-reachable(consensus-ts2(V))


By

(Unfold  `ts-reachable`  0  THEN  Auto  THEN  MemTypeCD  THEN  Auto)




Home Index