### Nuprl Lemma : funtype-unroll-last

`∀[T,A:Top]. ∀[n:ℕ].  (funtype(n;A;T) ~ if (n =z 0) then T else funtype(n - 1;A;(A (n - 1)) ⟶ T) fi )`

Proof

Definitions occuring in Statement :  funtype: `funtype(n;A;T)` nat: `ℕ` ifthenelse: `if b then t else f fi ` eq_int: `(i =z j)` uall: `∀[x:A]. B[x]` top: `Top` apply: `f a` function: `x:A ⟶ B[x]` subtract: `n - m` natural_number: `\$n` sqequal: `s ~ t`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` nat: `ℕ` implies: `P `` Q` false: `False` ge: `i ≥ j ` uimplies: `b 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: `ℙ` eq_int: `(i =z j)` subtract: `n - m` ifthenelse: `if b then t else f fi ` btrue: `tt` funtype: `funtype(n;A;T)` decidable: `Dec(P)` or: `P ∨ Q` bool: `𝔹` unit: `Unit` it: `⋅` uiff: `uiff(P;Q)` bfalse: `ff` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` nequal: `a ≠ b ∈ T ` subtype_rel: `A ⊆r B` iff: `P `⇐⇒` Q` rev_implies: `P `` Q`
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 top_wf primrec0_lemma decidable__le subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int intformeq_wf int_formula_prop_eq_lemma eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int nat_wf int_subtype_base decidable__equal_int primrec1_lemma assert_wf bnot_wf not_wf equal-wf-base primrec-unroll general_arith_equation2 subtract-add-cancel bool_cases iff_transitivity iff_weakening_uiff assert_of_bnot
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination 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 unionElimination equalityElimination equalityTransitivity equalitySymmetry productElimination because_Cache promote_hyp instantiate baseApply closedConclusion baseClosed applyEquality cumulativity impliesFunctionality

Latex:
\mforall{}[T,A:Top].  \mforall{}[n:\mBbbN{}].
(funtype(n;A;T)  \msim{}  if  (n  =\msubz{}  0)  then  T  else  funtype(n  -  1;A;(A  (n  -  1))  {}\mrightarrow{}  T)  fi  )

Date html generated: 2017_10_01-AM-08_39_41
Last ObjectModification: 2017_07_26-PM-04_27_39

Theory : untyped!computation

Home Index