Nuprl Lemma : sum-as-accum

[n:ℕ]. ∀[f:ℕn ⟶ ℤ].
  (f[x] x < n) accumulate (with value and list item y):
                      y
                     over list:
                       map(λx.f[x];upto(n))
                     with starting value:
                      0))


Proof




Definitions occuring in Statement :  upto: upto(n) sum: Σ(f[x] x < k) map: map(f;as) list_accum: list_accum int_seg: {i..j-} nat: uall: [x:A]. B[x] so_apply: x[s] lambda: λx.A[x] function: x:A ⟶ B[x] add: m natural_number: $n int: sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: implies:  Q false: False ge: i ≥  uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] not: ¬A all: x:A. B[x] top: Top and: P ∧ Q prop: sum: Σ(f[x] x < k) sum_aux: sum_aux(k;v;i;x.f[x]) list_accum: list_accum map: map(f;as) list_ind: list_ind upto: upto(n) from-upto: [n, m) ifthenelse: if then else fi  lt_int: i <j bfalse: ff nil: [] it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] sq_type: SQType(T) guard: {T} decidable: Dec(P) or: P ∨ Q so_lambda: λ2x.t[x] so_apply: x[s] bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) less_than: a < b less_than': less_than'(a;b) true: True squash: T subtype_rel: A ⊆B le: A ≤ B nat_plus: + int_seg: {i..j-} lelt: i ≤ j < k bnot: ¬bb assert: b
Lemmas referenced :  nat_properties satisfiable-full-omega-tt intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf int_seg_wf subtype_base_sq int_subtype_base list_accum_wf nil_wf decidable__le subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma sum-unroll lt_int_wf bool_wf eqtt_to_assert assert_of_lt_int top_wf subtype_rel_dep_function int_seg_subtype false_wf subtype_rel_self upto_decomp1 map_append_sq list_accum_append map_wf decidable__lt lelt_wf upto_wf subtype_rel_list map_cons_lemma map_nil_lemma list_accum_cons_lemma list_accum_nil_lemma decidable__equal_int intformeq_wf int_formula_prop_eq_lemma eqff_to_assert equal_wf bool_cases_sqequal bool_subtype_base assert-bnot nat_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination lambdaFormation natural_numberEquality independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll independent_functionElimination sqequalAxiom functionEquality instantiate cumulativity because_Cache addEquality equalityTransitivity equalitySymmetry unionElimination equalityElimination productElimination lessCases imageMemberEquality baseClosed imageElimination applyEquality dependent_set_memberEquality functionExtensionality promote_hyp

Latex:
\mforall{}[n:\mBbbN{}].  \mforall{}[f:\mBbbN{}n  {}\mrightarrow{}  \mBbbZ{}].
    (\mSigma{}(f[x]  |  x  <  n)  \msim{}  accumulate  (with  value  x  and  list  item  y):
                                            x  +  y
                                          over  list:
                                              map(\mlambda{}x.f[x];upto(n))
                                          with  starting  value:
                                            0))



Date html generated: 2017_04_17-AM-08_25_28
Last ObjectModification: 2017_02_27-PM-04_48_11

Theory : list_1


Home Index