Nuprl Lemma : test-cbva-normalize

∀[a,B:Top].  (let x ⟵ a in <let y ⟵ x in B[y], let z ⟵ a in B[z] + 22, eval w = a in B[w] + 3 + 1> ~ let x ⟵ a in <B\000C[x], B[x] + 22, (B[x] + 3) + 1>)


Proof




Definitions occuring in Statement :  callbyvalueall: callbyvalueall,  callbyvalue: callbyvalue,  uall: ∀[x:A]. B[x],  top: Top,  so_apply: x[s],  pair: <a, b>,  add: n + m,  natural_number: $n,  sqequal: s ~ t
Definitions unfolded in proof :  callbyvalueall: callbyvalueall,  uall: ∀[x:A]. B[x],  member: t ∈ T,  so_lambda: λ2x.t[x],  so_apply: x[s],  uimplies: b supposing a,  has-valueall: has-valueall(a),  implies: P ⇒ Q,  has-value: (a)↓,  prop: ℙ
Lemmas referenced :  top_wf,  has-valueall_wf_base,  has-valueall-has-value,  evalall-sqequal,  cbv_sqequal
Rules used in proof :  sqequalSubstitution,  sqequalRule,  sqequalReflexivity,  cut,  sqequalTransitivity,  computationStep,  lemma_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  baseApply,  closedConclusion,  baseClosed,  hypothesisEquality,  independent_isectElimination,  lambdaFormation,  hypothesis,  callbyvalueReduce,  because_Cache,  isect_memberFormation,  introduction,  sqequalAxiom,  isect_memberEquality

Latex:
\mforall{}[a,B:Top].    (let  x  \mleftarrow{}{}  a  in  <let  y  \mleftarrow{}{}  x  in  B[y],  let  z  \mleftarrow{}{}  a  in  B[z]  +  22,  eval  w  =  a  in  B[w]  +  3  +  1\000C>  \msim{}  let  x  \mleftarrow{}{}  a  in  <B[x],  B[x]  +  22,  (B[x]  +  3)  +  1>)



Date html generated: 2016_05_13-PM-04_08_00
Last ObjectModification: 2016_01_14-PM-07_45_54

Theory : fun_1


Home Index