Nuprl Lemma : test-cbv-normalize
∀[a,B:Top]. (eval x = a in <let y ⟵ x in B[y], eval z = a in B[z] + 22, eval w = a in B[w] + 3 + 1> ~ eval x = a in <l\000Cet y ⟵ x in B[y], 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 :
uall: ∀[x:A]. B[x]
,
member: t ∈ T
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
uimplies: b supposing a
,
implies: P
⇒ Q
,
has-value: (a)↓
,
prop: ℙ
Lemmas referenced :
top_wf,
has-value_wf_base,
cbv_sqequal
Rules used in proof :
sqequalSubstitution,
sqequalRule,
sqequalReflexivity,
cut,
lemma_by_obid,
sqequalHypSubstitution,
sqequalTransitivity,
computationStep,
isectElimination,
thin,
baseApply,
closedConclusion,
baseClosed,
hypothesisEquality,
independent_isectElimination,
lambdaFormation,
callbyvalueReduce,
hypothesis,
isect_memberFormation,
introduction,
sqequalAxiom,
isect_memberEquality,
because_Cache
Latex:
\mforall{}[a,B:Top].
(eval x = a in
<let y \mleftarrow{}{} x in B[y], eval z = a in B[z] + 22, eval w = a in B[w] + 3 + 1> \msim{} eval x = a in
<let y \mleftarrow{}{} x in B[y], B[x] + 22, (B[x] + 3) + 1>)
Date html generated:
2016_05_13-PM-04_08_02
Last ObjectModification:
2016_01_14-PM-07_45_46
Theory : fun_1
Home
Index