{ 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