{ es:EO
    [P:E  ]. [R:E  E  ].
      (single-thread-generator{i:l}(es;P;R)
       ((e,e':E.  (P[e]  P[e']  (((e R e')  (e = e'))  (e' R e))))
         c (x,y:E.  ((P[x]  P[y])  (R x y  (x < y))))
         c (x,y:E.  (R|P x y  R|P x y))
         c (x,y:E.  (R|P x y  R|P! x y))
         c (x,y,x',y':E.
               ((R|P x y)  (R|P y' y)  ((R|P x y')  (x = y'))))
         c (x,y,x',y':E.
               ((R|P x y)  (R|P x' x)  (R|P y' y)  (R|P x' y'))))) }

{ Proof }



Definitions occuring in Statement :  single-thread-generator: single-thread-generator{i:l}(es;P;R),  es-causl: (e < e'),  es-E: E,  event_ordering: EO,  uall: [x:A]. B[x],  cand: A c B,  prop: ,  infix_ap: x f y,  so_apply: x[s],  all: x:A. B[x],  iff: P  Q,  implies: P  Q,  or: P  Q,  and: P  Q,  apply: f a,  function: x:A  B[x],  equal: s = t,  rel-immediate: R!,  rel_plus: R,  rel-restriction: R|P
Definitions :  all: x:A. B[x],  uall: [x:A]. B[x],  prop: ,  implies: P  Q,  single-thread-generator: single-thread-generator{i:l}(es;P;R),  cand: A c B,  so_apply: x[s],  or: P  Q,  infix_ap: x f y,  and: P  Q,  iff: P  Q,  member: t  T,  rev_implies: P  Q,  guard: {T},  uimplies: b supposing a,  trans: Trans(T;x,y.E[x; y]),  not: A,  false: False,  sum_of_torder: sum_of_torder(T;R),  rel-restriction: R|P,  decidable: Dec(P)
Lemmas :  es-E_wf,  rel_plus_wf,  es-causl_wf,  rel-restriction_wf,  rel-immediate_wf,  decidable__es-E-equal,  decidable_wf,  rel_implies_wf,  not_wf,  event_ordering_wf,  single-threaded-relation3,  es-causle_wf,  cond_equiv_to_causl,  rel_plus_minimal,  es-causl_transitivity2,  es-causle_weakening,  rel_plus-restriction-equiv,  rel-is-immediate,  rel_plus_trans,  es-causl_irreflexivity,  rel_plus_field,  rel-immediate-property,  rel-immediate-preserves-order

\mforall{}es:EO
    \mforall{}[P:E  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[R:E  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].
        (single-thread-generator\{i:l\}(es;P;R)
        {}\mRightarrow{}  ((\mforall{}e,e':E.    (P[e]  {}\mRightarrow{}  P[e']  {}\mRightarrow{}  (((e  R\msupplus{}  e')  \mvee{}  (e  =  e'))  \mvee{}  (e'  R\msupplus{}  e))))
              c\mwedge{}  (\mforall{}x,y:E.    ((P[x]  \mwedge{}  P[y])  {}\mRightarrow{}  (R\msupplus{}  x  y  \mLeftarrow{}{}\mRightarrow{}  (x  <  y))))
              c\mwedge{}  (\mforall{}x,y:E.    (R|P\msupplus{}  x  y  \mLeftarrow{}{}\mRightarrow{}  R\msupplus{}|P  x  y))
              c\mwedge{}  (\mforall{}x,y:E.    (R|P  x  y  \mLeftarrow{}{}\mRightarrow{}  R|P\msupplus{}!  x  y))
              c\mwedge{}  (\mforall{}x,y,x',y':E.    ((R|P\msupplus{}  x  y)  {}\mRightarrow{}  (R|P  y'  y)  {}\mRightarrow{}  ((R|P\msupplus{}  x  y')  \mvee{}  (x  =  y'))))
              c\mwedge{}  (\mforall{}x,y,x',y':E.    ((R|P\msupplus{}  x  y)  {}\mRightarrow{}  (R|P  x'  x)  {}\mRightarrow{}  (R|P  y'  y)  {}\mRightarrow{}  (R|P\msupplus{}  x'  y')))))


Date html generated: 2011_08_16-AM-11_18_33
Last ObjectModification: 2011_06_20-AM-00_23_34

Home Index