### Nuprl Lemma : mapfilter-pos-length

`∀[T,B:Type]. ∀[L:T List]. ∀[P:{x:T| (x ∈ L)}  ⟶ 𝔹]. ∀[f:{x:{x:T| (x ∈ L)} | ↑(P x)}  ⟶ B].`
`  0 < ||mapfilter(f;P;L)|| supposing (∃x∈L. ↑(P x))`

Proof

Definitions occuring in Statement :  mapfilter: `mapfilter(f;P;L)` l_exists: `(∃x∈L. P[x])` l_member: `(x ∈ l)` length: `||as||` list: `T List` assert: `↑b` bool: `𝔹` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` set: `{x:A| B[x]} ` apply: `f a` function: `x:A ⟶ B[x]` natural_number: `\$n` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` uimplies: `b supposing a` implies: `P `` Q` so_lambda: `λ2x.t[x]` prop: `ℙ` so_apply: `x[s]` all: `∀x:A. B[x]` or: `P ∨ Q` not: `¬A` false: `False` cons: `[a / b]` top: `Top` nat_plus: `ℕ+` less_than: `a < b` squash: `↓T` less_than': `less_than'(a;b)` true: `True` and: `P ∧ Q` guard: `{T}` decidable: `Dec(P)` uiff: `uiff(P;Q)` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]`
Lemmas referenced :  mapfilter-not-nil l_exists_wf assert_wf l_member_wf set_wf bool_wf list_wf mapfilter_wf list-subtype list-cases length_of_nil_lemma not_wf equal-wf-base product_subtype_list length_of_cons_lemma add_nat_plus length_wf_nat less_than_wf nat_plus_wf nat_plus_properties decidable__lt add-is-int-iff satisfiable-full-omega-tt intformand_wf intformnot_wf intformless_wf itermConstant_wf itermVar_wf itermAdd_wf intformeq_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_var_lemma int_term_value_add_lemma int_formula_prop_eq_lemma int_formula_prop_wf false_wf equal_wf equal-wf-T-base
Rules used in proof :  cut introduction extract_by_obid sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation hypothesis sqequalHypSubstitution isectElimination thin hypothesisEquality independent_isectElimination independent_functionElimination cumulativity sqequalRule lambdaEquality applyEquality functionExtensionality setEquality setElimination rename dependent_set_memberEquality functionEquality because_Cache lambdaFormation universeEquality equalityTransitivity equalitySymmetry dependent_functionElimination unionElimination voidElimination baseClosed promote_hyp hypothesis_subsumption productElimination isect_memberEquality voidEquality natural_numberEquality independent_pairFormation imageMemberEquality applyLambdaEquality pointwiseFunctionality baseApply closedConclusion dependent_pairFormation int_eqEquality intEquality computeAll

Latex:
\mforall{}[T,B:Type].  \mforall{}[L:T  List].  \mforall{}[P:\{x:T|  (x  \mmember{}  L)\}    {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:\{x:\{x:T|  (x  \mmember{}  L)\}  |  \muparrow{}(P  x)\}    {}\mrightarrow{}  B].
0  <  ||mapfilter(f;P;L)||  supposing  (\mexists{}x\mmember{}L.  \muparrow{}(P  x))

Date html generated: 2017_04_17-AM-07_30_06
Last ObjectModification: 2017_02_27-PM-04_07_21

Theory : list_1

Home Index