Nuprl Lemma : lifting-add-spread-2
∀[a:ℤ]. ∀[b,C:Top].  a + let x,y = b in C[x;y] ~ let x,y = b in a + C[x;y] supposing (a)↓
Proof
Definitions occuring in Statement : 
has-value: (a)↓
, 
uimplies: b supposing a
, 
uall: ∀[x:A]. B[x]
, 
top: Top
, 
so_apply: x[s1;s2]
, 
spread: spread def, 
add: n + m
, 
int: ℤ
, 
sqequal: s ~ t
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
uimplies: b supposing a
, 
has-value: (a)↓
, 
subtype_rel: A ⊆r B
, 
and: P ∧ Q
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
so_apply: x[s1;s2]
, 
prop: ℙ
, 
top: Top
, 
false: False
Lemmas referenced : 
int_subtype_base, 
value-type-has-value, 
int-value-type, 
equal_wf, 
top_wf, 
pair-eta, 
has-value_wf_base, 
is-exception_wf, 
int-add-exception, 
exception-not-value
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
introduction, 
cut, 
sqequalSqle, 
sqleRule, 
thin, 
divergentSqle, 
callbyvalueAdd, 
sqequalHypSubstitution, 
hypothesis, 
sqequalRule, 
baseApply, 
closedConclusion, 
baseClosed, 
hypothesisEquality, 
applyEquality, 
extract_by_obid, 
productElimination, 
equalityTransitivity, 
equalitySymmetry, 
intEquality, 
lambdaFormation, 
isectElimination, 
independent_isectElimination, 
dependent_functionElimination, 
independent_functionElimination, 
callbyvalueSpread, 
productEquality, 
sqleReflexivity, 
addExceptionCases, 
axiomSqleEquality, 
spreadExceptionCases, 
because_Cache, 
exceptionSqequal, 
isect_memberEquality, 
voidElimination, 
voidEquality, 
sqequalAxiom
Latex:
\mforall{}[a:\mBbbZ{}].  \mforall{}[b,C:Top].    a  +  let  x,y  =  b  in  C[x;y]  \msim{}  let  x,y  =  b  in  a  +  C[x;y]  supposing  (a)\mdownarrow{}
Date html generated:
2017_04_14-AM-07_21_13
Last ObjectModification:
2017_02_27-PM-02_54_53
Theory : computation
Home
Index