diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index bfb6bb7..f0c0ed8 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -26716,7 +26716,7 @@ o )show DeRhamComplex
 
 \begin{chunk}{domain DERHAM DeRhamComplex}
 )abbrev domain DERHAM DeRhamComplex
-++ Author: Larry A. Lambe
+++ Author: Larry A. Lambe and Kurt Pagani
 ++ Date    : 01/26/91.
 ++ Revised : 12/01/91.
 ++ Description:
@@ -26783,6 +26783,14 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         ++ to the metric g.
       dot : (%,%,SMR) -> R
         ++ compute the inner product of two differential forms w.r.t. g
+      proj : (%,NNI) -> %
+        ++ projection to homogeneous terms of degree p
+      interiorProduct : (Vector(R),%,SMR) -> %
+        ++ calculates the interior product i_X(a) of the vector field X
+        ++ with the differential form a (w.r.t. metric g)
+      lieDerivative : (Vector(R),%,SMR) -> %
+        ++ calculates the Lie derivative L_X(a) of the differential
+        ++ form a with respect to the vector field X (w.r.t. metric g)
 
   Implement == ASY add
       Rep := ASY 
@@ -26824,6 +26832,7 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
       err1:="CoefRing has no IntegralDomain"
       err2:="Not Implemented"
       err3:="Degenerate metric"
+      err4:="Index out of range"
 
       -- coord space dimension
       dim(f) == dim
