Nuprl Lemma : conditional-ifthenelse

∀[T,V:Type]. ∀[A,B:T ─→ 𝔹]. ∀[f:{x:T| ↑(A x)}  ─→ V]. ∀[g:{x:T| ↑(B x)}  ─→ V].
  ((λx.if A x then f x else g x fi ) = [λx.(↑(A x))? f : g] ∈ ({x:T| (↑(A x)) ∨ (↑(B x))}  ─→ V))


Proof




Definitions occuring in Statement :  conditional: [P? f : g],  assert: ↑b,  ifthenelse: if b then t else f fi ,  bool: 𝔹,  uall: ∀[x:A]. B[x],  or: P ∨ Q,  set: {x:A| B[x]} ,  apply: f a,  lambda: λx.A[x],  function: x:A ─→ B[x],  universe: Type,  equal: s = t ∈ T,  bool-decider: bool-decider(b)
Lemmas :  set_wf,  or_wf,  assert_wf,  branch-ifthenelse,  bool_wf,  eqtt_to_assert,  eqff_to_assert,  equal_wf,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot
\mforall{}[T,V:Type].  \mforall{}[A,B:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:\{x:T|  \muparrow{}(A  x)\}    {}\mrightarrow{}  V].  \mforall{}[g:\{x:T|  \muparrow{}(B  x)\}    {}\mrightarrow{}  V].
    ((\mlambda{}x.if  A  x  then  f  x  else  g  x  fi  )  =  [\mlambda{}x.(\muparrow{}(A  x))?  f  :  g])



Date html generated: 2015_07_17-AM-09_01_35
Last ObjectModification: 2015_01_27-PM-00_56_40

Home Index