### Nuprl Lemma : cbv-reduce-strict

`∀[F,a,B:Base].`
`  F[eval x = a in`
`    B[x]] ≤ F[B[a]] `
`  supposing (∀x:Base. ((F[x])↓ `` (x)↓))`
`  ∧ (∀u,v,x:Base.  ((F[x] ~ exception(u; v)) `` (↓(x ~ exception(u; v)) ∨ (x)↓)))`
`  ∧ (∀u,v:Base.  (B[exception(u; v)] ~ exception(u; v)))`

Proof

Definitions occuring in Statement :  has-value: `(a)↓` callbyvalue: callbyvalue uimplies: `b supposing a` uall: `∀[x:A]. B[x]` so_apply: `x[s]` all: `∀x:A. B[x]` squash: `↓T` implies: `P `` Q` or: `P ∨ Q` and: `P ∧ Q` base: `Base` sqle: `s ≤ t` sqequal: `s ~ t`
Definitions unfolded in proof :  uimplies: `b supposing a` or: `P ∨ Q` all: `∀x:A. B[x]` so_apply: `x[s]` implies: `P `` Q` so_lambda: `λ2x.t[x]` prop: `ℙ` uall: `∀[x:A]. B[x]` member: `t ∈ T` cand: `A c∧ B` and: `P ∧ Q` has-value: `(a)↓` squash: `↓T` top: `Top` is-exception: `is-exception(t)`
Lemmas referenced :  bottom-sqle has-value_wf_base is-exception_wf all_wf base_wf squash_wf or_wf sqequal-wf-base
Rules used in proof :  equalitySymmetry equalityTransitivity isect_memberEquality axiomSqleEquality introduction isect_memberFormation sqequalIntensionalEquality because_Cache functionEquality lambdaEquality productEquality hypothesis hypothesisEquality baseClosed closedConclusion baseApply sqequalRule isectElimination lemma_by_obid cut divergentSqle thin productElimination sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution sqequalHypSubstitution sqleReflexivity callbyvalueReduce callbyvalueCallbyvalue independent_functionElimination dependent_functionElimination exceptionSqequal imageElimination unionElimination callbyvalueExceptionCases voidEquality voidElimination sqleRule

Latex:
\mforall{}[F,a,B:Base].
F[eval  x  =  a  in
B[x]]  \mleq{}  F[B[a]]
supposing  (\mforall{}x:Base.  ((F[x])\mdownarrow{}  {}\mRightarrow{}  (x)\mdownarrow{}))
\mwedge{}  (\mforall{}u,v,x:Base.    ((F[x]  \msim{}  exception(u;  v))  {}\mRightarrow{}  (\mdownarrow{}(x  \msim{}  exception(u;  v))  \mvee{}  (x)\mdownarrow{})))
\mwedge{}  (\mforall{}u,v:Base.    (B[exception(u;  v)]  \msim{}  exception(u;  v)))

Date html generated: 2019_06_20-AM-11_20_42
Last ObjectModification: 2018_10_15-PM-03_28_17

Theory : call!by!value_1

Home Index