1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
17 set "baseuri" "cic:/matita/CoRN-Decl/algebra/CPoly_Degree".
19 (* $Id: CPoly_Degree.v,v 1.5 2004/04/23 10:00:53 lcf Exp $ *)
29 (*#* *Degrees of Polynomials
30 ** Degrees of polynomials over a ring
32 Let [R] be a ring and write [RX] for the ring of polynomials
41 inline cic:/CoRN/algebra/CPoly_Degree/R.var.
48 The length of a polynomial is the number of its coefficients. This is
49 a syntactical property, as the highest coefficient may be [0]. Note that
50 the `zero' polynomial [cpoly_zero] has length [0],
51 a constant polynomial has length [1] and so forth. So the length
52 is always [1] higher than the `degree' (assuming that the highest
53 coefficient is [[#]Zero])!
56 inline cic:/CoRN/algebra/CPoly_Degree/lth_of_poly.con.
59 When dealing with constructive polynomials, notably over the reals or
60 complex numbers, the degree may be unknown, as we can not decide
61 whether the highest coefficient is [[#]Zero]. Hence,
62 degree is a relation between polynomials and natural numbers; if the
63 degree is unknown for polynomial [p], degree(n,p) doesn't hold for
64 any [n]. If we don't know the degree of [p], we may still
65 know it to be below or above a certain number. E.g. for the polynomial
66 $p_0 +p_1 X +\cdots + p_{n-1} X^{n-1}$#p0 +p1 X + ... + p(n-1)
67 X^(n-1)#, if $p_i \mathrel{\#}0$#pi apart from 0#, we can say that the
68 `degree is at least [i]' and if $p_{j+1} = \ldots =p_n =0$#p(j+1)
69 = ... =pn =0# (with [n] the length of the polynomial), we can say
70 that the `degree is at most [j]'.
73 inline cic:/CoRN/algebra/CPoly_Degree/degree_le.con.
75 inline cic:/CoRN/algebra/CPoly_Degree/degree.con.
77 inline cic:/CoRN/algebra/CPoly_Degree/monic.con.
79 inline cic:/CoRN/algebra/CPoly_Degree/odd_cpoly.con.
81 inline cic:/CoRN/algebra/CPoly_Degree/even_cpoly.con.
83 inline cic:/CoRN/algebra/CPoly_Degree/regular.con.
90 Implicit Arguments degree_le [R].
94 Implicit Arguments degree [R].
98 Implicit Arguments monic [R].
102 Implicit Arguments lth_of_poly [R].
106 Section Degree_props.
109 inline cic:/CoRN/algebra/CPoly_Degree/R.var.
115 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_wd.con.
117 inline cic:/CoRN/algebra/CPoly_Degree/degree_wd.con.
119 inline cic:/CoRN/algebra/CPoly_Degree/monic_wd.con.
121 inline cic:/CoRN/algebra/CPoly_Degree/degree_imp_degree_le.con.
123 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_c_.con.
125 inline cic:/CoRN/algebra/CPoly_Degree/degree_c_.con.
127 inline cic:/CoRN/algebra/CPoly_Degree/monic_c_one.con.
129 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_x_.con.
131 inline cic:/CoRN/algebra/CPoly_Degree/degree_x_.con.
133 inline cic:/CoRN/algebra/CPoly_Degree/monic_x_.con.
135 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_mon.con.
137 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_inv.con.
139 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_plus.con.
141 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_minus.con.
143 inline cic:/CoRN/algebra/CPoly_Degree/Sum_degree_le.con.
145 inline cic:/CoRN/algebra/CPoly_Degree/degree_inv.con.
147 inline cic:/CoRN/algebra/CPoly_Degree/degree_plus_rht.con.
149 inline cic:/CoRN/algebra/CPoly_Degree/degree_minus_lft.con.
151 inline cic:/CoRN/algebra/CPoly_Degree/monic_plus.con.
153 inline cic:/CoRN/algebra/CPoly_Degree/monic_minus.con.
155 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_mult.con.
157 inline cic:/CoRN/algebra/CPoly_Degree/degree_mult_aux.con.
160 Hint Resolve degree_mult_aux: algebra.
163 inline cic:/CoRN/algebra/CPoly_Degree/monic_mult.con.
165 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_nexp.con.
167 inline cic:/CoRN/algebra/CPoly_Degree/monic_nexp.con.
169 inline cic:/CoRN/algebra/CPoly_Degree/lt_i_lth_of_poly.con.
171 inline cic:/CoRN/algebra/CPoly_Degree/poly_degree_lth.con.
173 inline cic:/CoRN/algebra/CPoly_Degree/Cpoly_ex_degree.con.
175 inline cic:/CoRN/algebra/CPoly_Degree/poly_as_sum''.con.
178 Hint Resolve poly_as_sum'': algebra.
181 inline cic:/CoRN/algebra/CPoly_Degree/poly_as_sum'.con.
183 inline cic:/CoRN/algebra/CPoly_Degree/poly_as_sum.con.
185 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_zero.con.
187 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_1_imp.con.
189 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_cpoly_linear.con.
191 inline cic:/CoRN/algebra/CPoly_Degree/monic_cpoly_linear.con.
193 inline cic:/CoRN/algebra/CPoly_Degree/monic_one.con.
195 inline cic:/CoRN/algebra/CPoly_Degree/monic_apzero.con.
202 Hint Resolve poly_as_sum'' poly_as_sum' poly_as_sum: algebra.
206 Hint Resolve degree_mult_aux: algebra.
210 Section degree_props_Field.
213 (*#* ** Degrees of polynomials over a field
214 %\begin{convention}% Let [F] be a field and write [FX] for the ring of
215 polynomials over [F].
219 inline cic:/CoRN/algebra/CPoly_Degree/F.var.
225 inline cic:/CoRN/algebra/CPoly_Degree/degree_mult.con.
227 inline cic:/CoRN/algebra/CPoly_Degree/degree_nexp.con.
229 inline cic:/CoRN/algebra/CPoly_Degree/degree_le_mult_imp.con.
231 inline cic:/CoRN/algebra/CPoly_Degree/degree_mult_imp.con.
234 End degree_props_Field.