{ 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