Step * 1 of Lemma pRun-invariant2


1. [M] Type ⟶ Type
2. Continuous+(P.M[P])
3. n2m : ℕ ⟶ pMsg(P.M[P])@i
4. l2m Id ⟶ pMsg(P.M[P])@i
5. S0 System(P.M[P])@i
6. env pEnvType(P.M[P])@i
7. fulpRunType(P.M[P])@i
8. pRun(S0;env;n2m;l2m) r ∈ fulpRunType(P.M[P])@i
9. r ∈ pRunType(P.M[P])
10. ∀e:runEvents(r)
      sub-mset(Process(P.M[P]); map(λP.(fst(Process-apply(P;run-event-msg(r;e))));run-prior-state(S0;r;e));
               run-event-state(r;e))@i
⊢ ∀e1,e2:runEvents(r).
    (∀P:Process(P.M[P])
       ((P ∈ run-prior-state(S0;r;e1))
        (iterate-Process(P;map(λe.run-event-msg(r;e);run-event-interval(r;e1;e2)))
            ∈ run-event-state(r;e2)))) supposing 
       ((run-event-step(e1) ≤ run-event-step(e2)) and 
       (run-event-loc(e1) run-event-loc(e2) ∈ Id))
BY
Assert ⌜∀t:ℕ. ∀e1,e2:runEvents(r).
            ((run-event-loc(e1) run-event-loc(e2) ∈ Id)
             (run-event-step(e1) ≤ run-event-step(e2))
             run-event-step(e2) < t
             (∀P:Process(P.M[P])
                  ((P ∈ run-prior-state(S0;r;e1))
                   (iterate-Process(P;map(λe.run-event-msg(r;e);run-event-interval(r;e1;e2)))
                       ∈ run-event-state(r;e2)))))⌝⋅ }

1
.....assertion..... 
1. [M] Type ⟶ Type
2. Continuous+(P.M[P])
3. n2m : ℕ ⟶ pMsg(P.M[P])@i
4. l2m Id ⟶ pMsg(P.M[P])@i
5. S0 System(P.M[P])@i
6. env pEnvType(P.M[P])@i
7. fulpRunType(P.M[P])@i
8. pRun(S0;env;n2m;l2m) r ∈ fulpRunType(P.M[P])@i
9. r ∈ pRunType(P.M[P])
10. ∀e:runEvents(r)
      sub-mset(Process(P.M[P]); map(λP.(fst(Process-apply(P;run-event-msg(r;e))));run-prior-state(S0;r;e));
               run-event-state(r;e))@i
⊢ ∀t:ℕ. ∀e1,e2:runEvents(r).
    ((run-event-loc(e1) run-event-loc(e2) ∈ Id)
     (run-event-step(e1) ≤ run-event-step(e2))
     run-event-step(e2) < t
     (∀P:Process(P.M[P])
          ((P ∈ run-prior-state(S0;r;e1))
           (iterate-Process(P;map(λe.run-event-msg(r;e);run-event-interval(r;e1;e2))) ∈ run-event-state(r;e2)))))

2
1. [M] Type ⟶ Type
2. Continuous+(P.M[P])
3. n2m : ℕ ⟶ pMsg(P.M[P])@i
4. l2m Id ⟶ pMsg(P.M[P])@i
5. S0 System(P.M[P])@i
6. env pEnvType(P.M[P])@i
7. fulpRunType(P.M[P])@i
8. pRun(S0;env;n2m;l2m) r ∈ fulpRunType(P.M[P])@i
9. r ∈ pRunType(P.M[P])
10. ∀e:runEvents(r)
      sub-mset(Process(P.M[P]); map(λP.(fst(Process-apply(P;run-event-msg(r;e))));run-prior-state(S0;r;e));
               run-event-state(r;e))@i
11. ∀t:ℕ. ∀e1,e2:runEvents(r).
      ((run-event-loc(e1) run-event-loc(e2) ∈ Id)
       (run-event-step(e1) ≤ run-event-step(e2))
       run-event-step(e2) < t
       (∀P:Process(P.M[P])
            ((P ∈ run-prior-state(S0;r;e1))
             (iterate-Process(P;map(λe.run-event-msg(r;e);run-event-interval(r;e1;e2))) ∈ run-event-state(r;e2)))))
⊢ ∀e1,e2:runEvents(r).
    (∀P:Process(P.M[P])
       ((P ∈ run-prior-state(S0;r;e1))
        (iterate-Process(P;map(λe.run-event-msg(r;e);run-event-interval(r;e1;e2)))
            ∈ run-event-state(r;e2)))) supposing 
       ((run-event-step(e1) ≤ run-event-step(e2)) and 
       (run-event-loc(e1) run-event-loc(e2) ∈ Id))


Latex:


Latex:

1.  [M]  :  Type  {}\mrightarrow{}  Type
2.  Continuous+(P.M[P])
3.  n2m  :  \mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P])@i
4.  l2m  :  Id  {}\mrightarrow{}  pMsg(P.M[P])@i
5.  S0  :  System(P.M[P])@i
6.  env  :  pEnvType(P.M[P])@i
7.  r  :  fulpRunType(P.M[P])@i
8.  pRun(S0;env;n2m;l2m)  =  r@i
9.  r  \mmember{}  pRunType(P.M[P])
10.  \mforall{}e:runEvents(r)
            sub-mset(Process(P.M[P]);  map(\mlambda{}P.(fst(Process-apply(P;run-event-msg(r;e))));
                                                                        run-prior-state(S0;r;e));  run-event-state(r;e))@i
\mvdash{}  \mforall{}e1,e2:runEvents(r).
        (\mforall{}P:Process(P.M[P])
              ((P  \mmember{}  run-prior-state(S0;r;e1))
              {}\mRightarrow{}  (iterate-Process(P;map(\mlambda{}e.run-event-msg(r;e);run-event-interval(r;e1;e2)))
                        \mmember{}  run-event-state(r;e2))))  supposing 
              ((run-event-step(e1)  \mleq{}  run-event-step(e2))  and 
              (run-event-loc(e1)  =  run-event-loc(e2)))


By


Latex:
Assert  \mkleeneopen{}\mforall{}t:\mBbbN{}.  \mforall{}e1,e2:runEvents(r).
                    ((run-event-loc(e1)  =  run-event-loc(e2))
                    {}\mRightarrow{}  (run-event-step(e1)  \mleq{}  run-event-step(e2))
                    {}\mRightarrow{}  run-event-step(e2)  <  t
                    {}\mRightarrow{}  (\mforall{}P:Process(P.M[P])
                                ((P  \mmember{}  run-prior-state(S0;r;e1))
                                {}\mRightarrow{}  (iterate-Process(P;map(\mlambda{}e.run-event-msg(r;e);run-event-interval(r;e1;e2)))
                                          \mmember{}  run-event-state(r;e2)))))\mkleeneclose{}\mcdot{}




Home Index