Step * 1 of Lemma CLK-prop2


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. ∀e:E. (↑e ∈b CLK_msg'base(MsgType;f))@i
10. e2 E@i
11. ∀e3:E
      ((e3 < e2)
       (∀clock1,clock2:ℤ.
            (e1 ⟶ e3  clock1 ∈ CLK_Clock(MsgType;f)(e1)  clock2 ∈ CLK_Clock(MsgType;f)(e3)  clock1 < clock2)))
12. clock1 : ℤ@i
13. clock2 : ℤ@i
14. E@i
15. (e < e2)@i
16. (loc(e) loc(e2) ∈ Id))
 (∃delay:ℤmake-msg-interface(delay;loc(e2);info(e2)) ∈ CLK_main(MsgType;locs;reply;f)(e))@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
⊢ clock1 < clock2
BY
((FLemma `CLK_strict_inc2` [-3;-2] THEN Auto)
   THEN Try (Complete ((D THEN Auto)))
   THEN InstConcl [⌜e2⌝]⋅
   THEN Auto
   THEN 0
   THEN Auto) }


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.  \mforall{}e:E.  (\muparrow{}e  \mmember{}\msubb{}  CLK\_msg'base(MsgType;f))@i
10.  e2  :  E@i
11.  \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)))
12.  clock1  :  \mBbbZ{}@i
13.  clock2  :  \mBbbZ{}@i
14.  e  :  E@i
15.  (e  <  e2)@i
16.  (\mneg{}(loc(e)  =  loc(e2)))
{}\mRightarrow{}  (\mexists{}delay:\mBbbZ{}.  make-msg-interface(delay;loc(e2);info(e2))  \mmember{}  CLK\_main(MsgType;locs;reply;f)(e))@i
17.  e  =  e1@i
18.  clock1  \mmember{}  CLK\_Clock(MsgType;f)(e1)@i
19.  clock2  \mmember{}  CLK\_Clock(MsgType;f)(e2)@i
20.  loc(e)  =  loc(e2)
\mvdash{}  clock1  <  clock2


By


Latex:
((FLemma  `CLK\_strict\_inc2`  [-3;-2]  THEN  Auto)
  THEN  Try  (Complete  ((D  0  THEN  Auto)))
  THEN  InstConcl  [\mkleeneopen{}e2\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  D  0
  THEN  Auto)




Home Index