Nuprl Lemma : length-filter-lower-bound

[A:Type]. ∀[P:A ⟶ 𝔹]. ∀[L:A List]. ∀[T:Type]. ∀[k:ℕ]. ∀[f:{i:ℕ||L||| ¬↑P[L[i]]}  ⟶ T].
  ((||L|| k) ≤ ||filter(P;L)||) supposing (T ~ ℕand Inj({i:ℕ||L||| ¬↑P[L[i]]} ;T;f))


Proof




Definitions occuring in Statement :  equipollent: B select: L[n] length: ||as|| filter: filter(P;l) list: List inject: Inj(A;B;f) int_seg: {i..j-} nat: assert: b bool: 𝔹 uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] le: A ≤ B not: ¬A set: {x:A| B[x]}  function: x:A ⟶ B[x] subtract: m natural_number: $n universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a le: A ≤ B and: P ∧ Q nat: so_apply: x[s] int_seg: {i..j-} guard: {T} ge: i ≥  lelt: i ≤ j < k all: x:A. B[x] decidable: Dec(P) or: P ∨ Q not: ¬A implies:  Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False top: Top prop: less_than: a < b squash: T so_lambda: λ2x.t[x] cand: c∧ B biject: Bij(A;B;f) equipollent: B sq_stable: SqStable(P) subtype_rel: A ⊆B ext-eq: A ≡ B istype: istype(T) iff: ⇐⇒ Q rev_implies:  Q inject: Inj(A;B;f) uiff: uiff(P;Q)
Lemmas referenced :  le_witness_for_triv equipollent_wf int_seg_wf inject_wf length_wf not_wf assert_wf select_wf int_seg_properties nat_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt intformless_wf int_formula_prop_less_lemma istype-universe nat_wf list_wf bool_wf equipollent-partition length_wf_nat equipollent_same decidable__assert equipollent-subtract2 filter_wf5 subtype_rel_dep_function l_member_wf subtract_wf equipollent_functionality_wrt_equipollent equipollent_weakening_ext-eq ext-eq_weakening equipollent-nsub equipollent_inversion pigeon-hole itermSubtract_wf int_term_value_subtract_lemma le_wf subtract-is-int-iff intformeq_wf int_formula_prop_eq_lemma false_wf equipollent_transitivity subtype_rel_self set_wf sq_stable__not subtype_rel_sets equipollent-filter compose_wf injection-composition satisfiable-full-omega-tt
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin productElimination equalityTransitivity hypothesis equalitySymmetry independent_isectElimination Error :universeIsType,  hypothesisEquality natural_numberEquality setElimination rename sqequalRule Error :isect_memberEquality_alt,  because_Cache setEquality cumulativity applyEquality functionExtensionality dependent_functionElimination unionElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality voidElimination independent_pairFormation imageElimination Error :functionIsType,  Error :setIsType,  Error :inhabitedIsType,  universeEquality Error :lambdaFormation_alt,  computeAll voidEquality isect_memberEquality intEquality lambdaEquality lemma_by_obid productEquality dependent_pairFormation functionEquality lambdaFormation baseClosed imageMemberEquality dependent_set_memberEquality promote_hyp Error :dependent_set_memberEquality_alt,  applyLambdaEquality Error :equalityIsType1,  pointwiseFunctionality baseApply closedConclusion

Latex:
\mforall{}[A:Type].  \mforall{}[P:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:A  List].  \mforall{}[T:Type].  \mforall{}[k:\mBbbN{}].  \mforall{}[f:\{i:\mBbbN{}||L|||  \mneg{}\muparrow{}P[L[i]]\}    {}\mrightarrow{}  T].
    ((||L||  -  k)  \mleq{}  ||filter(P;L)||)  supposing  (T  \msim{}  \mBbbN{}k  and  Inj(\{i:\mBbbN{}||L|||  \mneg{}\muparrow{}P[L[i]]\}  ;T;f))



Date html generated: 2019_06_20-PM-02_19_48
Last ObjectModification: 2018_10_05-PM-04_11_09

Theory : equipollence!!cardinality!


Home Index