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