Step
*
of Lemma
pv11_p1_ldr_fun_mem_propose
∀Cmd:ValueAllType. ∀f:pv11_p1_headers_type{i:l}(Cmd). ∀es:EO+(Message(f)). ∀e1,e2:E. ∀ldrs_uid:Id ─→ ℤ.
∀p:ℤ × Cmd + pv11_p1_Ballot_Num() × ((pv11_p1_Ballot_Num() × ℤ × Cmd) List) + pv11_p1_Ballot_Num().
  ((e1 <loc e2)
  
⇒ p ∈ pv11_p1_propose'base(Cmd;f) (+) pv11_p1_adopted'base(Cmd;f) (+) pv11_p1_preempted'base(Cmd;f)(e1)
  
⇒ case p
      of inl(x) =>
      (¬↑(pv11_p1_in_domain(Cmd) (fst(x)) (snd(snd(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e1))))))
      
⇒ (↑(pv11_p1_in_domain(Cmd) (fst(x)) (snd(snd(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e2))))))
      | inr(x) =>
      True)
BY
{ (StartEmlProof
   THEN (InstLemma `pv11_p1_ldr_mem_propose` [⌈Cmd⌉;⌈f⌉;⌈es⌉;⌈e1⌉;⌈e2⌉;⌈ldrs_uid⌉;
         ⌈pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e1)⌉;⌈pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e2)⌉;⌈p⌉]⋅
         THENA (Auto THEN BLemma `pv11_p1_LeaderState-classrel` THEN Auto)
         )
   THEN DVar `p'
   THEN All Reduce
   THEN Auto
   THEN Repeat (SimplifyProdsAndUnions)
   THEN All Reduce
   THEN (Subst ⌈pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e1) ~ <fst(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e1))
                                                               , fst(snd(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e1)))
                                                               , snd(snd(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e1)))>\000C⌉ (-2)⋅
         THENA RepeatFor 2 ((RWO "pair-eta<" 0 THEN Auto))
         )
   THEN (Subst ⌈pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e2) ~ <fst(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e2))
                                                               , fst(snd(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e2)))
                                                               , snd(snd(pv11_p1_LeaderStateFun(Cmd;ldrs_uid;f;es;e2)))>\000C⌉ (-2)⋅
         THENA RepeatFor 2 ((RWO "pair-eta<" 0 THEN Auto))
         )
   THEN All Reduce
   THEN Auto) }
Latex:
Latex:
\mforall{}Cmd:ValueAllType.  \mforall{}f:pv11\_p1\_headers\_type\{i:l\}(Cmd).  \mforall{}es:EO+(Message(f)).  \mforall{}e1,e2:E.
\mforall{}ldrs$_{uid}$:Id  {}\mrightarrow{}  \mBbbZ{}.  \mforall{}p:\mBbbZ{}  \mtimes{}  Cmd  +  pv11\_p1\_Ballot\_Num()
                                                              \mtimes{}  ((pv11\_p1\_Ballot\_Num()  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd)  List)  +  pv11\_p1\_Ballot\_Num().
    ((e1  <loc  e2)
    {}\mRightarrow{}  p  \mmember{}
            pv11\_p1\_propose'base(Cmd;f)  (+)  pv11\_p1\_adopted'base(Cmd;f)  (+)  pv11\_p1\_preempted'base(Cmd;f)(
            e1)
    {}\mRightarrow{}  case  p
            of  inl(x)  =>
            (\mneg{}\muparrow{}(pv11\_p1\_in\_domain(Cmd)  (fst(x))  (snd(snd(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid\000C}$;f;es;e1))))))
            {}\mRightarrow{}  (\muparrow{}(pv11\_p1\_in\_domain(Cmd)  (fst(x)) 
                        (snd(snd(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e2))))))
            |  inr(x)  =>
            True)
By
Latex:
(StartEmlProof
  THEN  (InstLemma  `pv11\_p1\_ldr\_mem\_propose`  [\mkleeneopen{}Cmd\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}e1\mkleeneclose{};\mkleeneopen{}e2\mkleeneclose{};\mkleeneopen{}ldrs$_{uid}\mbackslash{}ff\000C24\mkleeneclose{};
              \mkleeneopen{}pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e1)\mkleeneclose{};\mkleeneopen{}pv11\_p1\_LeaderStateFu\000Cn(Cmd;ldrs$_{uid}$;f;es;e2)\mkleeneclose{};
              \mkleeneopen{}p\mkleeneclose{}]\mcdot{}
              THENA  (Auto  THEN  BLemma  `pv11\_p1\_LeaderState-classrel`  THEN  Auto)
              )
  THEN  DVar  `p'
  THEN  All  Reduce
  THEN  Auto
  THEN  Repeat  (SimplifyProdsAndUnions)
  THEN  All  Reduce
  THEN  (Subst  \mkleeneopen{}pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e1) 
                            \msim{}  <fst(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e1))
                                ,  fst(snd(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e1)))
                                ,  snd(snd(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e1)))>\mkleeneclose{}  (\000C-2)\mcdot{}
              THENA  RepeatFor  2  ((RWO  "pair-eta<"  0  THEN  Auto))
              )
  THEN  (Subst  \mkleeneopen{}pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e2) 
                            \msim{}  <fst(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e2))
                                ,  fst(snd(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e2)))
                                ,  snd(snd(pv11\_p1\_LeaderStateFun(Cmd;ldrs$_{uid}$;f;es;e2)))>\mkleeneclose{}  (\000C-2)\mcdot{}
              THENA  RepeatFor  2  ((RWO  "pair-eta<"  0  THEN  Auto))
              )
  THEN  All  Reduce
  THEN  Auto)
Home
Index