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