Nuprl Lemma : accumulate_abort_cons_lemma

∀v,u,s,F:Top.
  (accumulate_abort(x,y.F[x;y];s;[u / v]) ~ let s' ⟵ case s of inl(y) => F[u;y] | inr(_) => s
                                            in accumulate_abort(x,y.F[x;y];s';v))


Proof




Definitions occuring in Statement :  accumulate_abort: accumulate_abort(x,sofar.F[x; sofar];s;L),  cons: [a / b],  callbyvalueall: callbyvalueall,  top: Top,  so_apply: x[s1;s2],  all: ∀x:A. B[x],  decide: case b of inl(x) => s[x] | inr(y) => t[y],  sqequal: s ~ t
Definitions unfolded in proof :  all: ∀x:A. B[x],  accumulate_abort: accumulate_abort(x,sofar.F[x; sofar];s;L),  eager-accum: eager-accum(x,a.f[x; a];y;l),  cons: [a / b],  so_lambda: λ2x y.t[x; y],  member: t ∈ T,  top: Top,  so_apply: x[s1;s2]
Lemmas referenced :  spread_cons_lemma,  top_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  lambdaFormation,  cut,  sqequalRule,  introduction,  extract_by_obid,  sqequalHypSubstitution,  dependent_functionElimination,  thin,  isect_memberEquality,  voidElimination,  voidEquality,  hypothesis

Latex:
\mforall{}v,u,s,F:Top.
    (accumulate\_abort(x,y.F[x;y];s;[u  /  v])  \msim{}  let  s'  \mleftarrow{}{}  case  s  of  inl(y)  =>  F[u;y]  |  inr($_\mbackslash{}ff\000C7b}$)  =>  s
                                                                                        in  accumulate\_abort(x,y.F[x;y];s';v))



Date html generated: 2017_09_29-PM-05_51_42
Last ObjectModification: 2017_07_11-PM-02_30_27

Theory : omega


Home Index