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: supposing a uall: [x:A]. B[x] le: A ≤ B all: x:A. B[x] exists: x:A. B[x] and: P ∧ Q apply: a function: x:A ⟶ B[x] add: m natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q member: t ∈ T prop: uall: [x:A]. B[x] subtype_rel: A ⊆B so_lambda: λ2x.t[x] uimplies: 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 then else fi  lt_int: i <j bfalse: ff top: Top ge: i ≥  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: ⇐⇒ Q rev_implies:  Q cand: 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