{ es:EO
    [P:E  ]. [R:E  E  ].
      (single-thread-generator{i:l}(es;P;R)
       (e,e':E.  ((R e e')  (P[e]  P[e'])))
       ((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 x y  R! x y))
         c (x,y,x',y':E.  ((R x y)  (R y' y)  ((R x y')  (x = y'))))
         c (x,y,x',y':E.
               ((R x y)  (R x' x)  (R y' y)  (R 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
Definitions :  all: x:A. B[x] uall: [x:A]. B[x] prop: implies: P  Q and: P  Q so_apply: x[s] member: t  T cand: A c B or: P  Q infix_ap: x f y iff: P  Q rev_implies: P  Q guard: {T} so_lambda: x.t[x] binrel_eqv: E <>{T} E' rel-restriction: R|P ab_binrel: x,y:T. E[x; y] xxconnex: connex(T;R) connex: Connex(T;x,y.R[x; y]) uimplies: b supposing a
Lemmas :  generated-thread-binrel-properties2 es-E_wf single-thread-generator_wf event_ordering_wf rel_star_wf rel_plus_wf or_functionality_wrt_iff rel-star-iff-rel-plus-or es-causl_wf all_functionality_wrt_iff implies_functionality_wrt_iff

\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.    ((R  e  e')  {}\mRightarrow{}  (P[e]  \mwedge{}  P[e'])))
        {}\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  x  y  \mLeftarrow{}{}\mRightarrow{}  R\msupplus{}!  x  y))
              c\mwedge{}  (\mforall{}x,y,x',y':E.    ((R\msupplus{}  x  y)  {}\mRightarrow{}  (R  y'  y)  {}\mRightarrow{}  ((R\msupplus{}  x  y')  \mvee{}  (x  =  y'))))
              c\mwedge{}  (\mforall{}x,y,x',y':E.    ((R\msupplus{}  x  y)  {}\mRightarrow{}  (R  x'  x)  {}\mRightarrow{}  (R  y'  y)  {}\mRightarrow{}  (R\msupplus{}  x'  y')))))


Date html generated: 2011_08_16-AM-11_18_57
Last ObjectModification: 2011_06_20-AM-00_24_19

Home Index