{ es:EO. i:Id.
    [P:e1:{e:E| loc(e) = i}   {e2:E| loc(e2) = i}   ]
      (e1@i.e2e1.(e:E. ((e1 <loc e)  e loc e2   P[e;e2]))  P[e1;e2]
       e1@i.e2e1.P[e1;e2]) }

{ Proof }



Definitions occuring in Statement :  alle-ge: e'e.P[e'] alle-at: e@i.P[e] es-le: e loc e'  es-locl: (e <loc e') es-loc: loc(e) es-E: E event_ordering: EO Id: Id uall: [x:A]. B[x] prop: so_apply: x[s1;s2] all: x:A. B[x] implies: 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 alle-ge: e'e.P[e'] so_apply: x[s1;s2] member: t  T so_lambda: x.t[x] le: A  B not: A false: False ge: i  j  es-le: e loc e'  and: P  Q cand: A c B or: P  Q guard: {T} top: Top subtype: S  T assert: b bfalse: ff ifthenelse: if b then t else f fi  alle-at: e@i.P[e] es-locl: (e <loc e') so_apply: x[s] uimplies: b supposing a nat: iff: P  Q rev_implies: P  Q sq_type: SQType(T)
Lemmas :  alle-at_wf es-E_wf es-le_wf es-locl_wf Id_wf es-loc_wf event_ordering_wf es-le-loc nat_wf nat_properties ge_wf le_wf length_wf1 es-interval_wf member-es-interval non_neg_length length_wf_nat es-interval_wf2 top_wf iff_weakening_uiff length_zero l_member_wf nil_member es-interval-partition length-append es-pred_wf subtype_base_sq bool_wf bool_subtype_base false_wf es-locl-first es-le-pred es-interval-non-zero

\mforall{}es:EO.  \mforall{}i:Id.
    \mforall{}[P:e1:\{e:E|  loc(e)  =  i\}    {}\mrightarrow{}  \{e2:E|  loc(e2)  =  i\}    {}\mrightarrow{}  \mBbbP{}]
        (\mforall{}e1@i.\mforall{}e2\mgeq{}e1.(\mforall{}e:E.  ((e1  <loc  e)  {}\mRightarrow{}  e  \mleq{}loc  e2    {}\mRightarrow{}  P[e;e2]))  {}\mRightarrow{}  P[e1;e2]
        {}\mRightarrow{}  \mforall{}e1@i.\mforall{}e2\mgeq{}e1.P[e1;e2])


Date html generated: 2011_08_16-AM-10_53_32
Last ObjectModification: 2011_06_18-AM-09_26_50

Home Index