-
Notifications
You must be signed in to change notification settings - Fork 0
Formal proof in Coq of Puiseux's Theorem.
License
roglo/puiseuxth
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
OVERVIEW
* Formal proof of Puiseux's theorem
* Computation of roots of polynomials of Puiseux's series
You need Rocq version 9.0.0
PROOF
If you are only interested on the proof, you can just do:
cd coq; make
and ignore the rest of this README.
EVERYTHING
Otherwise, everything can be done by typing at top:
make
Faster compilation with option -j of make. E.g. "make -j4"
If this command "make" does not work, try reading the sections PROOF
(coq proof) and PROGRAM (ocaml program) below. They are independent.
PROGRAM
You need ocaml, its library num, camlp5, library mfpr (dev) to compile
(under Debian, it is the package libmpfr-def). Do:
cd cpoly; make; cd ..
cd ocaml; make; cd ..
This creates the executable named "puiseux".
Also building of a library function computing float complex roots of
any polynomial. See in directory 'cpoly' for details.
LIBRARY
The directory 'cpoly' contains an ocaml translation of CPOLY.F, a
well-known Fortran function that computes the float complex roots
of any polynomial
PROOF
Do:
cd coq; make
EXAMPLES OF THE PROGRAM
Warning: your terminal must be utf-8.
-- Robert J. Walker, "Algebraic Curves"
./puiseux '(-x3+x4)-2x2y-xy2+2xy4+y5'
./puiseux 'x4-x3y+3x2y3-3xy5+y7'
./puiseux '2x5-x3y+2x2y2-xy3+2y5'
./puiseux '(x2+4x3+6x4)-4x4y+(-2x-4x2-2x3)y2+y4'
-- Xavier Caruso
./puiseux -y X 't2X6+6t2X5+(8t3-2t2+t)X3+(7t4-t2-2t)X2+(8t3-3t)X-t8+t3'
-- Franz Winkler
./puiseux 'y5-4y4+4y3+2x2y2-xy2+2x2y+2xy+x4+x3'
./puiseux 'y2-x3+2x2-x'
-- Adrien Poteaux
./puiseux -y X '(Y3-X)((Y-1)^2-X)(Y-2-X2)-X2Y5'
-- Nicholas J. Willis, "Newton-Puiseux Algorithm" thesis
./puiseux '2x5-x3y+2x2y2-xy3+2y5'
./puiseux 'y4-(2x3+2x2)y2+(x6+2x5+x4)'
./puiseux 'y4-2x3y2-2x2y2+x6+2x5+x4'
./puiseux ' -x3+x4-2x2y-xy2+2xy4+y5'
./puiseux 'x2+xy+y2+x+y' #1
./puiseux 'x2+xy+y2+y'
./puiseux 'x2+xy+y2+x'
./puiseux 'x2+4xy+y2'
./puiseux 'x2+xy+y2' #5
./puiseux 'x2+2xy+y2'
./puiseux 'x3+x2y+xy2+y3+x2+xy+y2+x+y'
./puiseux 'x3+x2y+xy2+y3+x2+xy+y2+y'
./puiseux 'x3+x2y+xy2+y3+x2+xy+y2+x'
./puiseux 'x3+x2y+xy2+y3+x2' #10
./puiseux 'x3+x2y+xy2+y3+y2'
./puiseux 'x3+x2y+xy2+y3+x2+xy'
./puiseux 'x3+x2y+xy2+y3+xy+y2'
./puiseux 'x3+x2y+xy2+y3+xy'
./puiseux 'x3+x2y+xy2+y3+xy+y' #15
./puiseux 'x3+x2y+xy2+y3+xy+x'
./puiseux 'yx2-y3'
./puiseux 'x3+x2y+xy2+y3'
./puiseux 'yx2-2xy2+y3'
./puiseux 'x3-3yx2+3xy2-y3' #20
./puiseux 'x3+x2y+xy2+y3+x2+4xy+y2'
./puiseux 'x3+x2y+xy2+y3+x2+xy+y2'
./puiseux 'x3+x2y+xy2+y3+x2+2xy+y2'
./puiseux 'x3+x2y+xy2+y3+x2+4xy+4y2'
./puiseux 'x4+x3y+x2y2+xy3+y4+x+y' #25
./puiseux 'x4+x3y+x2y2+xy3+y4+x2+y'
./puiseux 'x4+x3y+x2y2+xy3+y4+x+y2'
./puiseux 'x4+x3y+x2y2+xy3+y4+x3+y'
./puiseux 'x4+x3y+x2y2+xy3+y4+y3+x'
./puiseux 'x4+x3y+x2y2+xy3+y4+y3+x2' #30
About
Formal proof in Coq of Puiseux's Theorem.
Resources
License
Stars
Watchers
Forks
Releases
No releases published