Nuprl Lemma : select-filter-from-upto-order-preserving

[n,m:ℤ]. ∀[P:{n..m-} ⟶ 𝔹]. ∀[i,j:ℕ||filter(P;[n, m))||].  uiff(i < j;filter(P;[n, m))[i] < filter(P;[n, m))[j])


Proof




Definitions occuring in Statement :  from-upto: [n, m) select: L[n] length: ||as|| filter: filter(P;l) int_seg: {i..j-} bool: 𝔹 less_than: a < b uiff: uiff(P;Q) uall: [x:A]. B[x] function: x:A ⟶ B[x] natural_number: $n int:
Definitions unfolded in proof :  uall: [x:A]. B[x] so_lambda: λ2x.t[x] member: t ∈ T implies:  Q prop: nat: subtype_rel: A ⊆B so_apply: x[s] uimplies: supposing a all: x:A. B[x] istype: istype(T) int_seg: {i..j-} guard: {T} ge: i ≥  lelt: i ≤ j < k and: P ∧ Q decidable: Dec(P) or: P ∨ Q less_than: a < b squash: T not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False top: Top iff: ⇐⇒ Q rev_implies:  Q from-upto: [n, m) cand: c∧ B le: A ≤ B uiff: uiff(P;Q) subtract: m less_than': less_than'(a;b) true: True select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] bool: 𝔹 unit: Unit btrue: tt ifthenelse: if then else fi  bfalse: ff has-value: (a)↓ sq_type: SQType(T)
Lemmas referenced :  complete-nat-induction all_wf le_wf subtract_wf int_seg_wf bool_wf length_wf filter_wf5 from-upto_wf subtype_rel_dep_function l_member_wf iff_wf less_than_wf select_wf int_seg_properties nat_properties decidable__lt full-omega-unsat intformand_wf intformnot_wf intformless_wf itermVar_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_var_lemma int_formula_prop_wf decidable__le intformle_wf itermConstant_wf int_formula_prop_le_lemma int_term_value_constant_lemma istype-nat istype-le istype-less_than lt_int_wf equal-wf-base int_subtype_base assert_wf filter_cons_lemma value-type-has-value int-value-type itermSubtract_wf int_term_value_subtract_lemma itermAdd_wf int_term_value_add_lemma subtype_rel_function int_seg_subtype istype-false not-le-2 condition-implies-le minus-add minus-one-mul add-swap minus-one-mul-top add-mul-special zero-mul add-zero add-associates add-commutes le-add-cancel le_reflexive subtype_rel_self equal-wf-T-base bnot_wf not_wf le_int_wf filter_nil_lemma length_of_nil_lemma stuck-spread istype-base uiff_transitivity eqtt_to_assert assert_of_lt_int eqff_to_assert assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int assert_of_bnot subtype_rel_set length_of_cons_lemma set_subtype_base lelt_wf select-cons bnot_of_le_int add-is-int-iff false_wf intformeq_wf int_formula_prop_eq_lemma list_wf set_wf satisfiable-full-omega-tt member-less_than subtype_base_sq list_subtype_base from-upto-nil nil_wf less_than_transitivity1 less_than_irreflexivity
Rules used in proof :  cut introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isectElimination thin sqequalRule Error :lambdaEquality_alt,  closedConclusion intEquality because_Cache functionEquality hypothesisEquality hypothesis setElimination rename natural_numberEquality applyEquality Error :universeIsType,  setEquality Error :setIsType,  independent_isectElimination Error :lambdaFormation_alt,  productElimination dependent_functionElimination Error :inhabitedIsType,  equalityTransitivity equalitySymmetry unionElimination imageElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  int_eqEquality Error :isect_memberEquality_alt,  voidElimination independent_pairFormation Error :functionIsType,  Error :productIsType,  baseApply baseClosed Error :dependent_set_memberEquality_alt,  addEquality minusEquality multiplyEquality equalityElimination Error :equalityIstype,  callbyvalueReduce pointwiseFunctionality promote_hyp applyLambdaEquality lambdaEquality productEquality lambdaFormation dependent_pairFormation isect_memberEquality voidEquality computeAll isect_memberFormation independent_pairEquality dependent_set_memberEquality instantiate cumulativity

Latex:
\mforall{}[n,m:\mBbbZ{}].  \mforall{}[P:\{n..m\msupminus{}\}  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[i,j:\mBbbN{}||filter(P;[n,  m))||].
    uiff(i  <  j;filter(P;[n,  m))[i]  <  filter(P;[n,  m))[j])



Date html generated: 2019_06_20-PM-01_34_24
Last ObjectModification: 2019_01_21-PM-01_56_58

Theory : list_1


Home Index