Nuprl Lemma : primrec_add

[T:Type]. ∀[n,m:ℕ]. ∀[b:T]. ∀[c:ℕm ⟶ T ⟶ T].  (primrec(n m;b;c) primrec(n;primrec(m;b;c);λi,t. (c (i m) t))\000C)


Proof




Definitions occuring in Statement :  primrec: primrec(n;b;c) int_seg: {i..j-} nat: uall: [x:A]. B[x] apply: a lambda: λx.A[x] function: x:A ⟶ B[x] add: m natural_number: $n universe: Type sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: implies:  Q false: False ge: i ≥  guard: {T} uimplies: supposing a prop: all: x:A. B[x] top: Top decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q and: P ∧ Q not: ¬A rev_implies:  Q uiff: uiff(P;Q) subtract: m subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) true: True so_lambda: λ2x.t[x] so_apply: x[s] int_seg: {i..j-} lelt: i ≤ j < k bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] sq_type: SQType(T) bnot: ¬bb assert: b nat_plus: + less_than: a < b squash: T
Lemmas referenced :  nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf int_seg_wf primrec0_lemma zero-add decidable__le subtract_wf false_wf not-ge-2 less-iff-le condition-implies-le minus-one-mul minus-one-mul-top minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel subtype_rel_dep_function subtype_rel_sets and_wf le_wf decidable__lt not-lt-2 nat_wf le-add-cancel2 subtype_rel_self primrec-unroll lt_int_wf bool_wf eqtt_to_assert assert_of_lt_int eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base uiff_transitivity assert_of_bnot not_functionality_wrt_uiff assert_wf bnot_wf not_wf general_arith_equation1 le_reflexive one-mul add-mul-special two-mul mul-distributes-right zero-mul omega-shadow mul-associates mul-swap
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination lambdaFormation natural_numberEquality independent_isectElimination independent_functionElimination voidElimination sqequalRule lambdaEquality dependent_functionElimination isect_memberEquality axiomSqEquality functionEquality addEquality because_Cache voidEquality Error :functionIsType,  Error :universeIsType,  Error :inhabitedIsType,  unionElimination independent_pairFormation productElimination applyEquality intEquality minusEquality setEquality equalityElimination equalityTransitivity equalitySymmetry dependent_pairFormation promote_hyp instantiate cumulativity universeEquality multiplyEquality dependent_set_memberEquality imageMemberEquality baseClosed

Latex:
\mforall{}[T:Type].  \mforall{}[n,m:\mBbbN{}].  \mforall{}[b:T].  \mforall{}[c:\mBbbN{}n  +  m  {}\mrightarrow{}  T  {}\mrightarrow{}  T].
    (primrec(n  +  m;b;c)  \msim{}  primrec(n;primrec(m;b;c);\mlambda{}i,t.  (c  (i  +  m)  t)))



Date html generated: 2019_06_20-AM-11_27_47
Last ObjectModification: 2018_09_26-AM-10_58_09

Theory : call!by!value_2


Home Index