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

{ Proof }



Definitions occuring in Statement :  same-thread: same-thread(es;p;e;e'),  es-p-locl: e p< e',  causal-predecessor: causal-predecessor(es;p),  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: ,  es-p-le: e p e',  or: P  Q,  guard: {T},  es-p-locl: e p< e',  exists: x:A. B[x],  nat_plus: ,  uall: [x:A]. B[x],  nat: ,  decidable: Dec(P),  sq_type: SQType(T),  p-graph: p-graph(A;f),  p-fun-exp: f^n,  assert: b,  can-apply: can-apply(f;x),  primrec: primrec(n;b;c),  p-id: p-id(),  do-apply: do-apply(f;x),  ycomb: Y,  ifthenelse: if b then t else f fi ,  eq_int: (i = j),  btrue: tt,  isl: isl(x),  outl: outl(x),  cand: A c B,  not: A,  le: A  B,  false: False,  es-causle: e c e',  subtype: S  T
Lemmas :  same-thread_wf,  es-E_wf,  causal-predecessor_wf,  p-inject_wf,  top_wf,  event_ordering_wf,  same-final-iterate-one-one,  causal-pred-wellfounded,  decidable__equal_int,  subtype_base_sq,  int_subtype_base,  es-p-locl_wf,  p-graph_wf2,  p-fun-exp_wf,  nat_plus_inc,  es-causle_weakening_p-le,  decidable__es-E-equal

\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  p<  e'  \mvee{}  (e  =  e'))  \mvee{}  e'  p<  e  supposing  same-thread(es;p;e;e')))


Date html generated: 2011_08_16-AM-11_17_20
Last ObjectModification: 2011_06_20-AM-00_22_46

Home Index