Nuprl Lemma : mul-polynom-int-val

[n:ℕ]. ∀[l:{l:ℤ List| ||l|| n ∈ ℤ]. ∀[p,q:polyform(n)].  (mul-polynom(n;p;q)@l (p@l q@l) ∈ ℤ)


Proof




Definitions occuring in Statement :  mul-polynom: mul-polynom(n;p;q) poly-int-val: p@l polyform: polyform(n) length: ||as|| list: List nat: uall: [x:A]. B[x] set: {x:A| B[x]}  multiply: m int: equal: t ∈ T
Definitions unfolded in proof :  subtract: m poly-zero: poly-zero(n;p) primrec: primrec(n;b;c) exp: i^n nat_plus: + append: as bs has-valueall: has-valueall(a) has-value: (a)↓ callbyvalueall: callbyvalueall so_apply: x[s1;s2] so_lambda: λ2y.t[x; y] colength: colength(L) so_apply: x[s1;s2;s3] so_lambda: so_lambda(x,y,z.t[x; y; z]) eager-accum: eager-accum(x,a.f[x; a];y;l) rev_implies:  Q iff: ⇐⇒ Q true: True squash: T nequal: a ≠ b ∈  cons: [a b] nil: [] null: null(as) poly-int-val: p@l mul-polynom: mul-polynom(n;p;q) less_than: a < b int_upper: {i...} assert: b bnot: ¬bb sq_type: SQType(T) bfalse: ff ifthenelse: if then else fi  uiff: uiff(P;Q) btrue: tt it: unit: Unit bool: 𝔹 polyform: polyform(n) or: P ∨ Q decidable: Dec(P) less_than': less_than'(a;b) le: A ≤ B lelt: i ≤ j < k so_apply: x[s] int_seg: {i..j-} so_lambda: λ2x.t[x] subtype_rel: A ⊆B guard: {T} prop: and: P ∧ Q top: Top not: ¬A exists: x:A. B[x] satisfiable_int_formula: satisfiable_int_formula(fmla) uimplies: supposing a ge: i ≥  false: False implies:  Q nat: all: x:A. B[x] member: t ∈ T uall: [x:A]. B[x]
Lemmas referenced :  map-length mul-zero map_cons_lemma map_nil_lemma multiply-is-int-iff add-subtract-cancel exp_step poly_int_val_cons_cons length-append zero-mul null_cons_lemma add-polynom-int-val add_functionality_wrt_eq iff_wf iff_imp_equal_bool add_nat_wf uiff_transitivity assert_of_bnot iff_weakening_uiff iff_transitivity bool_cases mul-polynom_wf map_wf poly-zero_wf nil_wf polynom_subtype_polyform append_wf btrue_neq_bfalse not_assert_elim null_nil_lemma assert_of_null null_wf btrue_wf add-polynom_wf1 not_wf bnot_wf assert_wf evalall-reduce valueall-type-polyform valueall-type-has-valueall poly_int_val_nil_cons list_ind_cons_lemma set_subtype_base spread_cons_lemma exp0_lemma list_ind_nil_lemma colength_wf_list equal-wf-T-base int_term_value_mul_lemma itermMultiply_wf length_wf_nat exp_wf2 polyconst-val iff_weakening_equal polyconst_wf true_wf squash_wf cons_wf poly-int-val_wf subtype_rel-equal add-is-int-iff length_of_nil_lemma int_upper_properties equal-wf-base non_neg_length length_wf le_weakening2 length_of_cons_lemma product_subtype_list list-cases nat_wf int_subtype_base list_subtype_base int_term_value_add_lemma itermAdd_wf lelt_wf decidable__lt zero-add nequal-le-implies int_upper_subtype_nat neg_assert_of_eq_int assert-bnot bool_subtype_base subtype_base_sq bool_cases_sqequal equal_wf eqff_to_assert assert_of_eq_int eqtt_to_assert bool_wf eq_int_wf le_wf int_formula_prop_eq_lemma intformeq_wf int_seg_subtype decidable__equal_int int_term_value_subtract_lemma int_formula_prop_not_lemma itermSubtract_wf intformnot_wf subtract_wf decidable__le false_wf int_seg_subtype_nat int_seg_properties int_seg_wf equal-wf-base-T list_wf set_wf less_than_irreflexivity less_than_transitivity1 polyform_wf less_than_wf ge_wf int_formula_prop_wf int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_and_lemma intformless_wf itermVar_wf itermConstant_wf intformle_wf intformand_wf satisfiable-full-omega-tt nat_properties
Rules used in proof :  sqequalAxiom levelHypothesis equalityUniverse sqequalIntensionalEquality addLevel impliesFunctionality callbyvalueReduce imageMemberEquality universeEquality imageElimination int_eqReduceFalseSq int_eqReduceTrueSq pointwiseFunctionality multiplyEquality addEquality cumulativity instantiate promote_hyp equalityElimination dependent_set_memberEquality hypothesis_subsumption applyLambdaEquality equalitySymmetry equalityTransitivity unionElimination productElimination baseClosed closedConclusion baseApply because_Cache applyEquality axiomEquality independent_functionElimination computeAll independent_pairFormation sqequalRule voidEquality voidElimination isect_memberEquality dependent_functionElimination intEquality int_eqEquality lambdaEquality dependent_pairFormation independent_isectElimination natural_numberEquality intWeakElimination rename setElimination hypothesis hypothesisEquality isectElimination sqequalHypSubstitution extract_by_obid lambdaFormation thin cut introduction isect_memberFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}[n:\mBbbN{}].  \mforall{}[l:\{l:\mBbbZ{}  List|  ||l||  =  n\}  ].  \mforall{}[p,q:polyform(n)].    (mul-polynom(n;p;q)@l  =  (p@l  *  q@l))



Date html generated: 2017_04_20-AM-07_13_38
Last ObjectModification: 2017_04_17-PM-06_31_12

Theory : list_1


Home Index