{ es:EO. e:E.
    [P:{e':E| loc(e') = loc(e)}   ]
      ((e':{e':E| loc(e') = loc(e)} . Dec(P[e']))
       ((e'e.P[e']  (e'e.e' is first@ loc(e) s.t.  e'.P[e']))
          ((e'e.P[e'])  e'e.e' is first@ loc(e) s.t.  e'.P[e']))) }

{ Proof }



Definitions occuring in Statement :  es-first-at: e is first@ i s.t.  e.P[e],  alle-le: ee'.P[e],  existse-le: ee'.P[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],  not: A,  implies: P  Q,  or: 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],  or: P  Q,  and: P  Q,  alle-at: e@i.P[e],  member: t  T,  so_lambda: x.t[x],  cand: A c B,  guard: {T},  not: A,  decidable: Dec(P),  false: False,  uimplies: b supposing a,  existse-le: ee'.P[e],  es-first-at: e is first@ i s.t.  e.P[e],  exists: x:A. B[x],  alle-le: ee'.P[e]
Lemmas :  decidable__alle-le,  not_wf,  es-E_wf,  Id_wf,  es-loc_wf,  decidable__not,  alle-le_wf,  es-first-at-exists2,  decidable_wf,  event_ordering_wf,  existse-le_wf,  es-first-at_wf

\mforall{}es:EO.  \mforall{}e:E.
    \mforall{}[P:\{e':E|  loc(e')  =  loc(e)\}    {}\mrightarrow{}  \mBbbP{}]
        ((\mforall{}e':\{e':E|  loc(e')  =  loc(e)\}  .  Dec(P[e']))
        {}\mRightarrow{}  ((\mforall{}e'\mleq{}e.\mneg{}P[e']  \mwedge{}  (\mneg{}\mexists{}e'\mleq{}e.e'  is  first@  loc(e)  s.t.    e'.P[e']))
              \mvee{}  ((\mneg{}\mforall{}e'\mleq{}e.\mneg{}P[e'])  \mwedge{}  \mexists{}e'\mleq{}e.e'  is  first@  loc(e)  s.t.    e'.P[e'])))


Date html generated: 2011_08_16-AM-10_50_38
Last ObjectModification: 2011_06_18-AM-09_25_46

Home Index