Step
*
of Lemma
pv11_p1-p1b
∀[Cmd:{T:Type| valueall-type(T)} ]. ∀[accpts,ldrs:bag(Id)]. ∀[ldrs_uid:Id ─→ ℤ]. ∀[reps:bag(Id)].
∀[mf:pv11_p1_headers_type{i:l}(Cmd)]. ∀[es:EO+(Message(mf))]. ∀[e:E]. ∀[d:ℤ]. ∀[i:Id]. ∀[auth:𝔹]. ∀[i1:Id].
∀[p,p1:pv11_p1_Ballot_Num()]. ∀[L:(pv11_p1_Ballot_Num() × ℤ × Cmd) List].
(<d, i, mk-msg(auth;``pv11_p1 p1b``;<i1, p, p1, L>)> ∈ pv11_p1_main(Cmd;accpts;ldrs;ldrs_uid;reps;mf)(e)
⇐⇒ loc(e) ↓∈ accpts
∧ ((header(e) = ``pv11_p1 p1a`` ∈ Name) ∧ has-es-info-type(es;e;mf;Id × pv11_p1_Ballot_Num()))
∧ (d = 0 ∈ ℤ)
∧ (i = (fst(msgval(e))) ∈ Id)
∧ auth = pv11_p1_init_active()
∧ (i1 = loc(e) ∈ Id)
∧ (p = (snd(msgval(e))) ∈ pv11_p1_Ballot_Num())
∧ (<p1, L>
= pv11_p1_AcceptorStateFun(Cmd;ldrs_uid;mf;es;e)
∈ (pv11_p1_Ballot_Num() × ((pv11_p1_Ballot_Num() × ℤ × Cmd) List))))
BY
{ ProveILF_instance "p1b""pv11_p1" }
Latex:
Latex:
\mforall{}[Cmd:\{T:Type| valueall-type(T)\} ]. \mforall{}[accpts,ldrs:bag(Id)]. \mforall{}[ldrs$_{uid}$:Id {}\mrightarrow{}\000C \mBbbZ{}]. \mforall{}[reps:bag(Id)].
\mforall{}[mf:pv11\_p1\_headers\_type\{i:l\}(Cmd)]. \mforall{}[es:EO+(Message(mf))]. \mforall{}[e:E]. \mforall{}[d:\mBbbZ{}]. \mforall{}[i:Id]. \mforall{}[auth:\mBbbB{}].
\mforall{}[i1:Id]. \mforall{}[p,p1:pv11\_p1\_Ballot\_Num()]. \mforall{}[L:(pv11\_p1\_Ballot\_Num() \mtimes{} \mBbbZ{} \mtimes{} Cmd) List].
(<d, i, mk-msg(auth;``pv11\_p1 p1b``;<i1, p, p1, L>)> \mmember{} pv11\_p1\_main(Cmd;accpts;ldrs;ldrs$_\000C{uid}$;reps;mf)(e)
\mLeftarrow{}{}\mRightarrow{} loc(e) \mdownarrow{}\mmember{} accpts
\mwedge{} ((header(e) = ``pv11\_p1 p1a``) \mwedge{} has-es-info-type(es;e;mf;Id \mtimes{} pv11\_p1\_Ballot\_Num()))
\mwedge{} (d = 0)
\mwedge{} (i = (fst(msgval(e))))
\mwedge{} auth = pv11\_p1\_init\_active()
\mwedge{} (i1 = loc(e))
\mwedge{} (p = (snd(msgval(e))))
\mwedge{} (<p1, L> = pv11\_p1\_AcceptorStateFun(Cmd;ldrs$_{uid}$;mf;es;e)))
By
Latex:
ProveILF\_instance "p1b""pv11\_p1"
Home
Index