Nuprl Lemma : mk_lambdas-fun-shift-init

`∀[F,K:Top]. ∀[n,m,p,q:ℕ].`
`  (mk_lambdas-fun(F;λf.mk_applies(f;K;p + q);n;m) `
`  ~ mk_lambdas-fun(λg.(F (λf.(g mk_applies(f;K;p))));λf.mk_applies(f;λi.(K (p + i));q);n;m))`

Proof

Definitions occuring in Statement :  mk_applies: `mk_applies(F;G;m)` mk_lambdas-fun: `mk_lambdas-fun(F;G;n;m)` nat: `ℕ` uall: `∀[x:A]. B[x]` top: `Top` apply: `f a` lambda: `λx.A[x]` add: `n + m` sqequal: `s ~ t`
Definitions unfolded in proof :  all: `∀x:A. B[x]` member: `t ∈ T` nat: `ℕ` decidable: `Dec(P)` or: `P ∨ Q` exists: `∃x:A. B[x]` uall: `∀[x:A]. B[x]` ge: `i ≥ j ` uimplies: `b supposing a` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` implies: `P `` Q` not: `¬A` top: `Top` and: `P ∧ Q` prop: `ℙ` sq_type: `SQType(T)` guard: `{T}` mk_lambdas-fun: `mk_lambdas-fun(F;G;n;m)` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` ifthenelse: `if b then t else f fi ` bfalse: `ff` bnot: `¬bb` assert: `↑b` nat_plus: `ℕ+` int_seg: `{i..j-}` lelt: `i ≤ j < k` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` le: `A ≤ B` subtract: `n - m` subtype_rel: `A ⊆r B` less_than': `less_than'(a;b)` true: `True` nequal: `a ≠ b ∈ T `
Lemmas referenced :  decidable__le subtract_wf nat_properties satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_subtract_lemma int_term_value_var_lemma int_formula_prop_wf le_wf decidable__equal_int intformeq_wf itermAdd_wf int_formula_prop_eq_lemma int_term_value_add_lemma equal_wf subtype_base_sq int_subtype_base intformless_wf int_formula_prop_less_lemma ge_wf less_than_wf nat_wf le_int_wf bool_wf eqtt_to_assert assert_of_le_int mk_applies_split eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot top_wf mk_applies_unroll decidable__lt eq_int_wf mk_applies_fun lelt_wf assert_wf bnot_wf not_wf bool_cases assert_of_eq_int iff_transitivity iff_weakening_uiff assert_of_bnot false_wf not-lt-2 condition-implies-le minus-add minus-one-mul zero-add minus-one-mul-top add-commutes add_functionality_wrt_le add-associates add-zero le-add-cancel add-subtract-cancel mk_applies_fun2 neg_assert_of_eq_int
Rules used in proof :  cut introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity dependent_functionElimination thin setElimination rename hypothesisEquality hypothesis unionElimination dependent_pairFormation dependent_set_memberEquality isectElimination because_Cache natural_numberEquality independent_isectElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll addEquality productElimination instantiate cumulativity equalityTransitivity equalitySymmetry independent_functionElimination intWeakElimination lambdaFormation sqequalAxiom equalityElimination promote_hyp isect_memberFormation impliesFunctionality applyEquality minusEquality

Latex:
\mforall{}[F,K:Top].  \mforall{}[n,m,p,q:\mBbbN{}].
(mk\_lambdas-fun(F;\mlambda{}f.mk\_applies(f;K;p  +  q);n;m)
\msim{}  mk\_lambdas-fun(\mlambda{}g.(F  (\mlambda{}f.(g  mk\_applies(f;K;p))));\mlambda{}f.mk\_applies(f;\mlambda{}i.(K  (p  +  i));q);n;m))

Date html generated: 2017_10_01-AM-08_40_45
Last ObjectModification: 2017_07_26-PM-04_28_14

Theory : untyped!computation

Home Index