Step
*
3
of Lemma
consensus-refinement2
1. [V] : Type
2. ∀x,y:ts-reachable(consensus-ts3(V)).
((x ts-rel(consensus-ts3(V)) y)
⇒ (((λL.cs-ref-map3(L)) x) (ts-rel(consensus-ts2(V))^*) ((λL.cs-ref-map3(L)) y)))
3. x : ts-reachable(consensus-ts2(V))@i
4. ts-final(consensus-ts2(V)) x@i
⊢ ∃y:ts-reachable(consensus-ts3(V))
((ts-final(consensus-ts3(V)) y) ∧ (((λL.cs-ref-map3(L)) y) = x ∈ ts-type(consensus-ts2(V))))
BY
{ (RepUR ``ts-final consensus-ts2`` -1 THEN Reduce 0 THEN ExRepD THEN InstConcl [⌈[COMMITED[v]]⌉]⋅ THEN Auto) }
1
.....wf.....
1. V : Type
2. ∀x,y:ts-reachable(consensus-ts3(V)).
((x ts-rel(consensus-ts3(V)) y)
⇒ (((λL.cs-ref-map3(L)) x) (ts-rel(consensus-ts2(V))^*) ((λL.cs-ref-map3(L)) y)))
3. x : ts-reachable(consensus-ts2(V))@i
4. v : V@i
5. x = Decided[v] ∈ consensus-state2(V)@i
⊢ [COMMITED[v]] ∈ ts-reachable(consensus-ts3(V))
2
1. [V] : Type
2. ∀x,y:ts-reachable(consensus-ts3(V)).
((x ts-rel(consensus-ts3(V)) y)
⇒ (((λL.cs-ref-map3(L)) x) (ts-rel(consensus-ts2(V))^*) ((λL.cs-ref-map3(L)) y)))
3. x : ts-reachable(consensus-ts2(V))@i
4. v : V@i
5. x = Decided[v] ∈ consensus-state2(V)@i
⊢ ts-final(consensus-ts3(V)) [COMMITED[v]]
3
1. V : Type
2. ∀x,y:ts-reachable(consensus-ts3(V)).
((x ts-rel(consensus-ts3(V)) y)
⇒ (((λL.cs-ref-map3(L)) x) (ts-rel(consensus-ts2(V))^*) ((λL.cs-ref-map3(L)) y)))
3. x : ts-reachable(consensus-ts2(V))@i
4. v : V@i
5. x = Decided[v] ∈ consensus-state2(V)@i
6. ts-final(consensus-ts3(V)) [COMMITED[v]]
⊢ cs-ref-map3([COMMITED[v]]) = x ∈ ts-type(consensus-ts2(V))
4
1. V : Type
2. ∀x,y:ts-reachable(consensus-ts3(V)).
((x ts-rel(consensus-ts3(V)) y)
⇒ (((λL.cs-ref-map3(L)) x) (ts-rel(consensus-ts2(V))^*) ((λL.cs-ref-map3(L)) y)))
3. x : ts-reachable(consensus-ts2(V))@i
4. v : V@i
5. x = Decided[v] ∈ consensus-state2(V)@i
6. y : ts-reachable(consensus-ts3(V))
7. ts-final(consensus-ts3(V)) y
⊢ cs-ref-map3(y) ∈ ts-type(consensus-ts2(V))
Latex:
1. [V] : Type
2. \mforall{}x,y:ts-reachable(consensus-ts3(V)).
((x ts-rel(consensus-ts3(V)) y)
{}\mRightarrow{} (((\mlambda{}L.cs-ref-map3(L)) x) (ts-rel(consensus-ts2(V))\^{}*) ((\mlambda{}L.cs-ref-map3(L)) y)))
3. x : ts-reachable(consensus-ts2(V))@i
4. ts-final(consensus-ts2(V)) x@i
\mvdash{} \mexists{}y:ts-reachable(consensus-ts3(V))
((ts-final(consensus-ts3(V)) y) \mwedge{} (((\mlambda{}L.cs-ref-map3(L)) y) = x))
By
(RepUR ``ts-final consensus-ts2`` -1
THEN Reduce 0
THEN ExRepD
THEN InstConcl [\mkleeneopen{}[COMMITED[v]]\mkleeneclose{}]\mcdot{}
THEN Auto)
Home
Index