Nuprl Lemma : lifting-callbyvalue-spread

[a,F,H:Top].  (eval let u,v in F[u;v] in H[x] let u,v in eval F[u;v] in H[x])


Proof




Definitions occuring in Statement :  callbyvalue: callbyvalue uall: [x:A]. B[x] top: Top so_apply: x[s1;s2] so_apply: x[s] spread: spread def sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]) so_apply: x[s1;s2;s3;s4] so_lambda: λ2x.t[x] top: Top so_apply: x[s] uimplies: supposing a strict4: strict4(F) and: P ∧ Q all: x:A. B[x] implies:  Q has-value: (a)↓ prop: guard: {T} or: P ∨ Q squash: T so_lambda: λ2y.t[x; y] so_apply: x[s1;s2]
Lemmas referenced :  top_wf is-exception_wf base_wf has-value_wf_base lifting-strict-spread
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalRule lemma_by_obid sqequalHypSubstitution isectElimination thin baseClosed isect_memberEquality voidElimination voidEquality independent_isectElimination independent_pairFormation lambdaFormation callbyvalueCallbyvalue hypothesis callbyvalueReduce baseApply closedConclusion hypothesisEquality callbyvalueExceptionCases inrFormation imageMemberEquality imageElimination exceptionSqequal inlFormation sqequalAxiom because_Cache

Latex:
\mforall{}[a,F,H:Top].    (eval  x  =  let  u,v  =  a  in  F[u;v]  in  H[x]  \msim{}  let  u,v  =  a  in  eval  x  =  F[u;v]  in  H[x])



Date html generated: 2016_05_13-PM-03_42_23
Last ObjectModification: 2016_01_14-PM-07_08_45

Theory : computation


Home Index