diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index c38e30a..26b3a49 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -136685,8 +136685,8 @@ SmithNormalForm(R,Row,Col,M) : Exports == Implementation where for j in 2..m1 repeat j0:=j while zero?(tjj:=t1(j,j0)) repeat j0:=j0+1 - u(i,j) :=((mm(i,j0) - ("+"/[u(i,k) * t1(k,j0) for k in 1..(j-1)])) exquo - tjj) :: R + u(i,j) := + ((mm(i,j0)-("+"/[u(i,k)*t1(k,j0) for k in 1..(j-1)])) exquo tjj)::R u1:M2:= map(x +-> x::QF,u)$MATCAT1 [t,map(retract$QF,(inverse u1)::M2)$MATCAT2] @@ -137134,67 +137134,70 @@ SquareFreeQuasiComponentPackage(R,E,V,P,TS): Exports == Implementation where Exports == with startTable!: (S,S,S) -> Void - ++ \axiom{startTableGcd!(s1,s2,s3)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{startTableGcd!(s1,s2,s3)} + ++ is an internal subroutine, exported only for developement. stopTable!: () -> Void - ++ \axiom{stopTableGcd!()} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{stopTableGcd!()} + ++ is an internal subroutine, exported only for developement. supDimElseRittWu?: (TS,TS) -> Boolean - ++ \axiom{supDimElseRittWu(ts,us)} returns true iff \axiom{ts} - ++ has less elements than \axiom{us} otherwise if \axiom{ts} - ++ has higher rank than \axiom{us} w.r.t. Riit and Wu ordering. + ++ \axiom{supDimElseRittWu(ts,us)} returns true iff \axiom{ts} + ++ has less elements than \axiom{us} otherwise if \axiom{ts} + ++ has higher rank than \axiom{us} w.r.t. Riit and Wu ordering. algebraicSort: Split -> Split - ++ \axiom{algebraicSort(lts)} sorts \axiom{lts} w.r.t - ++ \axiomOpFrom{supDimElseRittWu}{QuasiComponentPackage}. + ++ \axiom{algebraicSort(lts)} sorts \axiom{lts} w.r.t + ++ \axiomOpFrom{supDimElseRittWu}{QuasiComponentPackage}. moreAlgebraic?: (TS,TS) -> Boolean - ++ \axiom{moreAlgebraic?(ts,us)} returns false iff \axiom{ts} - ++ and \axiom{us} are both empty, or \axiom{ts} - ++ has less elements than \axiom{us}, or some variable is - ++ algebraic w.r.t. \axiom{us} and is not w.r.t. \axiom{ts}. + ++ \axiom{moreAlgebraic?(ts,us)} returns false iff \axiom{ts} + ++ and \axiom{us} are both empty, or \axiom{ts} + ++ has less elements than \axiom{us}, or some variable is + ++ algebraic w.r.t. \axiom{us} and is not w.r.t. \axiom{ts}. subTriSet?: (TS,TS) -> Boolean - ++ \axiom{subTriSet?(ts,us)} returns true iff \axiom{ts} is - ++ a sub-set of \axiom{us}. + ++ \axiom{subTriSet?(ts,us)} returns true iff \axiom{ts} is + ++ a sub-set of \axiom{us}. subPolSet?: (LP, LP) -> Boolean - ++ \axiom{subPolSet?(lp1,lp2)} returns true iff \axiom{lp1} is - ++ a sub-set of \axiom{lp2}. + ++ \axiom{subPolSet?(lp1,lp2)} returns true iff \axiom{lp1} is + ++ a sub-set of \axiom{lp2}. internalSubPolSet?: (LP, LP) -> Boolean - ++ \axiom{internalSubPolSet?(lp1,lp2)} returns true iff \axiom{lp1} is - ++ a sub-set of \axiom{lp2} assuming that these lists are sorted - ++ increasingly w.r.t. \axiomOpFrom{infRittWu?}{RecursivePolynomialCategory}. + ++ \axiom{internalSubPolSet?(lp1,lp2)} returns true iff \axiom{lp1} is + ++ a sub-set of \axiom{lp2} assuming that these lists are sorted + ++ increasingly w.r.t. + ++ \axiomOpFrom{infRittWu?}{RecursivePolynomialCategory}. internalInfRittWu?: (LP, LP) -> Boolean - ++ \axiom{internalInfRittWu?(lp1,lp2)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{internalInfRittWu?(lp1,lp2)} + ++ is an internal subroutine, exported only for developement. infRittWu?: (LP, LP) -> Boolean - ++ \axiom{infRittWu?(lp1,lp2)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{infRittWu?(lp1,lp2)} + ++ is an internal subroutine, exported only for developement. internalSubQuasiComponent?: (TS,TS) -> Union(Boolean,"failed") - ++ \axiom{internalSubQuasiComponent?(ts,us)} returns a boolean \spad{b} value - ++ if the fact the regular zero set of \axiom{us} contains that of - ++ \axiom{ts} can be decided (and in that case \axiom{b} gives this - ++ inclusion) otherwise returns \axiom{"failed"}. + ++ \axiom{internalSubQuasiComponent?(ts,us)} returns a boolean + ++ \spad{b} value if the fact the regular zero set of \axiom{us} + ++ contains that of \axiom{ts} can be decided (and in that case + ++ \axiom{b} gives this inclusion) otherwise returns \axiom{"failed"}. subQuasiComponent?: (TS,TS) -> Boolean - ++ \axiom{subQuasiComponent?(ts,us)} returns true iff - ++ \axiomOpFrom{internalSubQuasiComponent?(ts,us)}{QuasiComponentPackage} - ++ returs true. + ++ \axiom{subQuasiComponent?(ts,us)} returns true iff + ++ \axiomOpFrom{internalSubQuasiComponent?(ts,us)}{QuasiComponentPackage} + ++ returns true. subQuasiComponent?: (TS,Split) -> Boolean - ++ \axiom{subQuasiComponent?(ts,lus)} returns true iff - ++ \axiom{subQuasiComponent?(ts,us)} holds for one \spad{us} in \spad{lus}. + ++ \axiom{subQuasiComponent?(ts,lus)} returns true iff + ++ \axiom{subQuasiComponent?(ts,us)} holds for one + ++ \spad{us} in \spad{lus}. removeSuperfluousQuasiComponents: Split -> Split - ++ \axiom{removeSuperfluousQuasiComponents(lts)} removes from \axiom{lts} - ++ any \spad{ts} such that \axiom{subQuasiComponent?(ts,us)} holds for - ++ another \spad{us} in \axiom{lts}. + ++ \axiom{removeSuperfluousQuasiComponents(lts)} removes from + ++ \axiom{lts} any \spad{ts} such that + ++ \axiom{subQuasiComponent?(ts,us)} holds for + ++ another \spad{us} in \axiom{lts}. subCase?: (LpWT,LpWT) -> Boolean - ++ \axiom{subCase?(lpwt1,lpwt2)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{subCase?(lpwt1,lpwt2)} + ++ is an internal subroutine, exported only for developement. removeSuperfluousCases: List LpWT -> List LpWT - ++ \axiom{removeSuperfluousCases(llpwt)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{removeSuperfluousCases(llpwt)} + ++ is an internal subroutine, exported only for developement. prepareDecompose: (LP, List(TS),B,B) -> List Branch - ++ \axiom{prepareDecompose(lp,lts,b1,b2)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{prepareDecompose(lp,lts,b1,b2)} + ++ is an internal subroutine, exported only for developement. branchIfCan: (LP,TS,LP,B,B,B,B,B) -> Union(Branch,"failed") - ++ \axiom{branchIfCan(leq,ts,lineq,b1,b2,b3,b4,b5)} - ++ is an internal subroutine, exported only for developement. + ++ \axiom{branchIfCan(leq,ts,lineq,b1,b2,b3,b4,b5)} + ++ is an internal subroutine, exported only for developement. Implementation == add @@ -137220,7 +137223,8 @@ SquareFreeQuasiComponentPackage(R,E,V,P,TS): Exports == Implementation where #ts > #us => false lp1 :LP := members(ts) lp2 :LP := members(us) - while (not empty? lp1) and (not infRittWu?(first(lp2),first(lp1))) repeat + while (not empty? lp1) and (not infRittWu?(first(lp2),first(lp1))) + repeat lp1 := rest lp1 lp2 := rest lp2 not empty? lp1 @@ -137323,7 +137327,9 @@ SquareFreeQuasiComponentPackage(R,E,V,P,TS): Exports == Implementation where removeSuperfluousCases (cases:List LpWT) == #cases < 2 => cases - toSee := sort(supDimElseRittWu?(#1.tower,#2.tower),cases) + toSee := + sort((x:LpWT,y:LpWT):Boolean +-> supDimElseRittWu?(x.tower,y.tower), + cases) lpwt1,lpwt2 : LpWT toSave,headmaxcases,maxcases,copymaxcases : List LpWT while not empty? toSee repeat @@ -137462,15 +137468,18 @@ SquareFreeQuasiComponentPackage(R,E,V,P,TS): Exports == Implementation where lineq : LP := branch.ineq ubf1: UBF := branchIfCan(leq,ts,lq,false,false,true,true,true)@UBF ubf1 case "failed" => "leave" - ubf2: UBF := branchIfCan([f],ts,lineq,false,false,true,true,true)@UBF + ubf2: UBF := + branchIfCan([f],ts,lineq,false,false,true,true,true)@UBF ubf2 case "failed" => "leave" leq := sort(infRittWu?,removeDuplicates concat(ubf1.eq,ubf2.eq)) - lineq := sort(infRittWu?,removeDuplicates concat(ubf1.ineq,ubf2.ineq)) - newBranch := branchIfCan(leq,ts,lineq,false,false,false,false,false) + lineq := + sort(infRittWu?,removeDuplicates concat(ubf1.ineq,ubf2.ineq)) + newBranch := + branchIfCan(leq,ts,lineq,false,false,false,false,false) branches:= cons(newBranch::Branch,branches) lq := cons(f,lq) toSee := branches - sort(supDimElseRittWu?(#1.tower,#2.tower),toSee) + sort((x,y) +-> supDimElseRittWu?(x.tower,y.tower),toSee) @ <>= diff --git a/changelog b/changelog index c18e866..0c4bb1d 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20090621 tpd src/axiom-website/patches.html 20090621.02.tpd.patch +20090621 tpd books/bookvol10.4 SFQCMPK +-> conversion 20090621 tpd src/axiom-website/patches.html 20090621.01.tpd.patch 20090621 tpd books/bookvol10.4 SMITH +-> conversion 20090620 tpd src/axiom-website/patches.html 20090620.09.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index f81ad24..2d1faf9 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1619,5 +1619,7 @@ bookvol10.4 RETSOL +-> conversion
Makefile build input.dvi in parallel with src
20090621.01.tpd.patch bookvol10.4 SMITH +-> conversion
+20090621.02.tpd.patch +bookvol10.4 SFQCMPK +-> conversion