{ 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