### Nuprl Lemma : filter_map_upto

`∀[T:Type]. ∀[i,j:ℕ].`
`  ∀[f:ℕ ⟶ T]. ∀[P:T ⟶ 𝔹].  ||filter(P;map(f;upto(i)))|| < ||filter(P;map(f;upto(j)))|| supposing ↑(P (f i)) `
`  supposing i < j`

Proof

Definitions occuring in Statement :  upto: `upto(n)` length: `||as||` filter: `filter(P;l)` map: `map(f;as)` nat: `ℕ` assert: `↑b` bool: `𝔹` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` apply: `f a` function: `x:A ⟶ B[x]` universe: `Type`
Definitions unfolded in proof :  prop: `ℙ` top: `Top` false: `False` exists: `∃x:A. B[x]` satisfiable_int_formula: `satisfiable_int_formula(fmla)` implies: `P `` Q` not: `¬A` or: `P ∨ Q` decidable: `Dec(P)` all: `∀x:A. B[x]` ge: `i ≥ j ` and: `P ∧ Q` lelt: `i ≤ j < k` int_seg: `{i..j-}` nat: `ℕ` member: `t ∈ T` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` so_apply: `x[s]` so_lambda: `λ2x.t[x]` less_than': `less_than'(a;b)` le: `A ≤ B` subtype_rel: `A ⊆r B` uiff: `uiff(P;Q)` cand: `A c∧ B` rev_implies: `P `` Q` iff: `P `⇐⇒` Q` guard: `{T}`
Lemmas referenced :  less_than_wf bool_wf assert_wf equal_wf length-append nat_wf le_wf int_formula_prop_le_lemma intformle_wf decidable__le filter_append_sq map_append_sq lelt_wf int_formula_prop_wf int_term_value_constant_lemma int_term_value_add_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_not_lemma int_formula_prop_and_lemma itermConstant_wf itermAdd_wf itermVar_wf intformless_wf intformnot_wf intformand_wf full-omega-unsat decidable__lt nat_properties upto_decomp set_wf l_member_wf subtype_rel_dep_function upto_wf subtype_rel_self false_wf int_seg_subtype_nat subtype_rel_function subtract_wf int_seg_wf map_wf filter_wf5 length_wf decidable__equal_int length_zero member_map member_filter int_term_value_subtract_lemma itermSubtract_wf member_upto int_formula_prop_eq_lemma intformeq_wf member-implies-null-eq-bfalse null_nil_lemma btrue_wf btrue_neq_bfalse equal-wf-T-base not_wf non_neg_length
Rules used in proof :  universeEquality applyEquality equalitySymmetry equalityTransitivity lambdaFormation functionEquality because_Cache sqequalRule voidEquality voidElimination isect_memberEquality intEquality int_eqEquality lambdaEquality dependent_pairFormation independent_functionElimination approximateComputation independent_isectElimination unionElimination natural_numberEquality addEquality dependent_functionElimination hypothesis independent_pairFormation dependent_set_memberEquality rename setElimination hypothesisEquality thin isectElimination sqequalHypSubstitution extract_by_obid introduction cut isect_memberFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution setEquality productElimination productEquality functionExtensionality applyLambdaEquality hyp_replacement baseClosed

Latex:
\mforall{}[T:Type].  \mforall{}[i,j:\mBbbN{}].
\mforall{}[f:\mBbbN{}  {}\mrightarrow{}  T].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].
||filter(P;map(f;upto(i)))||  <  ||filter(P;map(f;upto(j)))||  supposing  \muparrow{}(P  (f  i))
supposing  i  <  j

Date html generated: 2019_06_20-PM-01_34_33
Last ObjectModification: 2019_01_10-PM-08_48_35

Theory : list_1

Home Index