{ es:EO. i:Id.
    [P,Q:{e:E| loc(e) = i}   ].
      ((e:{e:E| loc(e) = i} . Dec(Q[e]))
       (e:{e:E| loc(e) = i} 
            (P[e]  e':E. ((e' <loc e)  P[e']) supposing Q[e]))
       (e:E. {e is first@ i s.t.  e.P[e]  Q[e]})) }

{ Proof }



Definitions occuring in Statement :  es-first-at: e is first@ i s.t.  e.P[e] es-locl: (e <loc e') es-loc: loc(e) es-E: E event_ordering: EO Id: Id decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] not: A 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] uimplies: b supposing a exists: x:A. B[x] and: P  Q guard: {T} member: t  T so_lambda: x.t[x] cand: A c B decidable: Dec(P) not: A es-locl: (e <loc e') es-first-at: e is first@ i s.t.  e.P[e] or: P  Q alle-lt: e<e'.P[e] false: False
Lemmas :  Id_wf es-loc_wf es-first-at_wf es-E_wf not_wf es-locl_wf decidable_wf event_ordering_wf

\mforall{}es:EO.  \mforall{}i:Id.
    \mforall{}[P,Q:\{e:E|  loc(e)  =  i\}    {}\mrightarrow{}  \mBbbP{}].
        ((\mforall{}e:\{e:E|  loc(e)  =  i\}  .  Dec(Q[e]))
        {}\mRightarrow{}  (\mforall{}e:\{e:E|  loc(e)  =  i\}  .  (P[e]  {}\mRightarrow{}  \mexists{}e':E.  ((e'  <loc  e)  \mwedge{}  P[e'])  supposing  \mneg{}Q[e]))
        {}\mRightarrow{}  (\mforall{}e:E.  \{e  is  first@  i  s.t.    e.P[e]  {}\mRightarrow{}  Q[e]\}))


Date html generated: 2011_08_16-AM-10_50_49
Last ObjectModification: 2011_06_18-AM-09_25_57

Home Index