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

{ Proof }



Definitions occuring in Statement :  same-thread: same-thread(es;p;e;e') es-p-locl: e pe' 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 pe' 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