Nuprl Lemma : filter-fpf-vals

[A:Type]. ∀[eq:EqDecider(A)]. ∀[B:A ─→ Type]. ∀[P,Q:A ─→ 𝔹]. ∀[f:x:A fp-> B[x]].
  (filter(λpL.Q[fst(pL)];fpf-vals(eq;P;f)) fpf-vals(eq;λa.((P a) ∧b (Q a));f))


Proof




Definitions occuring in Statement :  fpf-vals: fpf-vals(eq;P;f) fpf: a:A fp-> B[a] deq: EqDecider(T) filter: filter(P;l) band: p ∧b q bool: 𝔹 uall: [x:A]. B[x] so_apply: x[s] pi1: fst(t) apply: a lambda: λx.A[x] function: x:A ─→ B[x] universe: Type sqequal: t
Lemmas :  remove-repeats_wf l_member_wf subtype_rel-deq member_wf equal_wf set_wf list-subtype list_wf nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf equal-wf-T-base colength_wf_list list-cases filter_nil_lemma zip_nil_lemma product_subtype_list spread_cons_lemma sq_stable__le le_antisymmetry_iff add_functionality_wrt_le add-associates add-zero zero-add le-add-cancel nat_wf decidable__le false_wf not-le-2 condition-implies-le minus-add minus-one-mul add-commutes le_wf subtract_wf not-ge-2 less-iff-le minus-minus add-swap subtype_base_sq set_subtype_base int_subtype_base filter_cons_lemma bool_wf eqtt_to_assert map_cons_lemma zip_cons_cons_lemma eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot
\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[P,Q:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:x:A  fp->  B[x]].
    (filter(\mlambda{}pL.Q[fst(pL)];fpf-vals(eq;P;f))  \msim{}  fpf-vals(eq;\mlambda{}a.((P  a)  \mwedge{}\msubb{}  (Q  a));f))



Date html generated: 2015_07_17-AM-11_09_35
Last ObjectModification: 2015_01_28-AM-07_48_07

Home Index