{ es:EO. p:E  (E + Top).
    ((causal-predecessor(es;p)  p-inject(E;E;p))
     (e,e':E.
          ((e < e')  (e = e'))  (e' < e) supposing same-thread(es;p;e;e'))) }

{ Proof }



Definitions occuring in Statement :  same-thread: same-thread(es;p;e;e'),  causal-predecessor: causal-predecessor(es;p),  es-causl: (e < e'),  es-E: E,  event_ordering: EO,  uimplies: b supposing a,  top: Top,  all: x:A. B[x],  implies: P  Q,  or: P  Q,  and: P  Q,  function: x:A  B[x],  union: left + right,  equal: s = t,  p-inject: p-inject(A;B;f)
Definitions :  all: x:A. B[x],  implies: P  Q,  and: P  Q,  uimplies: b supposing a,  same-thread: same-thread(es;p;e;e'),  member: t  T,  prop: ,  or: P  Q,  guard: {T},  uall: [x:A]. B[x]
Lemmas :  same-thread_wf,  es-E_wf,  causal-predecessor_wf,  p-inject_wf,  top_wf,  event_ordering_wf,  thread-p-ordered,  es-causl_wf,  es-causl_weakening_p-locl

\mforall{}es:EO.  \mforall{}p:E  {}\mrightarrow{}  (E  +  Top).
    ((causal-predecessor(es;p)  \mwedge{}  p-inject(E;E;p))
    {}\mRightarrow{}  (\mforall{}e,e':E.    ((e  <  e')  \mvee{}  (e  =  e'))  \mvee{}  (e'  <  e)  supposing  same-thread(es;p;e;e')))


Date html generated: 2011_08_16-AM-11_17_26
Last ObjectModification: 2011_06_20-AM-00_22_52

Home Index