]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/CoRN-Decl/algebra/CPoly_Degree.ma
- transcript: patched to generate CoRN_notation.ma instead of CoRN.ma
[helm.git] / matita / contribs / CoRN-Decl / algebra / CPoly_Degree.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 set "baseuri" "cic:/matita/CoRN-Decl/algebra/CPoly_Degree".
18
19 include "CoRN_notation.ma".
20
21 (* $Id: CPoly_Degree.v,v 1.5 2004/04/23 10:00:53 lcf Exp $ *)
22
23 include "algebra/CPoly_NthCoeff.ma".
24
25 include "algebra/CFields.ma".
26
27 (*#* *Degrees of Polynomials
28 ** Degrees of polynomials over a ring
29 %\begin{convention}%
30 Let [R] be a ring and write [RX] for the ring of polynomials
31 over [R].
32 %\end{convention}%
33 *)
34
35 (* UNEXPORTED
36 Section Degree_def.
37 *)
38
39 inline "cic:/CoRN/algebra/CPoly_Degree/R.var".
40
41 (* begin hide *)
42
43 (* end hide *)
44
45 (*#*
46 The length of a polynomial is the number of its coefficients. This is
47 a syntactical property, as the highest coefficient may be [0]. Note that
48 the `zero' polynomial [cpoly_zero] has length [0],
49 a constant polynomial has length [1] and so forth. So the length
50 is always [1] higher than the `degree' (assuming that the highest
51 coefficient is [[#]Zero])!
52 *)
53
54 inline "cic:/CoRN/algebra/CPoly_Degree/lth_of_poly.con".
55
56 (*#*
57 When dealing with constructive polynomials, notably over the reals or
58 complex numbers, the degree may be unknown, as we can not decide
59 whether the highest coefficient is [[#]Zero]. Hence,
60 degree is a relation between polynomials and natural numbers; if the
61 degree is unknown for polynomial [p], degree(n,p) doesn't hold for
62 any [n].  If we don't know the degree of [p], we may still
63 know it to be below or above a certain number. E.g. for the polynomial
64 $p_0 +p_1 X +\cdots + p_{n-1} X^{n-1}$#p0 +p1 X + ... + p(n-1)
65 X^(n-1)#, if $p_i \mathrel{\#}0$#pi apart from 0#, we can say that the
66 `degree is at least [i]' and if $p_{j+1} = \ldots =p_n =0$#p(j+1)
67 = ... =pn =0# (with [n] the length of the polynomial), we can say
68 that the `degree is at most [j]'.
69 *)
70
71 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le.con".
72
73 inline "cic:/CoRN/algebra/CPoly_Degree/degree.con".
74
75 inline "cic:/CoRN/algebra/CPoly_Degree/monic.con".
76
77 inline "cic:/CoRN/algebra/CPoly_Degree/odd_cpoly.con".
78
79 inline "cic:/CoRN/algebra/CPoly_Degree/even_cpoly.con".
80
81 inline "cic:/CoRN/algebra/CPoly_Degree/regular.con".
82
83 (* UNEXPORTED
84 End Degree_def.
85 *)
86
87 (* UNEXPORTED
88 Implicit Arguments degree_le [R].
89 *)
90
91 (* UNEXPORTED
92 Implicit Arguments degree [R].
93 *)
94
95 (* UNEXPORTED
96 Implicit Arguments monic [R].
97 *)
98
99 (* UNEXPORTED
100 Implicit Arguments lth_of_poly [R].
101 *)
102
103 (* UNEXPORTED
104 Section Degree_props.
105 *)
106
107 inline "cic:/CoRN/algebra/CPoly_Degree/R.var".
108
109 (* begin hide *)
110
111 (* end hide *)
112
113 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_wd.con".
114
115 inline "cic:/CoRN/algebra/CPoly_Degree/degree_wd.con".
116
117 inline "cic:/CoRN/algebra/CPoly_Degree/monic_wd.con".
118
119 inline "cic:/CoRN/algebra/CPoly_Degree/degree_imp_degree_le.con".
120
121 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_c_.con".
122
123 inline "cic:/CoRN/algebra/CPoly_Degree/degree_c_.con".
124
125 inline "cic:/CoRN/algebra/CPoly_Degree/monic_c_one.con".
126
127 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_x_.con".
128
129 inline "cic:/CoRN/algebra/CPoly_Degree/degree_x_.con".
130
131 inline "cic:/CoRN/algebra/CPoly_Degree/monic_x_.con".
132
133 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_mon.con".
134
135 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_inv.con".
136
137 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_plus.con".
138
139 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_minus.con".
140
141 inline "cic:/CoRN/algebra/CPoly_Degree/Sum_degree_le.con".
142
143 inline "cic:/CoRN/algebra/CPoly_Degree/degree_inv.con".
144
145 inline "cic:/CoRN/algebra/CPoly_Degree/degree_plus_rht.con".
146
147 inline "cic:/CoRN/algebra/CPoly_Degree/degree_minus_lft.con".
148
149 inline "cic:/CoRN/algebra/CPoly_Degree/monic_plus.con".
150
151 inline "cic:/CoRN/algebra/CPoly_Degree/monic_minus.con".
152
153 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_mult.con".
154
155 inline "cic:/CoRN/algebra/CPoly_Degree/degree_mult_aux.con".
156
157 (* UNEXPORTED
158 Hint Resolve degree_mult_aux: algebra.
159 *)
160
161 inline "cic:/CoRN/algebra/CPoly_Degree/monic_mult.con".
162
163 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_nexp.con".
164
165 inline "cic:/CoRN/algebra/CPoly_Degree/monic_nexp.con".
166
167 inline "cic:/CoRN/algebra/CPoly_Degree/lt_i_lth_of_poly.con".
168
169 inline "cic:/CoRN/algebra/CPoly_Degree/poly_degree_lth.con".
170
171 inline "cic:/CoRN/algebra/CPoly_Degree/Cpoly_ex_degree.con".
172
173 inline "cic:/CoRN/algebra/CPoly_Degree/poly_as_sum''.con".
174
175 (* UNEXPORTED
176 Hint Resolve poly_as_sum'': algebra.
177 *)
178
179 inline "cic:/CoRN/algebra/CPoly_Degree/poly_as_sum'.con".
180
181 inline "cic:/CoRN/algebra/CPoly_Degree/poly_as_sum.con".
182
183 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_zero.con".
184
185 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_1_imp.con".
186
187 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_cpoly_linear.con".
188
189 inline "cic:/CoRN/algebra/CPoly_Degree/monic_cpoly_linear.con".
190
191 inline "cic:/CoRN/algebra/CPoly_Degree/monic_one.con".
192
193 inline "cic:/CoRN/algebra/CPoly_Degree/monic_apzero.con".
194
195 (* UNEXPORTED
196 End Degree_props.
197 *)
198
199 (* UNEXPORTED
200 Hint Resolve poly_as_sum'' poly_as_sum' poly_as_sum: algebra.
201 *)
202
203 (* UNEXPORTED
204 Hint Resolve degree_mult_aux: algebra.
205 *)
206
207 (* UNEXPORTED
208 Section degree_props_Field.
209 *)
210
211 (*#* ** Degrees of polynomials over a field
212 %\begin{convention}% Let [F] be a field and write [FX] for the ring of
213 polynomials over [F].
214 %\end{convention}%
215 *)
216
217 inline "cic:/CoRN/algebra/CPoly_Degree/F.var".
218
219 (* begin hide *)
220
221 (* end hide *)
222
223 inline "cic:/CoRN/algebra/CPoly_Degree/degree_mult.con".
224
225 inline "cic:/CoRN/algebra/CPoly_Degree/degree_nexp.con".
226
227 inline "cic:/CoRN/algebra/CPoly_Degree/degree_le_mult_imp.con".
228
229 inline "cic:/CoRN/algebra/CPoly_Degree/degree_mult_imp.con".
230
231 (* UNEXPORTED
232 End degree_props_Field.
233 *)
234