Nuprl Lemma : apply_gen_wf2

[B:Type]. ∀[n:ℕ]. ∀[m:ℕ1]. ∀[q:ℕ1]. ∀[A:ℕn ⟶ Type]. ∀[f:funtype(n q;λx.(A (x q));B)].
[lst:k:{q..n-} ⟶ (A k)].
  (apply_gen(m;lst) f ∈ funtype(n m;λx.(A (x m));B))


Proof




Definitions occuring in Statement :  apply_gen: apply_gen(n;lst) 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 int_seg: {i..j-} nat: exists: x:A. B[x] lelt: i ≤ j < k and: P ∧ Q 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: subtype_rel: A ⊆B sq_type: SQType(T) guard: {T} le: A ≤ B uiff: uiff(P;Q) less_than: a < b apply_gen: apply_gen(n;lst) squash: T true: True iff: ⇐⇒ Q rev_implies:  Q ifthenelse: if then else fi  btrue: tt nequal: a ≠ b ∈  bfalse: ff so_lambda: λ2x.t[x] so_apply: x[s] funtype: funtype(n;A;T) subtract: m
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-base-T int_subtype_base subtype_base_sq funtype_wf int_seg_wf add-member-int_seg2 lelt_wf add-member-int_seg1 decidable__lt nat_wf ge_wf less_than_wf bool_wf bool_subtype_base equal_wf squash_wf true_wf eq_int_eq_true btrue_wf iff_weakening_equal eq_int_eq_false equal-wf-base bfalse_wf subtype_rel_dep_function int_seg_subtype subtype_rel_self primrec-unroll eq_int_wf assert_wf bnot_wf not_wf equal-wf-T-base subtype_rel-equal minus-add minus-minus add-associates minus-one-mul add-swap add-mul-special add-commutes mul-distributes-right two-mul zero-add one-mul zero-mul itermMultiply_wf int_term_value_mul_lemma primrec_wf add-zero bool_cases eqtt_to_assert assert_of_eq_int eqff_to_assert iff_transitivity iff_weakening_uiff assert_of_bnot
Rules used in proof :  cut introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isectElimination thin natural_numberEquality addEquality setElimination rename because_Cache hypothesis hypothesisEquality dependent_pairFormation productElimination dependent_set_memberEquality dependent_functionElimination unionElimination independent_isectElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll applyEquality instantiate cumulativity equalityTransitivity equalitySymmetry independent_functionElimination lambdaFormation functionExtensionality functionEquality universeEquality isect_memberFormation axiomEquality intWeakElimination imageElimination imageMemberEquality baseClosed baseApply closedConclusion multiplyEquality minusEquality impliesFunctionality

Latex:
\mforall{}[B:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[m:\mBbbN{}n  +  1].  \mforall{}[q:\mBbbN{}m  +  1].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[f:funtype(n  -  q;\mlambda{}x.(A  (x  +  q));B)].
\mforall{}[lst:k:\{q..n\msupminus{}\}  {}\mrightarrow{}  (A  k)].
    (apply\_gen(m;lst)  q  f  \mmember{}  funtype(n  -  m;\mlambda{}x.(A  (x  +  m));B))



Date html generated: 2017_10_01-AM-09_03_32
Last ObjectModification: 2017_07_26-PM-04_44_23

Theory : bags


Home Index