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