{ es:EO. e1:E. e2:{e:E| loc(e) = loc(e1)} .
    [p,q:{e:E| loc(e) = loc(e1)}   {e:E| loc(e) = loc(e1)}   ].
      ([e1;e2]~([a,b].p[a;b])*[a,b].q[a;b]  e1 loc e2 ) }

{ Proof }



Definitions occuring in Statement :  es-pstar-q: [e1;e2]~([a,b].p[a; b])*[a,b].q[a; b] es-le: e loc e'  es-loc: loc(e) es-E: E event_ordering: EO Id: Id uall: [x:A]. B[x] prop: so_apply: x[s1;s2] all: x:A. B[x] implies: P  Q set: {x:A| B[x]}  function: x:A  B[x] equal: s = t
Definitions :  all: x:A. B[x] uall: [x:A]. B[x] prop: implies: P  Q so_apply: x[s1;s2] member: t  T so_lambda: x y.t[x; y] ge: i  j  le: A  B not: A false: False es-le: e loc e'  or: P  Q guard: {T} int_seg: {i..j} lelt: i  j < k and: P  Q squash: T true: True nat: es-pstar-q: [e1;e2]~([a,b].p[a; b])*[a,b].q[a; b] exists: x:A. B[x] nat_plus: trans: Trans(T;x,y.E[x; y])
Lemmas :  es-pstar-q_wf es-E_wf Id_wf es-loc_wf event_ordering_wf nat_wf nat_properties ge_wf es-locl_wf es-le_wf le_wf es-le-trans nat_plus_properties squash_wf true_wf

\mforall{}es:EO.  \mforall{}e1:E.  \mforall{}e2:\{e:E|  loc(e)  =  loc(e1)\}  .
    \mforall{}[p,q:\{e:E|  loc(e)  =  loc(e1)\}    {}\mrightarrow{}  \{e:E|  loc(e)  =  loc(e1)\}    {}\mrightarrow{}  \mBbbP{}].
        ([e1;e2]\msim{}([a,b].p[a;b])*[a,b].q[a;b]  {}\mRightarrow{}  e1  \mleq{}loc  e2  )


Date html generated: 2011_08_16-AM-10_57_08
Last ObjectModification: 2011_06_18-AM-09_30_07

Home Index