<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 3db5c68..838f836 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -714,6 +714,7 @@ digraph pic {
 
 {\bf See:}
 
+\pageto{BlowUpMethodCategory}{BLMETCT}
 \pageto{SetCategory}{SETCAT}
 \pagefrom{Category}{CATEGORY}
 
@@ -788,6 +789,7 @@ digraph pic {
 
 {\bf See:}
 
+\pageto{BlowUpMethodCategory}{BLMETCT}
 \pageto{DirectProductCategory}{DIRPCAT}
 \pageto{FortranProgramCategory}{FORTCAT}
 \pageto{PlottablePlaneCurveCategory}{PPCURVE}
@@ -3588,6 +3590,7 @@ digraph pic {
 {\bf See:}
 
 \pageto{AbelianSemiGroup}{ABELSG}
+\pageto{BlowUpMethodCategory}{BLMETCT}
 \pageto{FileCategory}{FILECAT}
 \pageto{FileNameCategory}{FNCAT}
 \pageto{Finite}{FINITE}
@@ -4031,6 +4034,157 @@ digraph pic {
 
 @
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pagehead{BlowUpMethodCategory}{BLMETCT}
+\pagepic{ps/v102blowupmethodcategory.ps}{BLMETCT}{0.75}
+&lt;&lt;BlowUpMethodCategory.input&gt;&gt;=
+)set break resume
+)sys rm -f BlowUpMethodCategory.output
+)spool BlowUpMethodCategory.output
+)set message test on
+)set message auto off
+)clear all
+
+--S 1 of 1
+)show BlowUpMethodCategory
+--R BlowUpMethodCategory  is a category constructor
+--R Abbreviation for BlowUpMethodCategory is BLMETCT 
+--R This constructor is exposed in this frame.
+--R Issue )edit bookvol10.2.pamphlet to see algebra source code for BLMETCT 
+--R
+--R------------------------------- Operations --------------------------------
+--R ?=? : (%,%) -&gt; Boolean                chartCoord : % -&gt; Integer
+--R coerce : List Integer -&gt; %            coerce : % -&gt; OutputForm
+--R excepCoord : % -&gt; Integer             hash : % -&gt; SingleInteger
+--R infClsPt? : % -&gt; Boolean              latex : % -&gt; String
+--R quotValuation : % -&gt; Integer          ramifMult : % -&gt; Integer
+--R transCoord : % -&gt; Integer             ?~=? : (%,%) -&gt; Boolean
+--R createHN : (Integer,Integer,Integer,Integer,Integer,Boolean,Union(left,center,right,vertical,horizontal)) -&gt; %
+--R type : % -&gt; Union(left,center,right,vertical,horizontal)
+--R
+--E 1
+
+)spool
+)lisp (bye)
+@
+&lt;&lt;BlowUpMethodCategory.help&gt;&gt;=
+====================================================================
+BlowUpMethodCategory examples
+====================================================================
+
+See Also:
+o )show BlowUpMethodCategory
+
+@
+
+{\bf See:}
+
+\pagefrom{BasicType}{BASTYPE}
+\pagefrom{CoercibleTo}{KOERCE}
+\pagefrom{SetCategory}{SETCAT}
+
+{\bf Exports:}\\
+
+\begin{tabular}{lllll}
+\cross{BLMETCT}{?=?} &amp;
+\cross{BLMETCT}{?\~{}=?} &amp;
+\cross{BLMETCT}{chartCoord} &amp;
+\cross{BLMETCT}{coerce} &amp;
+\cross{BLMETCT}{createHN} \\
+\cross{BLMETCT}{excepCoord} &amp;
+\cross{BLMETCT}{hash} &amp;
+\cross{BLMETCT}{infClsPt?} &amp;
+\cross{BLMETCT}{latex} &amp;
+\cross{BLMETCT}{quotValuation} \\
+\cross{BLMETCT}{ramifMult} &amp;
+\cross{BLMETCT}{transCoord} &amp;
+\cross{BLMETCT}{type} &amp;&amp;
+\end{tabular}
+ 
+These are directly exported but not implemented:
+\begin{verbatim}
+  coerce: List Integer -&gt; %
+  excepCoord: % -&gt; Integer
+  chartCoord: % -&gt; Integer
+  transCoord: % -&gt; Integer
+  createHN:  ( Integer, Integer, Integer , Integer, Integer, Boolean,_
+               Union("left","center","right","vertical","horizontal")) -&gt; %
+  ramifMult: % -&gt; Integer
+  infClsPt_? : % -&gt; Boolean
+  quotValuation : % -&gt; Integer
+  type: % -&gt; Union("left","center","right","vertical","horizontal")
+\end{verbatim}
+
+These exports come from \refto{SetCategory}():
+\begin{verbatim}
+ ?=? : (%,%) -&gt; Boolean
+ ?~=? : (%,%) -&gt; Boolean
+ coerce : % -&gt; OutputForm
+ hash : % -&gt; SingleInteger
+ latex : % -&gt; String
+\end{verbatim}
+
+&lt;&lt;category BLMETCT BlowUpMethodCategory&gt;&gt;=
+)abbrev category BLMETCT BlowUpMethodCategory
+BlowUpMethodCategory:Category ==  SetCategory with
+
+  coerce: List Integer -&gt; %
+
+  excepCoord: % -&gt; Integer
+
+  chartCoord: % -&gt; Integer
+
+  transCoord: % -&gt; Integer
+
+  createHN:  ( Integer, Integer, Integer , Integer, Integer, Boolean,_
+               Union("left","center","right","vertical","horizontal")) -&gt; %
+
+  ramifMult: % -&gt; Integer
+
+  infClsPt_? : % -&gt; Boolean
+
+  quotValuation : % -&gt; Integer
+
+  type: % -&gt; Union("left","center","right","vertical","horizontal")
+@
+&lt;&lt;BLMETCT.dotabb&gt;&gt;=
+"BLMETCT"
+ [color=lightblue,href="bookvol10.2.pdf#nameddest=BLMETCT"];
+"BLMETCT" -&gt; "SETCAT"
+
+@
+&lt;&lt;BLMETCT.dotfull&gt;&gt;=
+"BlowUpMethodCategory()"
+ [color=lightblue,href="bookvol10.2.pdf#nameddest=BLMETCT"];
+"BlowUpMethodCategory()" -&gt; "SetCategory()"
+
+&lt;&lt;BLMETCT.dotpic&gt;&gt;=
+digraph pic {
+ fontsize=10;
+ bgcolor="#FFFF66";
+ node [shape=box, color=white, style=filled];
+
+"BlowUpMethodCategory()" [color=lightblue];
+"BlowUpMethodCategory()" -&gt; "SetCategory()"
+
+"SetCategory()" [color=lightblue];
+"SetCategory()" -&gt; "BasicType()"
+"SetCategory()" -&gt; "CoercibleTo(OutputForm)"
+
+"BasicType()" [color=lightblue];
+"BasicType()" -&gt; "Category"
+
+"CoercibleTo(OutputForm)" [color=seagreen];
+"CoercibleTo(OutputForm)" -&gt;
+    "CoercibleTo(a:Type)"
+
+"CoercibleTo(a:Type)" [color=lightblue];
+"CoercibleTo(a:Type)" -&gt; "Category"
+
+"Category" [color=lightblue];
+}
+
+@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \pagehead{FortranFunctionCategory}{FORTFN}
 \pagepic{ps/v102fortranfunctioncategory.ps}{FORTFN}{1.00}
 
