### Nuprl Lemma : sum_aux-as-primrec

`∀[v,i,k:ℤ]. ∀[f:{i..k-} ⟶ ℤ].  sum_aux(k;v;i;x.f[x]) ~ primrec(k - i;v;λj,x. (x + f[i + j])) supposing i ≤ k`

Proof

Definitions occuring in Statement :  sum_aux: `sum_aux(k;v;i;x.f[x])` primrec: `primrec(n;b;c)` int_seg: `{i..j-}` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` so_apply: `x[s]` le: `A ≤ B` lambda: `λx.A[x]` function: `x:A ⟶ B[x]` subtract: `n - m` add: `n + m` int: `ℤ` sqequal: `s ~ t`
Definitions unfolded in proof :  all: `∀x:A. B[x]` uall: `∀[x:A]. B[x]` member: `t ∈ T` nat: `ℕ` implies: `P `` Q` false: `False` ge: `i ≥ j ` uimplies: `b supposing a` not: `¬A` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` top: `Top` and: `P ∧ Q` prop: `ℙ` sum_aux: `sum_aux(k;v;i;x.f[x])` lt_int: `i <z j` subtract: `n - m` ifthenelse: `if b then t else f fi ` btrue: `tt` bool: `𝔹` unit: `Unit` it: `⋅` uiff: `uiff(P;Q)` less_than: `a < b` less_than': `less_than'(a;b)` true: `True` squash: `↓T` bfalse: `ff` or: `P ∨ Q` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` rev_implies: `P `` Q` iff: `P `⇐⇒` Q` has-value: `(a)↓` so_apply: `x[s]` int_seg: `{i..j-}` lelt: `i ≤ j < k` decidable: `Dec(P)` so_lambda: `λ2x.t[x]` le: `A ≤ B`
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void 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 istype-less_than primrec-unroll lt_int_wf eqtt_to_assert assert_of_lt_int itermAdd_wf int_term_value_add_lemma eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf less_than_wf istype-top int_seg_wf subtract-1-ge-0 value-type-has-value int-value-type decidable__le intformnot_wf int_formula_prop_not_lemma decidable__lt istype-le istype-nat int_subtype_base decidable__equal_int intformeq_wf itermSubtract_wf int_formula_prop_eq_lemma int_term_value_subtract_lemma int_seg_properties subtract_wf primrec0_lemma add-commutes add-zero lelt_wf le_wf
Rules used in proof :  cut sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality dependent_functionElimination Error :isect_memberEquality_alt,  voidElimination sqequalRule independent_pairFormation Error :universeIsType,  axiomSqEquality Error :isectIsTypeImplies,  Error :inhabitedIsType,  Error :functionIsTypeImplies,  Error :isect_memberFormation_alt,  because_Cache addEquality unionElimination equalityElimination equalityTransitivity equalitySymmetry productElimination lessCases imageMemberEquality baseClosed imageElimination Error :equalityIstype,  promote_hyp instantiate cumulativity Error :functionIsType,  callbyvalueReduce intEquality applyEquality Error :dependent_set_memberEquality_alt,  Error :productIsType,  functionEquality functionExtensionality dependent_set_memberEquality voidEquality isect_memberEquality lambdaEquality dependent_pairFormation isect_memberFormation

Latex:
\mforall{}[v,i,k:\mBbbZ{}].  \mforall{}[f:\{i..k\msupminus{}\}  {}\mrightarrow{}  \mBbbZ{}].
sum\_aux(k;v;i;x.f[x])  \msim{}  primrec(k  -  i;v;\mlambda{}j,x.  (x  +  f[i  +  j]))  supposing  i  \mleq{}  k

Date html generated: 2019_06_20-PM-01_17_48
Last ObjectModification: 2019_02_06-PM-03_57_03

Theory : int_2

Home Index