Nuprl Lemma : add-poly-lemma1

p,q:iMonomial() List. ∀m:iMonomial().
  ((∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
   (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
   (0 < ||p||  imonomial-less(m;p[0]))
   (0 < ||q||  imonomial-less(m;q[0]))
   0 < ||add-ipoly(p;q)||
   imonomial-less(m;add-ipoly(p;q)[0]))


Proof




Definitions occuring in Statement :  add-ipoly: add-ipoly(p;q) imonomial-less: imonomial-less(m1;m2) iMonomial: iMonomial() select: L[n] length: ||as|| list: List int_seg: {i..j-} less_than: a < b all: x:A. B[x] implies:  Q natural_number: $n
Definitions unfolded in proof :  imonomial-le: imonomial-le(m1;m2) pi2: snd(t) imonomial-less: imonomial-less(m1;m2) rev_implies:  Q iff: ⇐⇒ Q nequal: a ≠ b ∈  int_nzero: -o pi1: fst(t) iMonomial: iMonomial() assert: b bnot: ¬bb sq_type: SQType(T) unit: Unit bool: 𝔹 or: P ∨ Q decidable: Dec(P) true: True nat_plus: + subtract: m uiff: uiff(P;Q) nat: subtype_rel: A ⊆B exists: x:A. B[x] bfalse: ff cons: [a b] has-value: (a)↓ less_than: a < b btrue: tt ifthenelse: if then else fi  so_apply: x[s1;s2] top: Top so_lambda: λ2y.t[x; y] it: nil: [] select: L[n] add-ipoly: Error :add-ipoly,  not: ¬A false: False less_than': less_than'(a;b) le: A ≤ B so_apply: x[s] guard: {T} squash: T and: P ∧ Q lelt: i ≤ j < k sq_stable: SqStable(P) uimplies: supposing a int_seg: {i..j-} prop: implies:  Q so_lambda: λ2x.t[x] member: t ∈ T uall: [x:A]. B[x] all: x:A. B[x]
Lemmas referenced :  int_nzero_wf subtype_rel_self sorted_wf imonomial-less-transitive nat_plus_wf add_nat_plus add-subtract-cancel le-add-cancel not-equal-2 select-cons-tl true_wf squash_wf lelt_wf le-add-cancel2 condition-implies-le not-le-2 decidable__le add-member-int_seg2 neg_assert_of_eq_int assert_of_eq_int eq_int_wf int-value-type assert-bnot bool_subtype_base subtype_base_sq bool_cases_sqequal eqff_to_assert eqtt_to_assert bool_wf imonomial-le_wf decidable__lt nat_properties int_seg_properties minus-one-mul-top mul-commutes mul-associates mul-distributes omega-shadow not-lt-2 add-zero zero-mul zero-add mul-distributes-right two-mul add-mul-special add-swap one-mul minus-one-mul minus-add add-associates le_reflexive subtract_wf add_functionality_wrt_le less-iff-le add-commutes equal_wf int_subtype_base le_wf set_subtype_base nat_wf length_wf_nat non_neg_length spread_cons_lemma null_cons_lemma length_of_cons_lemma cons_wf less_than_irreflexivity less_than_transitivity1 null_nil_lemma base_wf stuck-spread length_of_nil_lemma nil_wf list-value-type value-type-has-value add-ipoly_wf1 false_wf less_than_wf le_weakening2 less_than_transitivity2 sq_stable__le select_wf imonomial-less_wf length_wf int_seg_wf list_wf all_wf iMonomial_wf list_induction
Rules used in proof :  setEquality productEquality independent_pairEquality hyp_replacement int_eqReduceFalseSq int_eqReduceTrueSq cumulativity instantiate equalityElimination unionElimination dependent_set_memberEquality minusEquality multiplyEquality promote_hyp equalitySymmetry equalityTransitivity intEquality applyEquality sqequalIntensionalEquality dependent_pairFormation addEquality callbyvalueReduce voidElimination isect_memberEquality voidEquality independent_pairFormation dependent_functionElimination imageElimination baseClosed imageMemberEquality productElimination independent_functionElimination independent_isectElimination rename setElimination hypothesisEquality natural_numberEquality functionEquality because_Cache lambdaEquality sqequalRule hypothesis isectElimination sqequalHypSubstitution extract_by_obid introduction thin cut lambdaFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}p,q:iMonomial()  List.  \mforall{}m:iMonomial().
    ((\mforall{}i:\mBbbN{}||p||.  \mforall{}j:\mBbbN{}i.    imonomial-less(p[j];p[i]))
    {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||q||.  \mforall{}j:\mBbbN{}i.    imonomial-less(q[j];q[i]))
    {}\mRightarrow{}  (0  <  ||p||  {}\mRightarrow{}  imonomial-less(m;p[0]))
    {}\mRightarrow{}  (0  <  ||q||  {}\mRightarrow{}  imonomial-less(m;q[0]))
    {}\mRightarrow{}  0  <  ||add-ipoly(p;q)||
    {}\mRightarrow{}  imonomial-less(m;add-ipoly(p;q)[0]))



Date html generated: 2017_04_14-AM-08_58_21
Last ObjectModification: 2017_04_03-AM-09_56_54

Theory : omega


Home Index