@@ -43128,7 +43282,6 @@ digraph pic {
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \pagehead{LocalPowerSeriesCategory}{LOCPOWC}
 \pagepic{ps/v102localpowerseriescategory.ps}{LOCPOWC}{0.70}
-\pagepic{ps/v102pseudoalgebraicclosureofperfectfieldcategory.ps}{PACPERC}{0.50}
 &lt;&lt;LocalPowerSeriesCategory.input&gt;&gt;=
 )set break resume
 )sys rm -f LocalPowerSeriesCategory.output
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 6fa9b73..da9d8af 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -24351,6 +24351,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed.
    (|BinaryRecursiveAggregate| . BRAGG)
    (|BinaryTreeCategory| . BTCAT)
    (|BitAggregate| . BTAGG)
+   (|BlowUpMethodCategory| . BLMETCT)
    (|CachableSet| . CACHSET)
    (|CancellationAbelianMonoid| . CABMON)
    (|CharacteristicNonZero| . CHARNZ)
diff --git a/books/ps/v102blowupmethodcategory.ps b/books/ps/v102blowupmethodcategory.ps
new file mode 100644
index 0000000..7fbd0c0
--- /dev/null
+++ b/books/ps/v102blowupmethodcategory.ps
@@ -0,0 +1,263 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: Graphviz version 2.20.2 (Mon Mar 30 10:09:11 UTC 2009)
+%%For: (root) root
+%%Title: pic
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%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 '&lt;&lt;' and '&gt;&gt;' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (&lt;&lt;) cvn ([) cvn load put
+    userdict (&gt;&gt;) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 126 152
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 90 116 boxprim clip newpath
+1 1 set_scale 0 rotate 40 40 translate
+% BLMETCT
+gsave
+[ /Rect [ 0 72 82 108 ]
+  /Border [ 0 0 0 ]
+  /Action &lt;&lt; /Subtype /URI /URI (bookvol10.2.pdf#nameddest=BLMETCT) &gt;&gt;
+  /Subtype /Link
+/ANN pdfmark
+0.537 0.247 0.902 nodecolor
+newpath 82 108 moveto
+0 108 lineto
+0 72 lineto
+82 72 lineto
+closepath fill
+1 setlinewidth
+filled
+0.537 0.247 0.902 nodecolor
+newpath 82 108 moveto
+0 108 lineto
+0 72 lineto
+82 72 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14 /Times-Roman set_font
+8 85.9 moveto 66 (BLMETCT) alignedtext
+grestore
+% SETCAT
+gsave
+0.537 0.247 0.902 nodecolor
+newpath 76 36 moveto
+6 36 lineto
+6 0 lineto
+76 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0.537 0.247 0.902 nodecolor
+newpath 76 36 moveto
+6 36 lineto
+6 0 lineto
+76 0 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14 /Times-Roman set_font
+14 13.9 moveto 54 (SETCAT) alignedtext
+grestore
+% BLMETCT-&gt;SETCAT
+gsave
+1 setlinewidth
+0.000 0.000 0.000 edgecolor
+newpath 41 72 moveto
+41 64 41 55 41 46 curveto
+stroke
+0.000 0.000 0.000 edgecolor
+newpath 44.5 46 moveto
+41 36 lineto
+37.5 46 lineto
+closepath fill
+1 setlinewidth
+solid
+0.000 0.000 0.000 edgecolor
+newpath 44.5 46 moveto
+41 36 lineto
+37.5 46 lineto
+closepath stroke
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 126 152
+end
+restore
+%%EOF
diff --git a/changelog b/changelog
index 67b2931..feda3a1 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+20100513 tpd src/axiom-website/patches.html 20100513.01.tpd.patch
+20100513 tpd src/algebra/Makefile help and test files for BLMETCT
+20100513 tpd books/bookvol5 expose BlowUpMethodCategory
+20100513 tpd books/bookvol10.2 add BlowUpMethodCategory
+20100513 tpd books/ps/v102blowupmethodcategory.ps added
 20100512 tpd src/axiom-website/patches.html 20100512.02.tpd.patch
 20100512 tpd src/algebra/Makefile help and test for LISYSER
 20100512 tpd books/bookvol5 expose LinearSystemFromPowerSeriesPackage
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 6395345..1f01625 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -308,6 +308,7 @@ 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}/DROPT1.o   ${OUT}/ELTAGG.o   ${OUT}/ELTAGG-.o  ${OUT}/EQ2.o      \
   ${OUT}/EXIT.o     ${OUT}/FILECAT.o  ${OUT}/FINITE.o   ${OUT}/FNCAT.o    \
@@ -357,6 +358,9 @@ LAYER1=\
 "ANY1" [color="#FF4488",href="bookvol10.4.pdf#nameddest=ANY1"]
 "ANY1" -&gt; "TYPE"
 
+"BLMETCT"  [color="#4488FF",href="bookvol10.2.pdf#nameddest=BLMETCT"]
+"BLMETCT" -&gt; {"SETCAT", "BASTYPE/KOERCE"}
+
 "CABMON" [color="#4488FF",href="bookvol10.2.pdf#nameddest=CABMON",
            shape=ellipse]
 /*"CABMON" -&gt; {"ABELMON"; "ABELSG"; "SETCAT"}*/
@@ -16914,6 +16918,7 @@ SPADHELP=\
  ${HELP}/BinaryExpansion.help \
  ${HELP}/BinarySearchTree.help \
  ${HELP}/BlasLevelOne.help \
+ ${HELP}/BlowUpMethodCategory.help \
  ${HELP}/CardinalNumber.help \
  ${HELP}/CartesianTensor.help \
  ${HELP}/Character.help \
@@ -17087,6 +17092,7 @@ REGRESS= \
  BinaryExpansion.regress \
  BinarySearchTree.regress \
  BlasLevelOne.regress \
+ BlowUpMethodCategory.regress \
  CardinalNumber.regress \
  CartesianTensor.regress \
  Character.regress \
@@ -17357,8 +17363,20 @@ ${HELP}/BlasLevelOne.help: ${BOOKS}/bookvol10.5.pamphlet
             &gt;${INPUT}/BlasLevelOne.input
 	@echo "BlasLevelOne (BLAS1)" &gt;&gt;${HELPFILE}
 
+${HELP}/BlowUpMethodCategory.help: ${BOOKS}/bookvol10.2.pamphlet
+	@echo 7083 create BlowUpMethodCategory.help from \
+            ${BOOKS}/bookvol10.2.pamphlet
+	@${TANGLE} -R"BlowUpMethodCategory.help" \
+            ${BOOKS}/bookvol10.2.pamphlet \
+            &gt;${HELP}/BlowUpMethodCategory.help
+	@cp ${HELP}/BlowUpMethodCategory.help ${HELP}/BLMETCT.help
+	@${TANGLE} -R"BlowUpMethodCategory.input" \
+            ${BOOKS}/bookvol10.2.pamphlet \
+            &gt;${INPUT}/BlowUpMethodCategory.input
+	@echo "BlowUpMethodCategory (BLMETCT)" &gt;&gt;${HELPFILE}
+
 ${HELP}/CardinalNumber.help: ${BOOKS}/bookvol10.3.pamphlet
-	@echo 7080 create CardinalNumber.help from \
+	@echo 7086 create CardinalNumber.help from \
                 ${BOOKS}/bookvol10.3.pamphlet
 	@${TANGLE} -R"CardinalNumber.help" ${BOOKS}/bookvol10.3.pamphlet \
             &gt;${HELP}/CardinalNumber.help
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index be5fd2e..d4d7080 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2701,5 +2701,7 @@ books/bookvol10.2 add LocalPowerSeriesCategory&lt;br/&gt;
 books/bookvol10.3 add NeitherSparseOrDensePowerSeries&lt;br/&gt;
 &lt;a href="patches/20100512.02.tpd.patch"&gt;20100512.02.tpd.patch&lt;/a&gt;
 books/bookvol10.4 add LinearSystemFromPowerSeriesPackage&lt;br/&gt;
+&lt;a href="patches/20100513.01.tpd.patch"&gt;20100513.01.tpd.patch&lt;/a&gt;
+books/bookvol10.2 add BlowUpMethodCategory&lt;br/&gt;
  &lt;/body&gt;
 &lt;/html&gt;
</pre></body></html>