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

{ Proof }



Definitions occuring in Statement :  es-first-at: e is first@ i s.t.  e.P[e] alle-lt: e<e'.P[e] es-loc: loc(e) es-E: E event_ordering: EO Id: Id uall: [x:A]. B[x] prop: guard: {T} 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 es-first-at: e is first@ i s.t.  e.P[e] so_apply: x[s] guard: {T} iff: P  Q and: P  Q alle-lt: e<e'.P[e] rev_implies: P  Q not: A false: False member: t  T so_lambda: x.t[x] nat: ge: i  j  le: A  B Id: Id es-locl: (e <loc e') strongwellfounded: SWellFounded(R[x; y]) exists: x:A. B[x] sq_type: SQType(T) uimplies: b supposing a
Lemmas :  es-first-at_wf es-locl_wf es-E_wf Id_wf es-loc_wf es-causl-swellfnd nat_wf le_wf alle-lt_wf event_ordering_wf es-causl_wf es-locl_transitivity2 es-le_weakening nat_properties ge_wf subtype_base_sq atom2_subtype_base

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


Date html generated: 2011_08_16-AM-10_50_56
Last ObjectModification: 2011_06_18-AM-09_26_02

Home Index