{ es:EO. e1:E. e2:{e:E| loc(e) = loc(e1)} .
    [Q:{e:E| loc(e) = loc(e1)}   ]
      ((e:{e:E| loc(e) = loc(e1)} . Dec(Q[e]))
       ([e1,e2]~([a,b].b = first e  a.Q[e])+  e1 loc e2   Q[e2])) }

{ Proof }



Definitions occuring in Statement :  es-pplus: [e1,e2]~([a,b].p[a; b])+ es-first-since: e2 = first e  e1.P[e] es-le: e loc e'  es-loc: loc(e) es-E: E event_ordering: EO Id: Id decidable: Dec(P) uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] iff: P  Q implies: P  Q and: 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[s] iff: P  Q and: P  Q rev_implies: P  Q cand: A c B member: t  T so_lambda: x y.t[x; y] so_lambda: x.t[x] nat: le: A  B ge: i  j  not: A false: False alle-at: e@i.P[e] top: Top subtype: S  T es-pplus: [e1,e2]~([a,b].p[a; b])+ es-first-since: e2 = first e  e1.P[e] so_apply: x[s1;s2] es-pstar-q: [e1;e2]~([a,b].p[a; b])*[a,b].q[a; b] exists: x:A. B[x] decidable: Dec(P) uimplies: b supposing a or: P  Q existse-between1: e[e1,e2).P[e]
Lemmas :  es-pplus-le es-first-since_wf Id_wf es-loc_wf es-E_wf es-pplus_wf es-le_wf decidable_wf event_ordering_wf nat_properties ge_wf nat_wf le_wf length_wf1 es-interval_wf decidable__existse-between1 es-le-loc es-next es-interval-partition es-le-trans2 es-pred-locl es-locl_wf append_wf es-interval-non-zero length-append es-interval_wf2 top_wf length_wf_nat es-loc-pred es-pplus-partition member_wf es-pplus-trivial

\mforall{}es:EO.  \mforall{}e1:E.  \mforall{}e2:\{e:E|  loc(e)  =  loc(e1)\}  .
    \mforall{}[Q:\{e:E|  loc(e)  =  loc(e1)\}    {}\mrightarrow{}  \mBbbP{}]
        ((\mforall{}e:\{e:E|  loc(e)  =  loc(e1)\}  .  Dec(Q[e]))
        {}\mRightarrow{}  ([e1,e2]\msim{}([a,b].b  =  first  e  \mgeq{}  a.Q[e])+  \mLeftarrow{}{}\mRightarrow{}  e1  \mleq{}loc  e2    \mwedge{}  Q[e2]))


Date html generated: 2011_08_16-AM-10_58_33
Last ObjectModification: 2011_06_18-AM-09_31_25

Home Index