Nuprl Lemma : mu_ex_v5_send-token-received-or-born

[es:EO']. [m1,m2,init,p1,p2,p:Id]. [e:E].
  (<p, make-Msg([token];Unit;) mu_ex_v5_main(init;m1;m2;p1;p2)(e)
   (e':E
        (((  mu_ex_v5_Token()(e')  (e' <loc e))
          ((loc(e') = init)  (first(e'))  (  mu_ex_v5_Token()(e'))  e' loc e ))
         (e'':E
             (e' loc e''   (e'' <loc e)  (b1,b2,b3:.  (<b1, b2, b3 mu_ex_v5_State(init)(e'')  (b2)))))
         (e'':E. ((e' <loc e'')  (e'' <loc e)  (  mu_ex_v5_Token()(e'')))))))


Proof not projected




Definitions occuring in Statement :  mu_ex_v5_main: mu_ex_v5_main(initial_token;m1;m2;proc1;proc2) mu_ex_v5_State: mu_ex_v5_State(initial_token) mu_ex_v5_Token: mu_ex_v5_Token() make-Msg: make-Msg(hdr;typ;val) Message: Message classrel: v  X(e) event-ordering+: EO+(Info) es-le: e loc e'  es-locl: (e <loc e') es-first: first(e) es-loc: loc(e) es-E: E Id: Id assert: b bool: it: uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] not: A squash: T implies: P  Q or: P  Q and: P  Q unit: Unit pair: <a, b> product: x:A  B[x] cons: [car / cdr] nil: [] token: "$token" equal: s = t
Definitions :  prop: false: False le: A  B ge: i  j  nat: true: True member: t  T implies: P  Q all: x:A. B[x] not: A or: P  Q squash: T unit: Unit so_lambda: x.t[x] top: Top uall: [x:A]. B[x] Accum-loc-class: Accum-loc-class(f;init;X) SM4-class-du: SM4-class-du(init;trX1;trX2;trX3;trX4) mu_ex_v5_State: mu_ex_v5_State(initial_token) eq_atom: x =a y atom-deq: AtomDeq list-deq: list-deq(eq) name-deq: NameDeq name_eq: name_eq(x;y) name: Name subtype: S  T bfalse: ff band: p  q ifthenelse: if b then t else f fi  uiff: uiff(P;Q) assert: b and: P  Q exists: x:A. B[x] btrue: tt guard: {T} cand: A c B pi2: snd(t) pi1: fst(t) Id: Id uimplies: b supposing a strongwellfounded: SWellFounded(R[x; y]) es-locl: (e <loc e') so_apply: x[s] es-p-local-pred: es-p-local-pred(es;P) sq_type: SQType(T) spreadn: spread3 isl: isl(x) mu_ex_v5_onRequest: mu_ex_v5_onRequest() disjoint-union-tr: tr1 + tr2 mu_ex_v5_Request: mu_ex_v5_Request() mu_ex_v5_Token: mu_ex_v5_Token() single-valued-classrel: single-valued-classrel(es;X;T) iff: P  Q outr: outr(x) mu_ex_v5_onToken: mu_ex_v5_onToken() es-le: e loc e'  mu_ex_v5_onLeaveCS: mu_ex_v5_onLeaveCS() mu_ex_v5_onUseSR: mu_ex_v5_onUseSR() deq: EqDecider(T) mu_ex_v5_initState: mu_ex_v5_initState(initial_token) rev_implies: P  Q it: eq_id: a = b
Lemmas :  event-ordering+_wf it_wf valueall-type_wf equal-valueall-type make-Msg_wf mu_ex_v5_main_wf Id_wf es-E_wf equal_wf btrue_wf mu_ex_v5_State_wf mu_ex_v5_initState_wf primed-class-opt_wf bool_wf mu_ex_v5_Token_wf unit_wf2 classrel_wf not_wf primed-class-opt-classrel es-causl_wf le_wf nat_wf less_than_wf ge_wf nat_properties Message_wf event-ordering+_inc es-causl-swellfnd mu_ex_v5_send-token-not-token mu_ex_v5_send-token-had-token lifting-loc-2_wf rec-combined-loc-class-opt-1_wf mu_ex_v5_LeaveCS_wf mu_ex_v5_UseSR_wf mu_ex_v5_Request_wf disjoint-union-class_wf mu_ex_v5_onLeaveCS_wf mu_ex_v5_onUseSR_wf all_wf uall_wf mu_ex_v5_onToken_wf mu_ex_v5_onRequest_wf disjoint-union-tr_wf simple-loc-comb-2-classrel rec-combined-loc-class-opt-1-classrel band_wf assert_elim es-first_wf assert_wf es-loc_wf or_wf and_wf es-le_wf es-locl_wf assert-name_eq atom_subtype_base list_subtype_base name_wf base-noloc-classrel assert_of_band bool_subtype_base subtype_base_sq pi1_wf_top pi2_wf disjoint-union-classrel es-locl_transitivity1 es-le_weakening es-locl_transitivity2 mu_ex_v5_State-single-val es-locl-trichotomy mu_ex_v5_token-implies-state assert_of_bnot eqff_to_assert uiff_transitivity eqtt_to_assert bool_cases bnot_wf btrue_neq_bfalse assert-eq-id deq_wf id-deq_wf bfalse_wf bag-member-single es-init_wf atom2_subtype_base es-loc-init es-init-le es-first-init

\mforall{}[es:EO'].  \mforall{}[m1,m2,init,p1,p2,p:Id].  \mforall{}[e:E].
    (<p,  make-Msg([token];Unit;\mcdot{})>  \mmember{}  mu\_ex\_v5\_main(init;m1;m2;p1;p2)(e)
    {}\mRightarrow{}  (\mdownarrow{}\mexists{}e':E
                (((\mcdot{}  \mmember{}  mu\_ex\_v5\_Token()(e')  \mwedge{}  (e'  <loc  e))
                  \mvee{}  ((loc(e')  =  init)  \mwedge{}  (\muparrow{}first(e'))  \mwedge{}  (\mneg{}\mcdot{}  \mmember{}  mu\_ex\_v5\_Token()(e'))  \mwedge{}  e'  \mleq{}loc  e  ))
                \mwedge{}  (\mforall{}e'':E
                          (e'  \mleq{}loc  e'' 
                          {}\mRightarrow{}  (e''  <loc  e)
                          {}\mRightarrow{}  (\mforall{}b1,b2,b3:\mBbbB{}.    (<b1,  b2,  b3>  \mmember{}  mu\_ex\_v5\_State(init)(e'')  {}\mRightarrow{}  (\muparrow{}b2)))))
                \mwedge{}  (\mforall{}e'':E.  ((e'  <loc  e'')  {}\mRightarrow{}  (e''  <loc  e)  {}\mRightarrow{}  (\mneg{}\mcdot{}  \mmember{}  mu\_ex\_v5\_Token()(e'')))))))


Date html generated: 2012_02_20-PM-07_02_10
Last ObjectModification: 2012_02_02-PM-03_02_26

Home Index