diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index d205772..bd431b0 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -3404,6 +3404,102 @@ digraph pic { \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{Comparable}{COMPAR} +\pagepic{ps/v102compar.eps}{COMPAR}{1.00} + +\begin{chunk}{Comparable.input} +)set break resume +)sys rm -f Comparable.output +)spool Comparable.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show Comparable +--R Comparable is a category constructor +--R Abbreviation for Comparable is COMPAR +--R This constructor is not exposed in this frame. +--R Issue )edit bookvol10.2.pamphlet to see algebra source code for COMPAR +--R +--R------------------------------- Operations -------------------------------- +--R ?=? : (%,%) -> Boolean coerce : % -> OutputForm +--R hash : % -> SingleInteger latex : % -> String +--R smaller? : (%,%) -> Boolean ?~=? : (%,%) -> Boolean +--E 1 + +)spool +)lisp (bye) +\end{chunk} +\begin{chunk}{Comparable.help} +==================================================================== +Comparable examples +==================================================================== + +See Also: +o )show Comparable + +\end{chunk} +{\bf See:} + +\begin{tabular}{llllll} +\cross{COMPAR}{?=?} & +\cross{COMPAR}{coerce} & +\cross{COMPAR}{hash} & +\cross{COMPAR}{latex} & +\cross{COMPAR}{smaller?} & +\cross{COMPAR}{?\~{}=?} +\end{tabular} + +\begin{chunk}{category COMPAR Comparable} +)abbrev category COMPAR Comparable +++ Description: +++ The class of set equipped with possibly unnatural linear order +++ (needed for technical reasons). +Comparable(): Category == SetCategory with + --operations + smaller?: (%,%) -> Boolean + ++ smaller?(x, y) is a strict total ordering on the elements of the set. + +\end{chunk} +\begin{chunk}{COMPAR.dotabb} +"COMPAR" [color=lightblue,href="bookvol10.2.pdf#nameddest=COMPAR"]; +"COMPAR" -> "SETCAT" + +\end{chunk} +\begin{chunk}{COMPAR.dotfull} +"Comparable()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=COMPAR"]; +"Comparable()" -> "SetCategory()" + +\end{chunk} +\begin{chunk}{COMPAR.dotpic} +digraph pic { + fontsize=10; + bgcolor="#ECEA81"; + node [shape=box, color=white, style=filled]; + +"Comparable()" [color=lightblue]; +"Comparable()" -> "SetCatgory()" + +"SetCategory()" [color=lightblue]; +"SetCategory()" -> "BasicType()" +"SetCategory()" -> "CoercibleTo(OutputForm)" + +"BasicType()" [color=lightblue]; +"BasicType()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +\end{chunk} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{EltableAggregate}{ELTAGG} \pagepic{ps/v102eltableaggregate.ps}{ELTAGG}{0.75} @@ -91830,6 +91926,7 @@ Note that this code is not included in the generated catdef.spad file. \getchunk{category CLAGG Collection} \getchunk{category CFCAT CombinatorialFunctionCategory} \getchunk{category COMBOPC CombinatorialOpsCategory} +\getchunk{category COMPAR Comparable} \getchunk{category COMRING CommutativeRing} \getchunk{category COMPCAT ComplexCategory} \getchunk{category KONVERT ConvertibleTo} @@ -92074,6 +92171,7 @@ digraph dotabb { \getchunk{CHARZ.dotabb} \getchunk{CLAGG.dotabb} \getchunk{COMBOPC.dotabb} +\getchunk{COMPAR.dotabb} \getchunk{COMPCAT.dotabb} \getchunk{COMRING.dotabb} \getchunk{DIAGG.dotabb} @@ -92300,6 +92398,7 @@ digraph dotfull { \getchunk{CHARZ.dotfull} \getchunk{CLAGG.dotfull} \getchunk{COMBOPC.dotfull} +\getchunk{COMPAR.dotfull} \getchunk{COMPCAT.dotfull} \getchunk{COMRING.dotfull} \getchunk{DIAGG.dotfull} diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index c00ca25..f25338b 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -24831,6 +24831,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|CombinatorialFunctionCategory| . CFCAT) (|CombinatorialOpsCategory| . COMBOPC) (|CommutativeRing| . COMRING) + (|Comparable| . COMPAR) (|ComplexCategory| . COMPCAT) (|ConvertibleTo| . KONVERT) (|DequeueAggregate| . DQAGG) diff --git a/books/ps/v102compar.eps b/books/ps/v102compar.eps new file mode 100644 index 0000000..413252c --- /dev/null +++ b/books/ps/v102compar.eps @@ -0,0 +1,273 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: graphviz version 2.26.3 (20100126.1600) +%%Title: pic +%%Pages: 1 +%%BoundingBox: 36 36 120 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 120 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 84 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 41 translate +0.16355 0.45339 0.92549 graphcolor +newpath -4 -5 moveto +-4 112 lineto +81 112 lineto +81 -5 lineto +closepath fill +1 setlinewidth +0.16355 0.45339 0.92549 graphcolor +newpath -4 -5 moveto +-4 112 lineto +81 112 lineto +81 -5 lineto +closepath stroke +% COMPAR +gsave +[ /Rect [ 0 72 76 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=COMPAR) >> + /Subtype /Link +/ANN pdfmark +0.53725 0.24706 0.90196 nodecolor +newpath 76 108 moveto +0 108 lineto +0 72 lineto +76 72 lineto +closepath fill +1 setlinewidth +filled +0.53725 0.24706 0.90196 nodecolor +newpath 76 108 moveto +0 108 lineto +0 72 lineto +76 72 lineto +closepath stroke +0 0 0 nodecolor +14 /Times-Roman set_font +7.5 86.4 moveto 61 (COMPAR) alignedtext +grestore +% SETCAT +gsave +0 0 1 nodecolor +newpath 73 36 moveto +3 36 lineto +3 0 lineto +73 0 lineto +closepath fill +1 setlinewidth +filled +0 0 1 nodecolor +newpath 73 36 moveto +3 36 lineto +3 0 lineto +73 0 lineto +closepath stroke +0 0 0 nodecolor +14 /Times-Roman set_font +10.5 14.4 moveto 55 (SETCAT) alignedtext +grestore +% COMPAR->SETCAT +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 38 71.83 moveto +38 64.13 38 54.97 38 46.42 curveto +stroke +0 0 0 edgecolor +newpath 41.5 46.41 moveto +38 36.41 lineto +34.5 46.41 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 41.5 46.41 moveto +38 36.41 lineto +34.5 46.41 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/changelog b/changelog index bddbac9..5bc6f8a 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20130423 tpd src/axiom-website/patches.html 20130423.01.tpd.patch +20130423 tpd books/ps/v102compar.eps add Comparable +20130423 tpd src/algebra/Makefile add Comparable +20130423 tpd books/bookvol5 add Comparable +20130423 tpd books/bookvol10.2 add Comparable 20130422 tpd src/axiom-website/patches.html 20130422.01.tpd.patch 20130422 tpd src/share/algebra/users.daase/users.daase/index.kaf FINITE 20130422 tpd src/share/algebra/operation.daase add enumerate to FINITE diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 4b628e5..e348280 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -698,7 +698,8 @@ MONAD ORDSET PATMAB RETRACT RMODULE SGROUP LAYER1=\ ${OUT}/AGG.o ${OUT}/AGG-.o ${OUT}/ANON.o ${OUT}/ANY1.o \ ${OUT}/BLMETCT.o \ - ${OUT}/COLOR.o ${OUT}/COMBOPC.o ${OUT}/COMM.o ${OUT}/COMPPROP.o \ + ${OUT}/COLOR.o ${OUT}/COMBOPC.o ${OUT}/COMM.o ${OUT}/COMPAR.o \ + ${OUT}/COMPPROP.o \ ${OUT}/DROPT1.o ${OUT}/ELTAGG.o ${OUT}/ELTAGG-.o ${OUT}/EQ2.o \ ${OUT}/EXIT.o ${OUT}/FILECAT.o ${OUT}/FINITE.o ${OUT}/FINITE-.o \ ${OUT}/FNCAT.o \ @@ -773,6 +774,10 @@ LAYER1=\ "COMM" -> "BASTYPE/KOERCE" /*"COMM" -> {"KOERCE"; "BOOLEAN"}*/ +"COMPAR" [color="#4488FF",href="bookvol10.2.pdf#nameddest=COMPAR"] +/*"COMPAR" -> "SETCAT"*/ +"COMPAR" -> "BASTYPE/KOERCE" + "COMPPROP" [color="#88FF44",href="bookvol10.3.pdf#nameddest=COMPPROP"] /*"COMPPROP" -> "SETCAT"*/ "COMPPROP" -> "BASTYPE/KOERCE" @@ -17931,6 +17936,7 @@ REGRESS= \ CommutativeRing.regress \ Commutator.regress \ CommuteUnivariatePolynomialCategory.regress \ + Comparable.regress \ Complex.regress \ ComplexCategory.regress \ ComplexDoubleFloatMatrix.regress \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 16d73fb..af7efab 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4141,5 +4141,7 @@ src/axiom-website/documentation.html add quote books/bookvol0 fix Jenks book format issues 20130422.01.tpd.patch books/bookvol10.2 add enumerate to FINITE +20130423.01.tpd.patch +books/bookvol10.2 add Comparable