Nuprl Lemma : mk_lambdas-fun_wf

[T,U:Type]. ∀[m:ℕ]. ∀[n:ℕ1]. ∀[A:ℕm ⟶ Type]. ∀[F:(funtype(m;A;T) ⟶ T) ⟶ U].
[G:∀[T:Type]. (funtype(n;A;T) ⟶ T)].
  (mk_lambdas-fun(F;G;n;m) ∈ funtype(m n;λi.(A (i n));U))


Proof




Definitions occuring in Statement :  mk_lambdas-fun: mk_lambdas-fun(F;G;n;m) funtype: funtype(n;A;T) int_seg: {i..j-} nat: uall: [x:A]. B[x] member: t ∈ T apply: a lambda: λx.A[x] function: x:A ⟶ B[x] subtract: m add: m natural_number: $n universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q exists: x:A. B[x] ge: i ≥  all: x:A. B[x] decidable: Dec(P) or: P ∨ Q uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) false: False implies:  Q not: ¬A top: Top prop: sq_type: SQType(T) guard: {T} le: A ≤ B so_lambda: λ2x.t[x] subtype_rel: A ⊆B so_apply: x[s] less_than': less_than'(a;b) funtype: funtype(n;A;T) mk_lambdas-fun: mk_lambdas-fun(F;G;n;m) bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff bnot: ¬bb assert: b nequal: a ≠ b ∈  subtract: m squash: T true: True iff: ⇐⇒ Q rev_implies:  Q less_than: a < b
Lemmas referenced :  int_seg_properties subtract_wf nat_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf intformless_wf itermAdd_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_less_lemma int_term_value_add_lemma int_formula_prop_wf le_wf decidable__equal_int intformeq_wf int_formula_prop_eq_lemma equal_wf subtype_base_sq int_subtype_base ge_wf less_than_wf funtype_wf int_seg_wf uall_wf less_than_transitivity1 less_than_irreflexivity add-zero subtype_rel_dep_function int_seg_subtype false_wf subtype_rel_self int_seg_subtype_nat nat_wf primrec0_lemma le_int_wf bool_wf eqtt_to_assert assert_of_le_int eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot funtype-unroll eq_int_wf assert_of_eq_int neg_assert_of_eq_int zero-add add-commutes add-associates add-swap decidable__lt lelt_wf member_wf squash_wf true_wf funtype-unroll-last-eq iff_weakening_equal add-subtract-cancel subtype_rel-equal assert_wf bnot_wf not_wf equal-wf-base bool_cases iff_transitivity iff_weakening_uiff assert_of_bnot add-member-int_seg2
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin natural_numberEquality addEquality setElimination rename because_Cache hypothesis hypothesisEquality productElimination dependent_pairFormation dependent_set_memberEquality dependent_functionElimination unionElimination independent_isectElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll instantiate cumulativity equalityTransitivity equalitySymmetry independent_functionElimination intWeakElimination lambdaFormation axiomEquality functionEquality functionExtensionality applyEquality universeEquality equalityElimination isectEquality promote_hyp imageElimination imageMemberEquality baseClosed baseApply closedConclusion impliesFunctionality

Latex:
\mforall{}[T,U:Type].  \mforall{}[m:\mBbbN{}].  \mforall{}[n:\mBbbN{}m  +  1].  \mforall{}[A:\mBbbN{}m  {}\mrightarrow{}  Type].  \mforall{}[F:(funtype(m;A;T)  {}\mrightarrow{}  T)  {}\mrightarrow{}  U].
\mforall{}[G:\mforall{}[T:Type].  (funtype(n;A;T)  {}\mrightarrow{}  T)].
    (mk\_lambdas-fun(F;G;n;m)  \mmember{}  funtype(m  -  n;\mlambda{}i.(A  (i  +  n));U))



Date html generated: 2017_10_01-AM-08_40_02
Last ObjectModification: 2017_07_26-PM-04_27_50

Theory : untyped!computation


Home Index