Nuprl Lemma : CLK-ilf

∀[MsgType:{T:Type| valueall-type(T)} ]. ∀[locs:bag(Id)]. ∀[reply:Id ─→ MsgType ─→ (MsgType × Id)].
∀[f:CLK_headers_type{i:l}(MsgType)]. ∀[es:EO+(Message(f))]. ∀[e:E]. ∀[d:ℤ]. ∀[i:Id]. ∀[m:Message(f)].
  {<d, i, m> ∈ CLK_main(MsgType;locs;reply;f)(e)
  ⇐⇒ loc(e) ↓∈ locs
      ∧ ((header(e) = ``CLK msg`` ∈ Name) ∧ has-es-info-type(es;e;f;MsgType × ℤ))
      ∧ (d = 0 ∈ ℤ)
      ∧ (i = (snd((reply loc(e) (fst(msgval(e)))))) ∈ Id)
      ∧ (m = make-Msg(``CLK msg``;<fst((reply loc(e) (fst(msgval(e))))), CLK_ClockVal(MsgType;f)@e>) ∈ Message(f))}


Proof




Definitions occuring in Statement :  CLK_main: CLK_main(MsgType;locs;reply;f),  CLK_ClockFun: CLK_ClockVal(MsgType;f)@e,  CLK_headers_type: CLK_headers_type{i:l}(MsgType),  msg-interface: Interface,  make-Msg: make-Msg(hdr;val),  es-info-body: msgval(e),  has-es-info-type: has-es-info-type(es;e;f;T),  es-header: header(e),  Message: Message(f),  classrel: v ∈ X(e),  event-ordering+: EO+(Info),  es-loc: loc(e),  es-E: E,  Id: Id,  name: Name,  cons: [a / b],  nil: [],  valueall-type: valueall-type(T),  uall: ∀[x:A]. B[x],  guard: {T},  pi1: fst(t),  pi2: snd(t),  iff: P ⇐⇒ Q,  and: P ∧ Q,  set: {x:A| B[x]} ,  apply: f a,  function: x:A ─→ B[x],  pair: <a, b>,  product: x:A × B[x],  natural_number: $n,  int: ℤ,  token: "$token",  universe: Type,  equal: s = t ∈ T,  bag-member: x ↓∈ bs,  bag: bag(T)
Lemmas :  int_seg_wf,  length_wf,  name_wf,  CLK_headers_wf,  l_all_iff,  l_member_wf,  equal_wf,  CLK_headers_fun_wf,  cons_wf_listp,  cons_wf,  nil_wf,  listp_wf,  cons_member,  iff_weakening_equal,  classrel_wf,  msg-interface_wf,  CLK_main_wf,  make-msg-interface_wf,  es-E_wf,  event-ordering+_subtype,  event-ordering+_wf,  Message_wf,  subtype_rel_dep_function,  vatype_wf,  CLK_headers_type_wf,  bag_wf,  Id_wf,  valueall-type_wf,  classrel-at,  CLK_Reply_wf,  iff_transitivity,  iff_weakening_uiff,  squash_wf,  exists_wf,  bag-member_wf,  es-loc_wf,  eclass2-eclass1-classrel,  CLK_mk_reply_wf,  CLK_msg'base_wf,  CLK_Clock_wf,  base-classrel-equal,  subtype_rel_weakening,  ext-eq_weakening,  CLK_Clock-classrel,  has-es-info-type_wf,  es-info-body_wf,  equal-wf-base-T,  int_subtype_base,  CLK_ClockFun_wf,  equal-wf-T-base,  es-header_wf,  bag-member-spread-to-pi,  bag-member-single-weak,  subtype_rel_product,  top_wf,  subtype_top,  CLK_msg'send_wf,  single-bag_wf,  true_wf,  sq_stable__has-es-info-type,  member_wf,  equal-wf-base,  make-Msg_wf

Latex:
\mforall{}[MsgType:\{T:Type|  valueall-type(T)\}  ].  \mforall{}[locs:bag(Id)].  \mforall{}[reply:Id  {}\mrightarrow{}  MsgType  {}\mrightarrow{}  (MsgType  \mtimes{}  Id)].
\mforall{}[f:CLK\_headers\_type\{i:l\}(MsgType)].  \mforall{}[es:EO+(Message(f))].  \mforall{}[e:E].  \mforall{}[d:\mBbbZ{}].  \mforall{}[i:Id].
\mforall{}[m:Message(f)].
    \{<d,  i,  m>  \mmember{}  CLK\_main(MsgType;locs;reply;f)(e)
    \mLeftarrow{}{}\mRightarrow{}  loc(e)  \mdownarrow{}\mmember{}  locs
            \mwedge{}  ((header(e)  =  ``CLK  msg``)  \mwedge{}  has-es-info-type(es;e;f;MsgType  \mtimes{}  \mBbbZ{}))
            \mwedge{}  (d  =  0)
            \mwedge{}  (i  =  (snd((reply  loc(e)  (fst(msgval(e)))))))
            \mwedge{}  (m  =  make-Msg(``CLK  msg``;<fst((reply  loc(e)  (fst(msgval(e))))),  CLK\_ClockVal(MsgType;f)@e>)\000C)\}



Date html generated: 2015_07_23-PM-04_10_18
Last ObjectModification: 2015_02_04-PM-02_49_16

Home Index