### Nuprl Lemma : filter_map_upto2

`∀t',m:ℕ.`
`  ∀[T:Type]`
`    ∀f:ℕ ⟶ T. ∀P:T ⟶ 𝔹.`
`      ∃t:ℕ. ((↑(P (f t))) ∧ (||filter(P;map(f;upto(t)))|| = m ∈ ℤ)) supposing (m + 1) ≤ ||filter(P;map(f;upto(t')))||`

Proof

Definitions occuring in Statement :  upto: `upto(n)` length: `||as||` filter: `filter(P;l)` map: `map(f;as)` nat: `ℕ` assert: `↑b` bool: `𝔹` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` le: `A ≤ B` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` and: `P ∧ Q` apply: `f a` function: `x:A ⟶ B[x]` add: `n + m` natural_number: `\$n` int: `ℤ` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  all: `∀x:A. B[x]` implies: `P `` Q` member: `t ∈ T` prop: `ℙ` uall: `∀[x:A]. B[x]` subtype_rel: `A ⊆r B` so_lambda: `λ2x.t[x]` uimplies: `b supposing a` nat: `ℕ` so_apply: `x[s]` le: `A ≤ B` and: `P ∧ Q` less_than': `less_than'(a;b)` false: `False` not: `¬A` upto: `upto(n)` from-upto: `[n, m)` ifthenelse: `if b then t else f fi ` lt_int: `i <z j` bfalse: `ff` top: `Top` ge: `i ≥ j ` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` guard: `{T}` nat_plus: `ℕ+` decidable: `Dec(P)` or: `P ∨ Q` squash: `↓T` true: `True` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` cand: `A c∧ B`
Lemmas referenced :  all_wf nat_wf uall_wf bool_wf isect_wf le_wf length_wf filter_wf5 map_wf int_seg_wf subtract_wf subtype_rel_dep_function int_seg_subtype_nat false_wf upto_wf l_member_wf subtype_rel_self set_wf exists_wf assert_wf equal_wf less_than_wf primrec-wf2 map_nil_lemma filter_nil_lemma length_of_nil_lemma less_than'_wf nat_properties satisfiable-full-omega-tt intformand_wf intformle_wf itermAdd_wf itermVar_wf itermConstant_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_add_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_wf le_int_wf uiff_transitivity equal-wf-base int_subtype_base eqtt_to_assert assert_of_le_int intformless_wf int_formula_prop_less_lemma lt_int_wf bnot_wf eqff_to_assert assert_functionality_wrt_uiff bnot_of_le_int assert_of_lt_int upto_decomp1 add-is-int-iff set_subtype_base decidable__le intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma equal-wf-T-base not_wf map_append_sq filter_append_sq map_cons_lemma filter_cons_lemma assert_of_bnot squash_wf true_wf length_append subtype_rel_list top_wf cons_wf nil_wf iff_weakening_equal length_of_cons_lemma decidable__equal_int intformeq_wf int_formula_prop_eq_lemma append_nil_sq
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut thin rename setElimination instantiate introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesis applyEquality lambdaEquality cumulativity hypothesisEquality universeEquality sqequalRule functionEquality addEquality because_Cache natural_numberEquality independent_isectElimination independent_pairFormation setEquality productEquality functionExtensionality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality isect_memberFormation productElimination independent_pairEquality axiomEquality equalityTransitivity equalitySymmetry dependent_pairFormation int_eqEquality computeAll unionElimination equalityElimination baseApply closedConclusion baseClosed independent_functionElimination dependent_set_memberEquality imageElimination imageMemberEquality pointwiseFunctionality promote_hyp

Latex:
\mforall{}t',m:\mBbbN{}.
\mforall{}[T:Type]
\mforall{}f:\mBbbN{}  {}\mrightarrow{}  T.  \mforall{}P:T  {}\mrightarrow{}  \mBbbB{}.
\mexists{}t:\mBbbN{}.  ((\muparrow{}(P  (f  t)))  \mwedge{}  (||filter(P;map(f;upto(t)))||  =  m))
supposing  (m  +  1)  \mleq{}  ||filter(P;map(f;upto(t')))||

Date html generated: 2017_04_17-AM-07_58_49
Last ObjectModification: 2017_02_27-PM-04_31_20

Theory : list_1

Home Index