{ [es:EO]. [e:E]. [f:{e':E| e' loc e }   (Top + Top)].
    (es-search-back(es;x.f[x];e) ~ if isl(f[e]) then f[e]
    if first(e) then inr  
    else es-search-back(es;x.f[x];pred(e))
    fi ) }

{ Proof }



Definitions occuring in Statement :  es-search-back: es-search-back(es;x.f[x];e) es-le: e loc e'  es-pred: pred(e) es-first: first(e) es-E: E event_ordering: EO isl: isl(x) ifthenelse: if b then t else f fi  it: uall: [x:A]. B[x] top: Top so_apply: x[s] set: {x:A| B[x]}  function: x:A  B[x] inr: inr x  union: left + right sqequal: s ~ t
Definitions :  int: inr: inr x  unit: Unit es-first: first(e) exists: x:A. B[x] void: Void sq_type: SQType(T) so_lambda: x.t[x] es-pred?: es-pred?(es;e) decide: case b of inl(x) =s[x] | inr(y) =t[y] guard: {T} fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) assert: b eq_atom: x =a y eq_atom: eq_atom$n(x;y) record-select: r.x infix_ap: x f y dep-isect: Error :dep-isect,  record+: record+ le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a product: x:A  B[x] and: P  Q uiff: uiff(P;Q) subtype_rel: A r B es-locl: (e <loc e') or: P  Q implies: P  Q apply: f a so_apply: x[s] es-pred: pred(e) es-search-back: es-search-back(es;x.f[x];e) universe: Type prop: all: x:A. B[x] equal: s = t event_ordering: EO sqequal: s ~ t union: left + right top: Top set: {x:A| B[x]}  es-le: e loc e'  es-E: E function: x:A  B[x] member: t  T uall: [x:A]. B[x] isect: x:A. B[x] Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  Try: Error :Try,  D: Error :D,  Complete: Error :Complete,  MaAuto: Error :MaAuto,  CollapseTHENA: Error :CollapseTHENA,  Unfold: Error :Unfold,  tactic: Error :tactic
Lemmas :  es-le_wf es-E_wf member_wf es-locl_wf top_wf subtype_rel_wf event_ordering_wf es-pred?_wf es-search-back_wf subtype_base_sq union_subtype_base isect_subtype_base unit_wf

\mforall{}[es:EO].  \mforall{}[e:E].  \mforall{}[f:\{e':E|  e'  \mleq{}loc  e  \}    {}\mrightarrow{}  (Top  +  Top)].
    (es-search-back(es;x.f[x];e)  \msim{}  if  isl(f[e])  then  f[e]
    if  first(e)  then  inr  \mcdot{} 
    else  es-search-back(es;x.f[x];pred(e))
    fi  )


Date html generated: 2011_08_16-AM-10_36_54
Last ObjectModification: 2010_11_24-AM-11_39_22

Home Index