Nuprl Lemma : cbva_seq-combine2
∀[F,L1,L2:Top]. ∀[m1,m2:ℕ].
(cbva_seq(L1; λg.cbva_seq(L2[g]; F[g]; m2); m1) ~ cbva_seq(λn.if n <z m1
then L1 n
else mk_lambdas_fun(λg.(L2[g] (n - m1));m1)
fi ; λg.(F[partial_ap(g;m1 + m2;m1)]
partial_ap_gen(g;m1 + m2;m1;m2)); m1 + m2))
Proof
Definitions occuring in Statement :
partial_ap: partial_ap(g;n;m)
,
partial_ap_gen: partial_ap_gen(g;n;s;m)
,
mk_lambdas_fun: mk_lambdas_fun(F;m)
,
cbva_seq: cbva_seq(L; F; m)
,
nat: ℕ
,
ifthenelse: if b then t else f fi
,
lt_int: i <z j
,
uall: ∀[x:A]. B[x]
,
top: Top
,
so_apply: x[s]
,
apply: f a
,
lambda: λx.A[x]
,
subtract: n - m
,
add: n + m
,
sqequal: s ~ t
Definitions unfolded in proof :
cbva_seq: cbva_seq(L; F; m)
,
uall: ∀[x:A]. B[x]
,
so_lambda: λ2x.t[x]
,
member: t ∈ T
,
top: Top
,
so_apply: x[s]
Lemmas referenced :
callbyvalueall_seq-combine3-0,
nat_wf,
top_wf
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
sqequalRule,
cut,
lemma_by_obid,
sqequalHypSubstitution,
isectElimination,
thin,
isect_memberEquality,
voidElimination,
voidEquality,
hypothesisEquality,
hypothesis,
because_Cache,
isect_memberFormation,
introduction,
sqequalAxiom
Latex:
\mforall{}[F,L1,L2:Top]. \mforall{}[m1,m2:\mBbbN{}].
(cbva\_seq(L1; \mlambda{}g.cbva\_seq(L2[g]; F[g]; m2); m1) \msim{} cbva\_seq(\mlambda{}n.if n <z m1
then L1 n
else mk\_lambdas\_fun(\mlambda{}g.(L2[g]
(n
- m1));m1)
fi ; \mlambda{}g.(F[partial\_ap(g;m1
+ m2;m1)]
partial\_ap\_gen(g;m1
+ m2;m1;m2)); m1 + m2))
Date html generated:
2016_05_15-PM-02_15_02
Last ObjectModification:
2015_12_27-AM-00_32_06
Theory : untyped!computation
Home
Index