Nuprl Lemma : conditional-ifthenelse

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


Proof




Definitions occuring in Statement :  conditional: [P? g] assert: b ifthenelse: if then else fi  bool: 𝔹 uall: [x:A]. B[x] or: P ∨ Q set: {x:A| B[x]}  apply: a lambda: λx.A[x] function: x:A ─→ B[x] universe: Type equal: 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