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: f a
,
lambda: λx.A[x]
,
function: x:A ─→ B[x]
,
universe: Type
,
sqequal: s ~ 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