Nuprl Lemma : pi12-sqle-spread

∀[t:Top]. ∀[P:Base].  P[fst(t);snd(t)] ≤ let x,y = t in P[x;y] supposing strict4(λx,y,z,w. P[x;y])


Proof




Definitions occuring in Statement :  strict4: strict4(F),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  top: Top,  so_apply: x[s1;s2],  pi1: fst(t),  pi2: snd(t),  lambda: λx.A[x],  spread: spread def,  base: Base,  sqle: s ≤ t
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  uimplies: b supposing a,  pi1: fst(t),  prop: ℙ,  top: Top,  has-value: (a)↓,  pi2: snd(t),  so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]),  so_apply: x[s1;s2;s3;s4],  so_lambda: λ2x y.t[x; y],  so_apply: x[s1;s2]
Lemmas referenced :  lifting-strict-spread,  is-exception_wf,  has-value_wf_base,  pair-eta,  top_wf,  base_wf,  strict4_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  axiomSqleEquality,  hypothesis,  lemma_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  sqequalRule,  baseApply,  closedConclusion,  baseClosed,  hypothesisEquality,  isect_memberEquality,  because_Cache,  equalityTransitivity,  equalitySymmetry,  voidElimination,  voidEquality,  sqleRule,  divergentSqle,  callbyvalueSpread,  sqleReflexivity,  spreadExceptionCases,  exceptionSqequal,  independent_isectElimination

Latex:
\mforall{}[t:Top].  \mforall{}[P:Base].    P[fst(t);snd(t)]  \mleq{}  let  x,y  =  t  in  P[x;y]  supposing  strict4(\mlambda{}x,y,z,w.  P[x;y])



Date html generated: 2016_05_13-PM-03_46_28
Last ObjectModification: 2016_01_14-PM-07_11_05

Theory : call!by!value_2


Home Index