### 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