@@ -26838,36 +26847,12 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         y:= x pretend List(NNI)
         [j for j in 1..#y | y.j=a]
 
-      -- compute factors for hodgeStar
-      facs(cc:Record(k:EAB,c:R),g:SMR):R ==
-        not CoefRing has IntegralDomain => error(err1)
-        not diagonal? g => error(err2)
-        G:=reduce("*",[g(j,j) for j in 1..dim]::List(R))
-        G=0 => error(err3)
-        idx:=pos(cc.k,0) -- pos of 0 since already flipped
-        eps:=concat(pos(cc.k,1),pos(cc.k,0))::List(NNI)
-        dom:=[j for j in 1..dim]::List(NNI)
-        sgn:=sign(coercePreimagesImages([dom,eps])::Permutation(NNI))::R
-        if idx ^= [] then
-            fg:R:=sgn*reduce("*",[1/g(j,j) for j in idx]::List(R))
-          else 
-            fg:R:=sgn
-        fg*sqrt(abs(G))*cc.c
-
-      -- export
-      hodgeStar(x,g) ==
-        t:=terms(x)
-        s:=[copy(r) for r in t] -- we need a copy of x
-        for j in 1..#t repeat
-          s.j.k := flip(s.j.k)
-          s.j.c := facs(s.j,g) -- builtin g
-        s pretend %
-
       -- compute dot of singletons
       dot1(r:Record(k:EAB,c:R),s:Record(k:EAB,c:R),g:SMR):R ==
         not CoefRing has IntegralDomain => error(err1)
         test(r.k ^= s.k) => 0::R
         idx := pos(r.k,1)
+        idx = [] => r.c * s.c
         reduce("*",[1/g(j,j) for j in idx]::List(R))*r.c*s.c
 
       -- export
@@ -26876,6 +26861,49 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         ty:=terms(y)
         reduce("+",[dot1(tx.j,ty.j,g) for j in 1..#tx])
      
+      -- export
+      hodgeStar(x,g) ==
+        not CoefRing has IntegralDomain => error(err1)
+        not diagonal? g => error(err2)
+        v := sqrt(abs(determinant(g))) -- volume factor
+        v = 0 => error(err3)
+        t:=terms(x)
+        s:=[copy(r) for r in t] -- we need a copy of x
+        for j in 1..#t repeat
+          s.j.k := flip(s.j.k)
+          fs:=[s.j] pretend %
+          ft:=[t.j] pretend %
+          s.j.c := s.j.c * v * dot1(t.j,t.j,g)/leadingCoefficient(ft*fs)
+        s pretend %
+
+      -- export
+      proj(x,p) ==
+        p < 0 or p > dim => error(err4)
+        t := terms(x)
+        idx := [j for j in 1..#t | #pos(t.j.k,1)=p]
+        s := [copy(t.j) for j in idx::List(NNI)]
+        s pretend %
+
+      interiorProduct(v,x,g) ==
+        not CoefRing has IntegralDomain => error(err1)
+        f := reduce("+",[generator(i)$% for i in 1..dim]::List(%))
+        t := terms(f)
+        for j in 1..dim repeat
+          t.(dim-j+1).c := g(j,j)*v(j) -- reverse order
+        f -- term manipulations are destructive
+        dg:R := determinant(g)
+        sg:R := dg/abs(dg)
+        if odd?(dim) then
+          m:R := sg
+        else
+          m:R := (-1)**degree(x)*sg
+        m * hodgeStar(f*hodgeStar(x,g),g)
+
+      lieDerivative(v,x,g) ==
+        a:= exteriorDifferential(interiorProduct(v,x,g))
+        b:= interiorProduct(v,exteriorDifferential(x),g)
+        a+b
+
       coerce(a):O ==
         a           = 0$Rep => 0$I::O
         ta := terms a
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 1b581e3..706a2b9 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -103,7 +103,7 @@ of effort. We would like to acknowledge and thank the following people:
 "Stephen Watt           Jaap Weel              Juergen Weiss"
 "M. Weller              Mark Wegman            James Wen"
 "Thorsten Werther       Michael Wester         R. Clint Whaley"
-"James T. Wheeler"      John M. Wiley          Berhard Will"
+"James T. Wheeler       John M. Wiley          Berhard Will"
 "Clifton J. Williamson  Stephen Wilson         Shmuel Winograd"
 "Robert Wisbauer        Sandra Wityak          Waldemar Wiwianka"
 "Knut Wolf              Liu Xiaojun            Clifford Yapp"
diff --git a/books/bookvolbib.pamphlet b/books/bookvolbib.pamphlet
index 66d3083..2d07bec 100644
--- a/books/bookvolbib.pamphlet
+++ b/books/bookvolbib.pamphlet
@@ -6327,6 +6327,102 @@ Proc ISSAC 97 pp172-175 (1997)
 
 \end{chunk}
 
+\index{Polyakov, S.P.}
+\begin{chunk}{axiom.bib}
+@article{Poly11,
+  author = "Polyadov, S.P.",
+  title = "Indefinite summation of rational functions with factorization
+           of denominators",
+  year = "2011",
+  month = "November",
+  journal = "Programming and Computer Software",
+  volume = "37",
+  number = "6",
+  pages = "322--325",
+  paper = "Poly11.pdf",
+  abstract = "
+    A computer algebra algorithm for indefinite summation of rational
+    functions based on complete factorization of denominators is
+    proposed. For a given $f$, the algorithm finds two rational functions
+    $g$, $r$ such that $f=g(x+1)-g(x)+r$ and the degree of the denominator
+    of $r$ is minimal. A modification of the algorithm is also proposed
+    that additionally minimizes the degree of the denominator of
+    $g$. Computational complexity of the algorithms without regard to
+    denominator factorization is shown to be $O(m^2)$, where $m$ is the
+    degree of the denominator of $f$."
+}
+
+\end{chunk}
+
+\index{Gerhard, J.}
+\index{Giesbrecht, M.}
+\index{Storjohann, A.}
+\index{Zima, E.V.}
+\begin{chunk}{axiom.bib}
+@inproceedings{Gerh03,
+  author = "Gerhard, J. and Giesbrecht, M. and Storjohann, A. and Zima, E.V.",
+  title = "Shiftless decomposition and polynomial-time rational summation",
+  booktitle = "Proceedings of ISSAC'03",
+  year = "2003",
+  pages = "119--126",
+  paper = "Gerh03.pdf",
+  abstract = "
+    New algorithms are presented for computing the dispersion set of two
+    polynomials over {\bf Q} and for {\sl shiftless} factorization. Together 
+    with a summability criterion by Abramov, these are applied to get a 
+    polynomial-time algorithm for indefinite rational summation, using a 
+    sparse representation of the output."
+}
+
+\end{chunk}
+
+\index{Abramov, S.A.}
+\begin{chunk}{axiom.bib}
+@article{Abra85,
+  author = "Abramov, S.A.",
+  title = "Separation of variables in rational functions",
+  year = "1985",
+  journal = "USSR Computational Mathematics and Mathematical Physics",
+  volume = "25",
+  number = "5",
+  pages = "99--102",
+  paper = "Abra85.pdf",
+  abstract = "
+The problem of expanding a rational function of several variables into
+terms with separable variables is formulated. An algorithm for solving
+this problem is given. Programs which implement this algorithm can
+occur in sets of algebraic alphabetical transformations on a computer
+and can be used to reduce the multiplicity of sums and integrals of
+rational functions for investigating differential equations with
+rational right-hand sides etc."
+}
+
+\end{chunk}
+
+\index{Abramov, S.A.}
+\begin{chunk}{axiom.bib}
+@article{Abra71,
+  author = "Abramov, S.A.",
+  title = "On the summation of rational functions",
+  year = "1971",
+  journal = "USSR Computational Mathematics and Mathematical Physics",
+  volume = "11",
+  number = "4",
+  pages = "324--330",
+  paper = "Abra71.pdf",
+  abstract = "
+    An algorithm is given for solving the following problem: let
+    $F(x_1,\ldots,x_n)$ be a rational function of the variables
+    $x_i$ with rational (read or complex) coefficients; to see if
+    there exists a rational function $G(v,w,x_2,\ldots,x_n)$ with
+    coefficients from the same field, such that
+    \[\sum_{x_1=v}^w{F(x_1,\ldots,x_n)} = G(v,w,x_2,\ldots,x_n)\]
+    for all integral values of $v \le w$. If $G$ exists, to obtain it.
+    Realization of the algorithm in the LISP language is discussed."
+}
+
+\end{chunk}
+
 \index{Er\"ocal, Bur\c{c}in}
 \begin{chunk}{axiom.bib}
 @article{Eroc10,
@@ -6436,6 +6532,8 @@ Proc ISSAC 97 pp172-175 (1997)
     implemented in Sigma to solve multi-summation problems efficiently.
     For instacne, the extended Sigma package has been applied successively
     to provide a computer-assisted proof of Stembridge's TSPP Theorem."
+}
+
 \end{chunk}
 
 \index{Kauers, Manuel}
diff --git a/changelog b/changelog
index 3af7c95..cd8b464 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+20141010 kxp src/axiom-website/patches.html 20141010.01.kxp.patch
+20141010 kxp books/bookvolbib add references
+20141010 kxp src/input/derham3.input test Pagani's functions
+20141010 kxp src/input/Makefile add derham3.input tests
+20141010 kxp books/bookvol10.3 add Pagani's functions to DERHAM
+20141010 tpd books/bookvol5 fix typo
 20141008 tpd src/axiom-website/patches.html 20141008.03.tpd.patch
 20141008 tpd books/bookvolbib add a section on Symbolic Summation
 20141008 jtw src/axiom-website/patches.html 20141008.02.jtw.patch
diff --git a/patch b/patch
index 60bc62c..1583b4b 100644
--- a/patch
+++ b/patch
@@ -1,3 +1,3 @@
-books/bookvolbib add a section on Symbolic Summation
+books/bookvol10.3 add Pagani's functions to DERHAM
 
-Collect references to papers on symbolic summation using Karr's method
+Additional functions in DERHAM
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index c79b4ca..7a66eeb 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4678,6 +4678,8 @@ books/bookvol10.3 DERHAM: add code for differential forms<br/>
 books/bookvol10.1 add chapter on differential forms<br/>
 <a href="patches/20141008.03.tpd.patch">20141008.03.tpd.patch</a>
 books/bookvolbib add a section on Symbolic Summation<br/>
+<a href="patches/20141010.01.kxp.patch">20141010.01.kxp.patch</a>
+books/bookvol10.3 add Pagani's functions to DERHAM<br/>
  </body>
 </html>
 
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 6b9ee5e..72a999e 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -314,7 +314,8 @@ REGRESSTESTS= ackermann.regress \
     danzwill.regress  danzwill2.regress  davenport.regress \
     davis.regress \
     decimal.regress   defintef.regress defintrf.regress \
-    derham.regress    derham2.regress  derivefail.regress \
+    derham.regress    derham2.regress  derham3.regress \
+    derivefail.regress \
     dfloat.regress    dftrig.regress \
     dhmatrix.regress  \
     dhtri.regress     directproduct.regress distexpr.regress \
@@ -730,7 +731,8 @@ FILES= ${OUT}/ackermann.input \
        ${OUT}/danzwill.input ${OUT}/danzwill2.input  ${OUT}/davenport.input \
        ${OUT}/davis.input    ${OUT}/decimal.input    ${OUT}/defs.input \
        ${OUT}/defintef.input ${OUT}/defintrf.input   ${OUT}/derham.input \
-       ${OUT}/derham2.input  ${OUT}/derivefail.input ${OUT}/de2re.input \
+       ${OUT}/derham2.input  ${OUT}/derham3.input \
+       ${OUT}/derivefail.input ${OUT}/de2re.input \
        ${OUT}/dfloat.input   ${OUT}/dftrig.input     ${OUT}/dhmatrix.input \
        ${OUT}/dhtri.input    ${OUT}/directproduct.input \
        ${OUT}/distexpr.input ${OUT}/divisor.input ${OUT}/donsimple.input \
@@ -1090,7 +1092,8 @@ DOCFILES= \
   ${DOC}/de2re.input.dvi       ${DOC}/decimal.input.dvi    \
   ${DOC}/defintef.input.dvi    ${DOC}/defintrf.input.dvi   \
   ${DOC}/defs.input.dvi        ${DOC}/derham.input.dvi     \
-  ${DOC}/derham2.input.dvi     ${DOC}/derivefail.input.dvi \
+  ${DOC}/derham2.input.dvi     ${DOC}/derham3.input.dvi    \
+  ${DOC}/derivefail.input.dvi \
   ${DOC}/dfloat.input.dvi      ${DOC}/dftrig.input.dvi     \
   ${DOC}/dhmatrix.input.dvi    ${DOC}/dhtri.input.dvi      \
   ${DOC}/directproduct.input.dvi ${DOC}/distexpr.input.dvi \
diff --git a/src/input/derham3.input.pamphlet b/src/input/derham3.input.pamphlet
new file mode 100644
index 0000000..ac1595f
--- /dev/null
+++ b/src/input/derham3.input.pamphlet
@@ -0,0 +1,486 @@
+\documentclass{article}
+\usepackage{axiom}
+\setlength{\textwidth}{400pt}
+\begin{document}
+\title{\$SPAD/src/input derham3.input}
+\author{Kurt Pagini}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\begin{chunk}{*}
+)set break resume
+)spool derham3.output
+)set message test on
+)set message auto off
+)clear all
+ 
+--S 1 of 47
+coefRing:=Integer
+--R 
+--R
+--R   (1)  Integer
+--R                                                                 Type: Domain
+--E 1
+
+--S 2 of 47
+R3:List Symbol:=[x,y,z]
+--R 
+--R
+--R   (2)  [x,y,z]
+--R                                                           Type: List(Symbol)
+--E 2
+
+--S 3 of 47
+X:=DERHAM(coefRing,R3)
+--R 
+--R
+--R   (3)  DeRhamComplex(Integer,[x,y,z])
+--R                                                                 Type: Domain
+--E 3
+
+--S 4 of 47
+[dx,dy,dz]:=[generator(i)$X for i in 1..3]
+--R 
+--R
+--R   (4)  [dx,dy,dz]
+--R                                   Type: List(DeRhamComplex(Integer,[x,y,z]))
+--E 4
+
+--S 5 of 47
+f:BOP:=operator('f)
+--R 
+--R
+--R   (5)  f
+--R                                                          Type: BasicOperator
+--E 5
+
+--S 6 of 47
+g:BOP:=operator('g)
+--R 
+--R
+--R   (6)  g
+--R                                                          Type: BasicOperator
+--E 6
+
+--S 7 of 47
+h:BOP:=operator('h)
+--R 
+--R
+--R   (7)  h
+--R                                                          Type: BasicOperator
+--E 7
+
+--S 8 of 47
+a:BOP:=operator('a)
+--R 
+--R
+--R   (8)  a
+--R                                                          Type: BasicOperator
+--E 8
+
+--S 9 of 47
+b:BOP:=operator('b)
+--R 
+--R
+--R   (9)  b
+--R                                                          Type: BasicOperator
+--E 9
+
+--S 10 of 47
+c:BOP:=operator('c)
+--R 
+--R
+--R   (10)  c
+--R                                                          Type: BasicOperator
+--E 10
+
+--S 11 of 47
+U:BOP:=operator('U)
+--R 
+--R
+--R   (11)  U
+--R                                                          Type: BasicOperator
+--E 11
+
+--S 12 of 47
+V:BOP:=operator('V)
+--R 
+--R
+--R   (12)  V
+--R                                                          Type: BasicOperator
+--E 12
+
+--S 13 of 47
+W:BOP:=operator('W)
+--R 
+--R
+--R   (13)  W
+--R                                                          Type: BasicOperator
+--E 13
+
+--S 14 of 47
+v:=vector[U(x,y,z),V(x,y,z),W(x,y,z)]
+--R 
+--R
+--R   (14)  [U(x,y,z),V(x,y,z),W(x,y,z)]
+--R                                            Type: Vector(Expression(Integer))
+--E 14
+
+--S 15 of 47
+sigma:=f(x,y,z)*dx+g(x,y,z)*dy+h(x,y,z)*dz
+--R 
+--R
+--R   (15)  h(x,y,z)dz + g(x,y,z)dy + f(x,y,z)dx
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 15
+
+--S 16 of 47
+theta:=a(x,y,z)*dx*dy+b(x,y,z)*dx*dz+c(x,y,z)*dy*dz
+--R 
+--R
+--R   (16)  c(x,y,z)dy dz + b(x,y,z)dx dz + a(x,y,z)dx dy
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 16
+
+--S 17 of 47
+d ==> exteriorDifferential
+--R 
+--R                                                                   Type: Void
+--E 17
+
+--S 18 of 47
+G:=diagonalMatrix([1,1,1])
+--R 
+--R
+--R         +1  0  0+
+--R         |       |
+--R   (18)  |0  1  0|
+--R         |       |
+--R         +0  0  1+
+--R                                                        Type: Matrix(Integer)
+--E 18
+
+--S 19 of 47
+interiorProduct(v,sigma,G)
+--R 
+--R
+--R   (19)  W(x,y,z)h(x,y,z) + V(x,y,z)g(x,y,z) + U(x,y,z)f(x,y,z)
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 19
+
+--S 20 of 47
+interiorProduct(v,theta,G)
+--R 
+--R
+--R   (20)
+--R     (W(x,y,z)b(x,y,z) + V(x,y,z)a(x,y,z))dx
+--R   + 
+--R     (W(x,y,z)c(x,y,z) - U(x,y,z)a(x,y,z))dy
+--R   + 
+--R     (- V(x,y,z)c(x,y,z) - U(x,y,z)b(x,y,z))dz
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 20
+
+--S 21 of 47
+t1:=d interiorProduct(v,dx*dy*dz,G)
+--R 
+--R
+--R   (21)  (W  (x,y,z) + V  (x,y,z) + U  (x,y,z))dx dy dz
+--R           ,3           ,2           ,1
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 21
+
+--S 22 of 47
+hodgeStar(t1,G) -- should be div(v)
+--R 
+--R
+--R   (22)  W  (x,y,z) + V  (x,y,z) + U  (x,y,z)
+--R          ,3           ,2           ,1
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 22
+
+--S 23 of 47
+eta:=lieDerivative(v,theta,G)
+--R 
+--R
+--R   (23)
+--R         - W(x,y,z)c  (x,y,z) - V(x,y,z)c  (x,y,z) - U(x,y,z)b  (x,y,z)
+--R                    ,3                   ,2                   ,2
+--R       + 
+--R         U(x,y,z)a  (x,y,z) - c(x,y,z)W  (x,y,z) - c(x,y,z)V  (x,y,z)
+--R                  ,3                   ,3                   ,2
+--R       + 
+--R         a(x,y,z)U  (x,y,z) - b(x,y,z)U  (x,y,z)
+--R                  ,3                   ,2
+--R    *
+--R       dy dz
+--R   + 
+--R         - V(x,y,z)c  (x,y,z) - W(x,y,z)b  (x,y,z) - U(x,y,z)b  (x,y,z)
+--R                    ,1                   ,3                   ,1
+--R       + 
+--R         - V(x,y,z)a  (x,y,z) - b(x,y,z)W  (x,y,z) - a(x,y,z)V  (x,y,z)
+--R                    ,3                   ,3                   ,3
+--R       + 
+--R         - c(x,y,z)V  (x,y,z) - b(x,y,z)U  (x,y,z)
+--R                    ,1                   ,1
+--R    *
+--R       dx dz
+--R   + 
+--R         2W(x,y,z)c  (x,y,z) - 2W(x,y,z)b  (x,y,z) + W(x,y,z)a  (x,y,z)
+--R                   ,1                    ,2                   ,3
+--R       + 
+--R         - V(x,y,z)a  (x,y,z) - U(x,y,z)a  (x,y,z) - b(x,y,z)W  (x,y,z)
+--R                    ,2                   ,1                   ,2
+--R       + 
+--R         c(x,y,z)W  (x,y,z) - a(x,y,z)V  (x,y,z) - a(x,y,z)U  (x,y,z)
+--R                  ,1                   ,2                   ,1
+--R    *
+--R       dx dy
+--R   + 
+--R     (- V(x,y,z)c  (x,y,z) + V(x,y,z)b  (x,y,z) - V(x,y,z)a  (x,y,z))dx dz
+--R                 ,1                   ,2                   ,3
+--R   + 
+--R     (U(x,y,z)c  (x,y,z) - U(x,y,z)b  (x,y,z) + U(x,y,z)a  (x,y,z))dy dz
+--R               ,1                   ,2                   ,3
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 23
+
+--S 24 of 47
+proj(dx+dy*dz+dz*dy*dz,2)
+--R 
+--R
+--R   (24)  dy dz
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 24
+
+--S 25 of 47
+proj(sigma+theta,1)
+--R 
+--R
+--R   (25)  h(x,y,z)dz + g(x,y,z)dy + f(x,y,z)dx
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 25
+
+--S 26 of 47
+dim(sigma)
+--R 
+--R
+--R   (26)  3
+--R                                                        Type: PositiveInteger
+--E 26
+
+--S 27 of 47
+degree(sigma)
+--R 
+--R
+--R   (27)  1
+--R                                                        Type: PositiveInteger
+--E 27
+
+)clear all
+ 
+
+--S 28 of 47
+coefRing:=Integer
+--R 
+--R
+--R   (1)  Integer
+--R                                                                 Type: Domain
+--E 28
+
+--S 29 of 47
+S2:List Symbol := [r,theta]
+--R 
+--R
+--R   (2)  [r,theta]
+--R                                                           Type: List(Symbol)
+--E 29
+
+--S 30 of 47
+Y:=DERHAM(coefRing,S2)
+--R 
+--R
+--R   (3)  DeRhamComplex(Integer,[r,theta])
+--R                                                                 Type: Domain
+--E 30
+
+--S 31 of 47
+g:=diagonalMatrix([1,r^2])
+--R 
+--R
+--R        +1  0 +
+--R   (4)  |     |
+--R        |    2|
+--R        +0  r +
+--R                                            Type: Matrix(Polynomial(Integer))
+--E 31
+
+--S 32 of 47
+F:=operator 'F
+--R 
+--R
+--R   (5)  F
+--R                                                          Type: BasicOperator
+--E 32
+
+--S 33 of 47
+d ==> exteriorDifferential
+--R 
+--R                                                                   Type: Void
+--E 33
+
+--S 34 of 47
+[dr,dtheta]:=[generator(i)$Y for i in 1..2]
+--R 
+--R
+--R   (7)  [dr,dtheta]
+--R                                 Type: List(DeRhamComplex(Integer,[r,theta]))
+--E 34
+
+--S 35 of 47
+F0:=F(r,theta)*1::Y
+--R 
+--R
+--R   (8)  F(r,theta)
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 35
+
+--S 36 of 47
+F1:=d F0
+--R 
+--R
+--R   (9)  F  (r,theta)dtheta + F  (r,theta)dr
+--R         ,2                   ,1
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 36
+
+--S 37 of 47
+F2:=hodgeStar(F1,g)
+--R 
+--R
+--R            +-------+
+--R            |     2
+--R           \|abs(r ) F  (r,theta)       +-------+
+--R                      ,2                |     2
+--R   (10)  - ---------------------- dr + \|abs(r ) F  (r,theta)dtheta
+--R                      2                           ,1
+--R                     r
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 37
+
+--S 38 of 47
+F3:=d F2
+--R 
+--R
+--R   (11)
+--R          2                   2     2                         2
+--R     abs(r )F    (r,theta) + r abs(r )F    (r,theta) + r abs(r )F  (r,theta)
+--R             ,2,2                      ,1,1                      ,1
+--R     ----------------------------------------------------------------------- dr
+--R                                      +-------+
+--R                                    2 |     2
+--R                                   r \|abs(r )
+--R  *
+--R     dtheta
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 38
+
+--S 39 of 47
+LaplaceF:=hodgeStar(F3,g)
+--R 
+--R
+--R   (12)
+--R        2                   2     2                         2
+--R   abs(r )F    (r,theta) + r abs(r )F    (r,theta) + r abs(r )F  (r,theta)
+--R           ,2,2                      ,1,1                      ,1
+--R   -----------------------------------------------------------------------
+--R                                       4
+--R                                      r
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 39
+
+--S 40 of 47
+LapF:=LaplaceF::Expression(Integer)
+--R 
+--R
+--R   (13)
+--R        2                   2     2                         2
+--R   abs(r )F    (r,theta) + r abs(r )F    (r,theta) + r abs(r )F  (r,theta)
+--R           ,2,2                      ,1,1                      ,1
+--R   -----------------------------------------------------------------------
+--R                                       4
+--R                                      r
+--R                                                    Type: Expression(Integer)
+--E 40
+
+--S 41 of 47
+subst(LapF,abs(r^2)=r^2)
+--R 
+--R
+--R                           2
+--R         F    (r,theta) + r F    (r,theta) + rF  (r,theta)
+--R          ,2,2               ,1,1              ,1
+--R   (14)  -------------------------------------------------
+--R                                  2
+--R                                 r
+--R                                                    Type: Expression(Integer)
+--E 41
+
+--S 42 of 47
+R:=Expression(Integer)
+--R 
+--R
+--R   (15)  Expression(Integer)
+--R                                                                 Type: Domain
+--E 42
+
+--S 43 of 47
+terms:Y -> List Record(k:EAB,c:R)
+--R 
+--R                                                                   Type: Void
+--E 43
+
+--S 44 of 47
+terms(a)==a pretend List Record(k:EAB,c:R)
+--R 
+--R                                                                   Type: Void
+--E 44
+
+--S 45 of 47
+terms(dr)
+--R 
+--R   Compiling function terms with type DeRhamComplex(Integer,[r,theta])
+--R       -> List(Record(k: ExtAlgBasis,c: Expression(Integer))) 
+--R
+--R   (18)  [[k= [1,0],c= 1]]
+--R                    Type: List(Record(k: ExtAlgBasis,c: Expression(Integer)))
+--E 45
+
+--S 46 of 47
+terms(dtheta)
+--R 
+--R
+--R   (19)  [[k= [0,1],c= 1]]
+--R                    Type: List(Record(k: ExtAlgBasis,c: Expression(Integer)))
+--E 46
+
+--S 47 of 47
+terms(F1)
+--R 
+--R
+--R   (20)  [[k= [0,1],c= F  (r,theta)],[k= [1,0],c= F  (r,theta)]]
+--R                        ,2                         ,1
+--R                    Type: List(Record(k: ExtAlgBasis,c: Expression(Integer)))
+--E 47
+)spool 
+)lisp (bye)
+ 
+\end{chunk}
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
