{ 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,a:E.
            (P[e]
             P[a]
             (e < a)
             (m:E. (P[m]  (R e m)  ((R^*) m a)))))) }

{ 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],  prop: ,  so_apply: x[s],  all: x:A. B[x],  exists: x:A. B[x],  implies: P  Q,  and: P  Q,  apply: f a,  function: x:A  B[x],  rel_star: 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,  exists: x:A. B[x],  cand: A c B,  or: P  Q,  infix_ap: x f y,  guard: {T},  iff: P  Q,  uimplies: b supposing a,  false: False,  rev_implies: P  Q
Lemmas :  generated-thread-properties2,  es-causl_wf,  es-E_wf,  single-thread-generator_wf,  event_ordering_wf,  es-causle_weakening,  es-causle_weakening_eq,  es-causle_wf,  es-causl_transitivity2,  es-causl_irreflexivity,  rel_plus_implies2,  rel_star_wf,  rel_star_iff,  rel-plus-rel-star

\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,a:E.    (P[e]  {}\mRightarrow{}  P[a]  {}\mRightarrow{}  (e  <  a)  {}\mRightarrow{}  (\mexists{}m:E.  (P[m]  \mwedge{}  (R  e  m)  \mwedge{}  (rel\_star(E;  R)  m  a))))))


Date html generated: 2011_08_16-AM-11_19_03
Last ObjectModification: 2011_06_20-AM-00_24_25

Home Index