Nuprl Lemma : apply_larger_list

[B:Type]. ∀[n:ℕ]. ∀[m:ℕ1]. ∀[q:ℕ1]. ∀[A:ℕn ⟶ Type]. ∀[lst:k:{q..n-} ⟶ (A k)]. ∀[r:ℕm]. ∀[a:A r].
[f:funtype(n m;λx.(A (x m));B)].
  ((apply_gen(n;λx.if (x =z r) then else lst fi f) (apply_gen(n;lst) f) ∈ B)


Proof




Definitions occuring in Statement :  apply_gen: apply_gen(n;lst) funtype: funtype(n;A;T) int_seg: {i..j-} nat: ifthenelse: if then else fi  eq_int: (i =z j) uall: [x:A]. B[x] apply: a lambda: λx.A[x] function: x:A ⟶ B[x] subtract: m add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: int_seg: {i..j-} 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 funtype: funtype(n;A;T) apply_gen: apply_gen(n;lst) bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff bnot: ¬bb assert: b nequal: a ≠ b ∈  iff: ⇐⇒ Q rev_implies:  Q subtract: m squash: T true: True
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 ge_wf less_than_wf funtype_wf int_seg_wf add-member-int_seg2 lelt_wf decidable__lt add-member-int_seg1 nat_wf primrec0_lemma eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int eqff_to_assert equal_wf bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int uiff_transitivity equal-wf-T-base assert_wf subtype_rel-equal iff_transitivity bnot_wf not_wf iff_weakening_uiff assert_of_bnot primrec-unroll equal-wf-base minus-add minus-minus add-associates minus-one-mul add-swap add-mul-special add-commutes mul-distributes-right zero-add itermMultiply_wf int_term_value_mul_lemma primrec_wf zero-mul add-zero bool_cases
Rules used in proof :  cut thin introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isectElimination 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 intWeakElimination lambdaFormation axiomEquality functionExtensionality functionEquality universeEquality isect_memberFormation equalityElimination promote_hyp baseClosed impliesFunctionality multiplyEquality minusEquality imageElimination imageMemberEquality

Latex:
\mforall{}[B:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[m:\mBbbN{}n  +  1].  \mforall{}[q:\mBbbN{}m  +  1].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[lst:k:\{q..n\msupminus{}\}  {}\mrightarrow{}  (A  k)].  \mforall{}[r:\mBbbN{}m].
\mforall{}[a:A  r].  \mforall{}[f:funtype(n  -  m;\mlambda{}x.(A  (x  +  m));B)].
    ((apply\_gen(n;\mlambda{}x.if  (x  =\msubz{}  r)  then  a  else  lst  x  fi  )  m  f)  =  (apply\_gen(n;lst)  m  f))



Date html generated: 2017_10_01-AM-09_03_48
Last ObjectModification: 2017_07_26-PM-04_44_35

Theory : bags


Home Index