Nuprl Lemma : mk_applies_fun

`∀[F,K,v:Top]. ∀[n:ℕ]. ∀[m:ℕn + 1].  (mk_applies(F;λk.if (k =z n) then v else K k fi ;m) ~ mk_applies(F;K;m))`

Proof

Definitions occuring in Statement :  mk_applies: `mk_applies(F;G;m)` int_seg: `{i..j-}` nat: `ℕ` ifthenelse: `if b then t else f fi ` eq_int: `(i =z j)` uall: `∀[x:A]. B[x]` top: `Top` apply: `f a` lambda: `λx.A[x]` add: `n + m` natural_number: `\$n` sqequal: `s ~ t`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` int_seg: `{i..j-}` lelt: `i ≤ j < k` and: `P ∧ Q` le: `A ≤ B` less_than: `a < b` squash: `↓T` nat: `ℕ` ge: `i ≥ j ` all: `∀x:A. B[x]` decidable: `Dec(P)` or: `P ∨ Q` uimplies: `b supposing a` not: `¬A` implies: `P `` Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` false: `False` top: `Top` prop: `ℙ` subtype_rel: `A ⊆r B` less_than': `less_than'(a;b)` mk_applies: `mk_applies(F;G;m)` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` ifthenelse: `if b then t else f fi ` bfalse: `ff` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` rev_implies: `P `` Q` iff: `P `⇐⇒` Q`
Lemmas referenced :  int_seg_properties nat_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermVar_wf intformless_wf itermAdd_wf itermConstant_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_term_value_add_lemma int_term_value_constant_lemma int_formula_prop_wf int_seg_subtype_nat istype-false ge_wf istype-less_than primrec0_lemma istype-le subtract-1-ge-0 int_seg_wf istype-nat istype-top lt_int_wf eqtt_to_assert assert_of_lt_int eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf less_than_wf eq_int_wf subtract_wf assert_of_eq_int intformeq_wf itermSubtract_wf int_formula_prop_eq_lemma int_term_value_subtract_lemma neg_assert_of_eq_int primrec-unroll
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut sqequalRule thin extract_by_obid sqequalHypSubstitution isectElimination setElimination rename productElimination hypothesis imageElimination hypothesisEquality dependent_functionElimination unionElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt lambdaEquality_alt int_eqEquality isect_memberEquality_alt voidElimination independent_pairFormation universeIsType applyEquality addEquality lambdaFormation_alt inhabitedIsType intWeakElimination axiomSqEquality functionIsTypeImplies because_Cache equalityIstype equalityTransitivity equalitySymmetry isectIsTypeImplies equalityElimination promote_hyp instantiate cumulativity

Latex:
\mforall{}[F,K,v:Top].  \mforall{}[n:\mBbbN{}].  \mforall{}[m:\mBbbN{}n  +  1].
(mk\_applies(F;\mlambda{}k.if  (k  =\msubz{}  n)  then  v  else  K  k  fi  ;m)  \msim{}  mk\_applies(F;K;m))

Date html generated: 2020_05_20-AM-07_49_12
Last ObjectModification: 2019_11_27-PM-04_17_37

Theory : untyped!computation

Home Index