{ es:EO
    [T:Type]
      e:E. f:{e':E| e' loc e }   (T + Top).
        (can-apply(e.es-search-back(es;x.f[x];e);e)
         e'e.can-apply(x.f[x];e')) }

{ Proof }



Definitions occuring in Statement :  existse-le: ee'.P[e] es-search-back: es-search-back(es;x.f[x];e) es-le: e loc e'  es-E: E event_ordering: EO assert: b uall: [x:A]. B[x] top: Top so_apply: x[s] all: x:A. B[x] iff: P  Q set: {x:A| B[x]}  lambda: x.A[x] function: x:A  B[x] union: left + right universe: Type can-apply: can-apply(f;x)
Definitions :  can-apply: can-apply(f;x) apply: f a record-select: r.x exists: x:A. B[x] implies: P  Q product: x:A  B[x] and: P  Q isect: x:A. B[x] uall: [x:A]. B[x] all: x:A. B[x] iff: P  Q existse-le: ee'.P[e] so_lambda: x.t[x] assert: b union: left + right top: Top set: {x:A| B[x]}  es-le: e loc e'  es-E: E universe: Type function: x:A  B[x] equal: s = t member: t  T event_ordering: EO Auto: Error :Auto,  CollapseTHENA: Error :CollapseTHENA,  CollapseTHEN: Error :CollapseTHEN,  D: Error :D,  tactic: Error :tactic,  RepeatFor: Error :RepeatFor
Lemmas :  event_ordering_wf uall_wf existse-le_wf assert_wf iff_wf top_wf es-le_wf es-E_wf isl-es-search-back

\mforall{}es:EO
    \mforall{}[T:Type]
        \mforall{}e:E.  \mforall{}f:\{e':E|  e'  \mleq{}loc  e  \}    {}\mrightarrow{}  (T  +  Top).
            (\muparrow{}can-apply(\mlambda{}e.es-search-back(es;x.f[x];e);e)  \mLeftarrow{}{}\mRightarrow{}  \mexists{}e'\mleq{}e.\muparrow{}can-apply(\mlambda{}x.f[x];e'))


Date html generated: 2011_08_16-AM-10_49_30
Last ObjectModification: 2010_11_19-PM-12_56_45

Home Index