Step * 2 of Lemma CLK-prop


1. MsgType {T:Type| valueall-type(T)} @i'
2. locs bag(Id)@i
3. reply Id ─→ MsgType ─→ (MsgType × Id)@i
4. CLK_headers_type{i:l}(MsgType)@i'
5. (f ``CLK msg``) (MsgType × ℤ) ∈ Type
6. f ∈ Name ─→ Type
7. es EO+(Message(f))@i'
8. e1 E@i
9. CLK_message-constraint{i:l}(MsgType;locs;reply;f)@i'
10. ∀e:E. (↑e ∈b CLK_msg'base(MsgType;f))@i
11. e2 E@i
12. ∀e3:E
      ((e3 < e2)
       (∀clock1,clock2:ℤ.
            (e1 ─→ e3  clock1 ∈ CLK_Clock(MsgType;f)(e1)  clock2 ∈ CLK_Clock(MsgType;f)(e3)  clock1 < clock2)))
13. clock1 : ℤ@i
14. clock2 : ℤ@i
15. E@i
16. (e < e2)@i
17. (loc(e) loc(e2) ∈ Id))  e2 caused by in CLK_main(MsgType;locs;reply;f)@i
18. e1 ∈ E@i
19. clock1 ∈ CLK_Clock(MsgType;f)(e1)@i
20. clock2 ∈ CLK_Clock(MsgType;f)(e2)@i
21. ¬(loc(e) loc(e2) ∈ Id)
⊢ clock1 < clock2
BY
((D (-5) THENA Auto)
   THEN (-1)
   THEN RepUR ``make-msg-interface`` (-1)
   THEN (RWO "CLK-ilf" (-1) THENA Auto)
   THEN RepD) }

1
1. MsgType {T:Type| valueall-type(T)} @i'
2. locs bag(Id)@i
3. reply Id ─→ MsgType ─→ (MsgType × Id)@i
4. CLK_headers_type{i:l}(MsgType)@i'
5. (f ``CLK msg``) (MsgType × ℤ) ∈ Type
6. f ∈ Name ─→ Type
7. es EO+(Message(f))@i'
8. e1 E@i
9. CLK_message-constraint{i:l}(MsgType;locs;reply;f)@i'
10. ∀e:E. (↑e ∈b CLK_msg'base(MsgType;f))@i
11. e2 E@i
12. ∀e3:E
      ((e3 < e2)
       (∀clock1,clock2:ℤ.
            (e1 ─→ e3  clock1 ∈ CLK_Clock(MsgType;f)(e1)  clock2 ∈ CLK_Clock(MsgType;f)(e3)  clock1 < clock2)))
13. clock1 : ℤ@i
14. clock2 : ℤ@i
15. E@i
16. (e < e2)@i
17. e1 ∈ E@i
18. clock1 ∈ CLK_Clock(MsgType;f)(e1)@i
19. clock2 ∈ CLK_Clock(MsgType;f)(e2)@i
20. ¬(loc(e) loc(e2) ∈ Id)
21. delay : ℤ@i
22. loc(e) ↓∈ locs
23. header(e) ``CLK msg`` ∈ Name
24. has-es-info-type(es;e;f;MsgType × ℤ)
25. delay 0 ∈ ℤ
26. loc(e2) (snd((reply loc(e) (fst(msgval(e)))))) ∈ Id
27. info(e2) make-Msg(``CLK msg``;<fst((reply loc(e) (fst(msgval(e))))), CLK_ClockVal(MsgType;f)@e>) ∈ Message(f)
⊢ clock1 < clock2


Latex:



Latex:

1.  MsgType  :  \{T:Type|  valueall-type(T)\}  @i'
2.  locs  :  bag(Id)@i
3.  reply  :  Id  {}\mrightarrow{}  MsgType  {}\mrightarrow{}  (MsgType  \mtimes{}  Id)@i
4.  f  :  CLK\_headers\_type\{i:l\}(MsgType)@i'
5.  (f  ``CLK  msg``)  =  (MsgType  \mtimes{}  \mBbbZ{})
6.  f  \mmember{}  Name  {}\mrightarrow{}  Type
7.  es  :  EO+(Message(f))@i'
8.  e1  :  E@i
9.  CLK\_message-constraint\{i:l\}(MsgType;locs;reply;f)@i'
10.  \mforall{}e:E.  (\muparrow{}e  \mmember{}\msubb{}  CLK\_msg'base(MsgType;f))@i
11.  e2  :  E@i
12.  \mforall{}e3:E
            ((e3  <  e2)
            {}\mRightarrow{}  (\mforall{}clock1,clock2:\mBbbZ{}.
                        (e1  {}\mrightarrow{}  e3
                        {}\mRightarrow{}  clock1  \mmember{}  CLK\_Clock(MsgType;f)(e1)
                        {}\mRightarrow{}  clock2  \mmember{}  CLK\_Clock(MsgType;f)(e3)
                        {}\mRightarrow{}  clock1  <  clock2)))
13.  clock1  :  \mBbbZ{}@i
14.  clock2  :  \mBbbZ{}@i
15.  e  :  E@i
16.  (e  <  e2)@i
17.  (\mneg{}(loc(e)  =  loc(e2)))  {}\mRightarrow{}  e2  caused  by  e  in  CLK\_main(MsgType;locs;reply;f)@i
18.  e  =  e1@i
19.  clock1  \mmember{}  CLK\_Clock(MsgType;f)(e1)@i
20.  clock2  \mmember{}  CLK\_Clock(MsgType;f)(e2)@i
21.  \mneg{}(loc(e)  =  loc(e2))
\mvdash{}  clock1  <  clock2


By


Latex:
((D  (-5)  THENA  Auto)
  THEN  D  (-1)
  THEN  RepUR  ``make-msg-interface``  (-1)
  THEN  (RWO  "CLK-ilf"  (-1)  THENA  Auto)
  THEN  RepD)




Home Index