### Nuprl Lemma : reduce-fast-mapfilter1

`∀[L,z,k,d,f,p:Top].`
`  (reduce(λx,a. case d[x;a] of inl() => z | inr() => a;k;fast-mapfilter(p;f;L)) ~ reduce(λx,a. if p x`
`                                                                                          then case d[f x;a]`
`                                                                                                of inl() =>`
`                                                                                                z`
`                                                                                                | inr() =>`
`                                                                                                a`
`                                                                                          else a`
`                                                                                          fi ;k;L))`

Proof

Definitions occuring in Statement :  fast-mapfilter: `fast-mapfilter(p;f;L)` reduce: `reduce(f;k;as)` ifthenelse: `if b then t else f fi ` uall: `∀[x:A]. B[x]` top: `Top` so_apply: `x[s1;s2]` apply: `f a` lambda: `λx.A[x]` decide: `case b of inl(x) => s[x] | inr(y) => t[y]` sqequal: `s ~ t`
Definitions unfolded in proof :  so_apply: `x[s1;s2]` fast-mapfilter: `fast-mapfilter(p;f;L)` so_apply: `x[s]` uall: `∀[x:A]. B[x]` member: `t ∈ T` reduce: `reduce(f;k;as)` so_lambda: `λ2x.t[x]` uimplies: `b supposing a` strict1: `strict1(F)` and: `P ∧ Q` all: `∀x:A. B[x]` implies: `P `` Q` list_ind: list_ind has-value: `(a)↓` prop: `ℙ` or: `P ∨ Q` squash: `↓T` so_lambda: `so_lambda(x,y,z.t[x; y; z])` so_apply: `x[s1;s2;s3]` top: `Top`
Lemmas referenced :  sqequal-list_ind has-value_wf_base istype-base is-exception_wf istype-universe reduce-ifthenelse istype-void reduce_cons_lemma sqle_wf_base reduce_nil_lemma top_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep isect_memberFormation_alt introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination baseApply closedConclusion baseClosed hypothesisEquality independent_isectElimination independent_pairFormation lambdaFormation_alt callbyvalueCallbyvalue hypothesis callbyvalueReduce universeIsType callbyvalueExceptionCases inlFormation_alt imageMemberEquality imageElimination exceptionSqequal inrFormation_alt isect_memberEquality_alt voidElimination dependent_functionElimination divergentSqle sqleRule sqleReflexivity instantiate inhabitedIsType because_Cache axiomSqEquality isectIsTypeImplies

Latex:
\mforall{}[L,z,k,d,f,p:Top].
(reduce(\mlambda{}x,a.  case  d[x;a]  of  inl()  =>  z  |  inr()  =>  a;k;fast-mapfilter(p;f;L))
\msim{}  reduce(\mlambda{}x,a.  if  p  x  then  case  d[f  x;a]  of  inl()  =>  z  |  inr()  =>  a  else  a  fi  ;k;L))

Date html generated: 2019_10_15-AM-11_09_28
Last ObjectModification: 2018_10_16-AM-09_34_23

Theory : general

Home Index