Nuprl Lemma : test-lifting

∀x:Top. (if isl(x) then 1 + outl(x) else 2 fi  ~ case x of inl(y) => 1 + y | inr(z) => 2)


Proof




Definitions occuring in Statement :  outl: outl(x),  ifthenelse: if b then t else f fi ,  isl: isl(x),  top: Top,  all: ∀x:A. B[x],  decide: case b of inl(x) => s[x] | inr(y) => t[y],  add: n + m,  natural_number: $n,  sqequal: s ~ t
Definitions unfolded in proof :  all: ∀x:A. B[x],  ifthenelse: if b then t else f fi ,  isl: isl(x),  uall: ∀[x:A]. B[x],  so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]),  member: t ∈ T,  so_apply: x[s1;s2;s3;s4],  so_lambda: λ2x.t[x],  top: Top,  so_apply: x[s],  uimplies: b supposing a,  btrue: tt,  outl: outl(x),  strict4: strict4(F),  and: P ∧ Q,  implies: P ⇒ Q,  has-value: (a)↓,  prop: ℙ,  or: P ∨ Q,  squash: ↓T,  false: False,  bfalse: ff
Lemmas referenced :  lifting-strict-decide,  istype-void,  strict4-decide,  value-type-has-value,  int-value-type,  has-value_wf_base,  istype-base,  exception-not-value,  is-exception_wf,  strictness-add-right,  top_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  Error :lambdaFormation_alt,  sqequalRule,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  baseClosed,  Error :isect_memberEquality_alt,  voidElimination,  hypothesis,  independent_isectElimination,  independent_pairFormation,  callbyvalueAdd,  baseApply,  closedConclusion,  hypothesisEquality,  productElimination,  intEquality,  because_Cache,  Error :universeIsType,  addExceptionCases,  exceptionSqequal,  Error :inlFormation_alt,  imageMemberEquality,  imageElimination,  sqleReflexivity,  independent_functionElimination,  Error :inhabitedIsType,  sqequalSqle,  divergentSqle,  callbyvalueDecide,  unionElimination,  Error :equalityIsType1,  equalityTransitivity,  equalitySymmetry,  dependent_functionElimination,  decideExceptionCases,  axiomSqleEquality

Latex:
\mforall{}x:Top.  (if  isl(x)  then  1  +  outl(x)  else  2  fi    \msim{}  case  x  of  inl(y)  =>  1  +  y  |  inr(z)  =>  2)



Date html generated: 2019_06_20-PM-01_04_37
Last ObjectModification: 2019_06_20-PM-01_01_30

Theory : computation


Home Index