diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 1615264..e8e8694 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -21349,9 +21349,9 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
  
      ---------   create D and Pol
  
-     Pol1:= sort( (degree #1 > degree #2) or
-                    ((degree #1 = degree #2 ) and
-                       sizeLess?(leadingCoefficient #2,leadingCoefficient #1)),
+     Pol1:= sort((z1:Dpol,z2:Dpol):Boolean +-> (degree z1 > degree z2) or
+                    ((degree z1 = degree z2 ) and
+                       sizeLess?(leadingCoefficient z2,leadingCoefficient z1)),
                  Pol)
      Pol:= [first(Pol1)]
      H:= Pol
@@ -21362,22 +21362,28 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
         Pol1:= rest(Pol1)
         en:= degree(h)
         lch:= lc h
-        dd1:= [[sup(degree(x), en), lcm(leadingCoefficient x, lch), x, h]$critPair
+        dd1:= 
+         [[sup(degree(x), en), lcm(leadingCoefficient x, lch), x, h]$critPair
             for x in Pol]
-        D:= updatD(ecritMTondd1(sort((#1.lcmfij < #2.lcmfij) or
-                                      (( #1.lcmfij = #2.lcmfij ) and
-                                        ( sizeLess?(#1.lcmcij,#2.lcmcij)) ),
-                                     dd1)), ecritBonD(h,D))
+        D:= updatD(
+             ecritMTondd1(
+              sort(
+               (z1:critPair,z2:critPair):Boolean+->
+                (z1.lcmfij < z2.lcmfij) or
+                 (( z1.lcmfij = z2.lcmfij ) and
+                   ( sizeLess?(z1.lcmcij,z2.lcmcij)) ), dd1)), 
+                    ecritBonD(h,D))
         Pol:= cons(h, eupdatF(h, Pol))
-        ((en = degree(first(H))) and (leadingCoefficient(h) = leadingCoefficient(first(H)) ) ) =>
+        ((en = degree(first(H))) and 
+          (leadingCoefficient(h) = leadingCoefficient(first(H)) ) ) =>
               " go to top of while "
         H:= updatH(h,H,crithdelH(h,H),[h])
-        H:= sort((degree #1 > degree #2) or
-                ((degree #1 = degree #2 ) and
-                  sizeLess?(leadingCoefficient #2,leadingCoefficient #1)), H)
-     D:= sort((#1.lcmfij < #2.lcmfij) or
-             (( #1.lcmfij = #2.lcmfij ) and
-               ( sizeLess?(#1.lcmcij,#2.lcmcij)) ) ,D)
+        H:= sort((z1,z2) +-> (degree z1 > degree z2) or
+                 ((degree z1 = degree z2 ) and
+                  sizeLess?(leadingCoefficient z2,leadingCoefficient z1)), H)
+     D:= sort((z1,z2) +-> (z1.lcmfij < z2.lcmfij) or
+              (( z1.lcmfij = z2.lcmfij ) and
+               ( sizeLess?(z1.lcmcij,z2.lcmcij)) ) ,D)
      xx:= xx2
  
      --------  loop
@@ -21397,14 +21403,19 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
          eh := unitCanonical eh
          e:= degree(eh)
          leh:= lc eh
-         dd1:= [[sup(degree(x), e), lcm(leadingCoefficient x, leh), x, eh]$critPair
+         dd1:= 
+          [[sup(degree(x), e), lcm(leadingCoefficient x, leh), x, eh]$critPair
             for x in Pol]
-         D:= updatD(ecritMTondd1(sort( (#1.lcmfij <
-              #2.lcmfij) or (( #1.lcmfij = #2.lcmfij ) and
-               ( sizeLess?(#1.lcmcij,#2.lcmcij)) ), dd1)), ecritBonD(eh,D))
+         D:= updatD(
+              ecritMTondd1(
+               sort((z1,z2) +-> (z1.lcmfij < z2.lcmfij) or 
+                    (( z1.lcmfij = z2.lcmfij ) and
+                     ( sizeLess?(z1.lcmcij,z2.lcmcij)) ), dd1)),
+                       ecritBonD(eh,D))
          Pol:= cons(eh,eupdatF(eh,Pol))
          ^ecrithinH(eh,H) or
-           ((e = degree(first(H))) and (leadingCoefficient(eh) = leadingCoefficient(first(H)) ) ) =>
+           ((e = degree(first(H))) and 
+             (leadingCoefficient(eh) = leadingCoefficient(first(H)) ) ) =>
               if xx2 = 1 then
                   ala:= prindINFO(D0,ep,eh,#H, #D, xx)
                   xx:= 2
@@ -21431,7 +21442,8 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
    ecritMondd1(e: Expon, c: Dom, D2: List(critPair))==
       null D2 => nil
       x:= first(D2)
-      ecritM(e,c, x.lcmfij, lcm(leadingCoefficient(x.poli), leadingCoefficient(x.polj)))
+      ecritM(e,c, x.lcmfij, lcm(leadingCoefficient(x.poli), 
+             leadingCoefficient(x.polj)))
          => ecritMondd1(e, c, rest(D2))
       cons(x, ecritMondd1(e, c, rest(D2)))
  
@@ -21474,7 +21486,9 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
          x:= first(D)
          x1:= x.poli
          x2:= x.polj
-         ecritB(degree(h), leadingCoefficient(h), degree(x1),leadingCoefficient(x1),degree(x2),leadingCoefficient(x2)) =>
+         ecritB(degree(h), leadingCoefficient(h), 
+                degree(x1),leadingCoefficient(x1),
+                degree(x2),leadingCoefficient(x2)) =>
            ecritBonD(h, rest(D))
          cons(x, ecritBonD(h, rest(D)))
  
@@ -21485,7 +21499,7 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
    eupdatF(h: Dpol, F: List(Dpol)) ==
        null F => nil
        f1:= first(F)
-       ecritM(degree h, leadingCoefficient(h), degree f1, leadingCoefficient(f1))
+       ecritM(degree h,leadingCoefficient(h), degree f1,leadingCoefficient(f1))
            => eupdatF(h, rest(F))
        cons(f1, eupdatF(h, rest(F)))
  
@@ -21515,8 +21529,8 @@ EuclideanGroebnerBasisPackage(Dom, Expon, VarSet, Dpol): T == C where
         dh:= degree h
         ecritM(dh, lc h, dh1, lc h1) => crithdelH(h, rest(H))
         dh1 = sup(dh,dh1) =>
-           plc:= extendedEuclidean( lc h1, lc h)
-           cons(plc.coef1*h1 + monomial(plc.coef2,subtractIfCan(dh1,dh)::Expon)*h,
+         plc:= extendedEuclidean( lc h1, lc h)
+         cons(plc.coef1*h1+monomial(plc.coef2,subtractIfCan(dh1,dh)::Expon)*h,
                crithdelH(h,rest(H)))
         cons(h1, crithdelH(h,rest(H)))
  
diff --git a/changelog b/changelog
index 1cf5cb6..be94437 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090518 tpd src/axiom-website/patches.html 20090518.01.tpd.patch
+20090518 tpd books/bookvol10.4 GBEUCLID +-> conversion
 20090517 tpd src/axiom-website/patches.html 20090517.05.tpd.patch
 20090517 tpd books/bookvol10.4 ELFUTS +-> conversion
 20090517 tpd src/axiom-website/patches.html 20090517.04.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 090e519..aa1c78f 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1338,5 +1338,7 @@ bookvol10.4 RDEEF +-> conversion<br/>
 bookvol10.3 ROIRC +-> conversion<br/>
 <a href="patches/20090517.05.tpd.patch">20090517.05.tpd.patch</a>
 bookvol10.4 ELFUTS +-> conversion<br/>
+<a href="patches/20090518.01.tpd.patch">20090518.01.tpd.patch</a>
+bookvol10.4 GBEUCLID +-> conversion<br/>
  </body>
 </html>
