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 *********************)
19 (* $Id: CPoly_ApZero.v,v 1.3 2004/04/23 10:00:53 lcf Exp $ *)
21 include "algebra/CPoly_Degree.ma".
23 include "algebra/COrdFields2.ma".
25 (*#* * Polynomials apart from zero *)
27 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/distinct1.con".
30 Implicit Arguments distinct1 [A].
34 Section Poly_Representation
38 ** Representation of polynomials
39 %\begin{convention}% Let [R] be a field, [RX] the ring of polynomials
40 over [R], [a_ : nat->R] with [(distinct1 a_)] and let [f] be a
41 polynomial over [R], [n] a natural with [(degree_le n f)], i.e. [f]
42 has degree at most [n].
46 alias id "R" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_Representation/R.var".
48 alias id "a_" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_Representation/a_.var".
50 alias id "distinct_a_" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_Representation/distinct_a_.var".
52 alias id "f" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_Representation/f.var".
54 alias id "n" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_Representation/n.var".
56 alias id "degree_f" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_Representation/degree_f.var".
61 Notation RX := (cpoly_cring R).
66 include "tactics/Transparent_algebra.ma".
68 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_linear_shifted.con".
70 include "tactics/Opaque_algebra.ma".
72 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_linear_factor.con".
74 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/zero_poly.con".
76 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/identical_poly.con".
78 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor'.con".
80 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor'_degree.con".
82 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor'_zero.con".
84 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor'_apzero.con".
87 Hint Resolve poly_01_factor'_zero.
90 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor.con".
92 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor_degree.con".
94 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor_zero.con".
96 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_factor_one.con".
99 Hint Resolve poly_01_factor_zero poly_01_factor_one: algebra.
102 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01.con".
104 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_degree'.con".
106 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_degree.con".
108 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_zero.con".
110 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_01_one.con".
113 Hint Resolve poly_01_zero poly_01_one: algebra.
116 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_representation''.con".
118 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_representation'.con".
120 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_representation.con".
123 Hint Resolve poly_representation: algebra.
126 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/Cpoly_choose_apzero.con".
129 End Poly_Representation
133 Section Characteristic_zero
137 If we are in a field of characteristic zero, the previous result can be
141 alias id "R" = "cic:/CoRN/algebra/CPoly_ApZero/Characteristic_zero/R.var".
145 alias id "H" = "cic:/CoRN/algebra/CPoly_ApZero/Characteristic_zero/H.var".
152 Notation RX := (cpoly_cring R).
157 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_apzero.con".
160 Also, in this situation polynomials are extensional functions.
163 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/poly_extensional.con".
166 End Characteristic_zero
170 ** Polynomials are nonzero on any interval
174 Section Poly_ApZero_Interval
177 alias id "R" = "cic:/CoRN/algebra/CPoly_ApZero/Poly_ApZero_Interval/R.var".
182 Notation RX := (cpoly_cring R).
187 inline procedural "cic:/CoRN/algebra/CPoly_ApZero/Cpoly_apzero_interval.con".
190 End Poly_ApZero_Interval