diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 818fdb9..0f98a25 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -3596,34 +3596,44 @@ AntiSymm(R:Ring, lVar:List Symbol): Exports == Implementation where
   Term ==> Record(k:EAB,c:R)
  
   Exports == Join(LALG(R), RetractableTo(R)) with
+
       leadingCoefficient : %           -> R
         ++ leadingCoefficient(p) returns the leading
         ++ coefficient of antisymmetric polynomial p.
+
       leadingBasisTerm     : %           -> %
         ++ leadingBasisTerm(p) returns the leading
         ++ basis term of antisymmetric polynomial p.
+
       reductum           : %           -> %
         ++ reductum(p), where p is an antisymmetric polynomial,
         ++ returns p minus the leading
         ++ term of p if p has at least two terms, and 0 otherwise.
+
       coefficient        : (%,%)     -> R 
         ++ coefficient(p,u) returns the coefficient of 
         ++ the term in p containing the basis term u if such 
         ++ a term exists, and 0 otherwise.
         ++ Error: if the second argument u is not a basis element.
+
       generator          : NNI         -> %
         ++ generator(n) returns the nth multiplicative generator,
         ++ a basis term.
+
       exp                : L I         -> %
         ++  exp([i1,...in]) returns \spad{u_1\^{i_1} ... u_n\^{i_n}}
+
       homogeneous?       : %           -> Boolean
         ++  homogeneous?(p) tests if all of the terms of 
         ++  p have the same degree.
+
       retractable?       : %           -> Boolean
         ++  retractable?(p) tests if p is a 0-form,
         ++  i.e., if degree(p) = 0.
+
       degree             : %           -> NNI
         ++  degree(p) returns the homogeneous degree of p.
+
       map                : (R -> R, %) -> %
         ++  map(f,p) changes each coefficient of p by the
         ++  application of f.
@@ -4536,6 +4546,7 @@ latex a
 )lisp (bye)
  
 \end{chunk}
+
 \begin{chunk}{ArrayStack.help}
 ====================================================================
 ArrayStack examples
@@ -4765,6 +4776,480 @@ o )show Heap
 o )show BagAggregate
 
 \end{chunk}
+
+\begin{chunk}{arrayStack.help}
+====================================================================
+arrayStack from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   arrayStack 
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  arrayStack: List S -> %
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   arrayStack([x,y,...,z]) creates an array stack with first (top)
+   element x, second element y,...,and last element z.
+
+ARGUMENTS
+=========
+
+   An element from List(SetCategory)
+
+RETURN VALUE
+============
+
+  An element of ArrayStack(S:SetCategory)
+
+EXAMPLES
+========
+
+   c:ArrayStack INT:= arrayStack [1,2,3,4,5]
+
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op arrayStack
+
+\end{chunk}
+
+\begin{chunk}{pop!.help}
+====================================================================
+pop! from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   pop! 
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  pop! : % -> S
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   pop! destructively modifies its argument and returns the 
+   first item of the argument
+
+ARGUMENTS
+=========
+
+   An element from ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  An element of ArrayStack(S:SetCategory)
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   pop! a
+   a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op pop!
+
+\end{chunk}
+
+\begin{chunk}{extract!.help}
+====================================================================
+extract! from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   extract! 
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  extract! : % -> S
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   extract! destructively modifies its argument and returns the 
+   first item of the argument
+
+ARGUMENTS
+=========
+
+   An element from ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  An element of ArrayStack(S:SetCategory)
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   extract! a
+   a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op extract!
+
+\end{chunk}
+
+\begin{chunk}{push!.help}
+====================================================================
+push! from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   push! 
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  push! : (S,%) -> S
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   push! destructively modifies its argument and returns a new
+   list with the element add to the front of the list
+
+ARGUMENTS
+=========
+
+   The first argument is an element of S:SetCategory
+
+   The second argument is an element of ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  An element of S:SetCategory
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   push! a
+   a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op push!
+
+\end{chunk}
+
+\begin{chunk}{insert!.help}
+====================================================================
+insert! from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   insert! 
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  insert! : (S,%) -> S
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   insert! destructively modifies its argument and returns a new
+   list with the element add to the front of the list
+
+ARGUMENTS
+=========
+
+   The first argument is an element of S:SetCategory
+
+   The second argument is an element of ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  An element of S:SetCategory
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   insert! a
+   a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op insert!
+
+\end{chunk}
+
+\begin{chunk}{inspect.help}
+====================================================================
+inspect from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   inspect
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  inspect : % -> S
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   inspect returns the first item of the list without modifing the list
+
+ARGUMENTS
+=========
+
+   The argument is an element of ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  An element of the list
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   inspect a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op inspect
+
+\end{chunk}
+
+\begin{chunk}{top.help}
+====================================================================
+top from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   top
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  top : % -> S
+  
+  where S is the argument of the constructor
+  ArrayStack(S:SetCategory)
+
+DESCRIPTION
+===========
+
+   top returns the first item of the list without modifing the list
+
+ARGUMENTS
+=========
+
+   The argument is an element of ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  An element of the list
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   top a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op top
+
+\end{chunk}
+
+\begin{chunk}{depth.help}
+====================================================================
+depth from ArrayStack (ASTACK)
+====================================================================
+
+NAME
+====
+
+   depth
+
+DOMAIN
+======
+
+   ArrayStack (ASTACK)
+
+SYNOPSYS
+========
+
+  depth : % -> NonNegativeInteger
+  
+DESCRIPTION
+===========
+
+   depth returns the number of elements
+
+ARGUMENTS
+=========
+
+   The argument is an element of ArrayStack(S:SetCategory)
+
+RETURN VALUE
+============
+
+  The number of elements in the list
+
+EXAMPLES
+========
+
+   a:ArrayStack INT:= arrayStack [1,2,3,4,5]
+   depth a
+  
+NOTES
+=====
+
+REFERENCES
+==========
+
+SEE ALSO
+========
+
+o )show ArrayStack
+o )d op depth
+
+\end{chunk}
+
 \pagehead{ArrayStack}{ASTACK}
 \pagepic{ps/v103arraystack.ps}{ASTACK}{1.00}
 {\bf See}\\
@@ -4819,144 +5304,190 @@ o )show BagAggregate
 --% Dequeue and Heap data types
  
 ArrayStack(S:SetCategory): StackAggregate(S) with
+
     arrayStack: List S -> %
       ++ arrayStack([x,y,...,z]) creates an array stack with first (top)
       ++ element x, second element y,...,and last element z.
       ++
-      ++E c:ArrayStack INT:= arrayStack [1,2,3,4,5]
+      ++X c:ArrayStack INT:= arrayStack [1,2,3,4,5]
 
  -- Inherited Signatures repeated for examples documentation
 
     pop_! : % -> S
+      ++ pop! destructively modifies its argument and returns the 
+      ++ first item of the argument
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X pop! a
       ++X a
+
     extract_! : % -> S
+      ++ extract! destructively modifies its argument and returns the 
+      ++ first item of the argument
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X extract! a
       ++X a
+
     push_! : (S,%) -> S
+      ++ push! destructively modifies its argument and returns a new
+      ++ list with the element add to the front of the list
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X push!(9,a)
       ++X a
+
     insert_! : (S,%) -> %
+      ++ insert! destructively modifies its argument and returns a new
+      ++ list with the element add to the front of the list
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X insert!(8,a)
       ++X a
+
     inspect : % -> S
+      ++ inspect returns the first item of the list without modifing the list
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X inspect a
+
     top : % -> S
+      ++ top returns the first item of the list without modifing the list
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X top a
+
     depth : % -> NonNegativeInteger
+      ++ depth returns the number of elements
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X depth a
+
     less? : (%,NonNegativeInteger) -> Boolean
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X less?(a,9)
+
     more? : (%,NonNegativeInteger) -> Boolean
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X more?(a,9)
+
     size? : (%,NonNegativeInteger) -> Boolean
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X size?(a,5)
+
     bag : List S -> %
       ++
       ++X bag([1,2,3,4,5])$ArrayStack(INT)
+
     empty? : % -> Boolean
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X empty? a
+
     empty : () -> %
       ++
       ++X b:=empty()$(ArrayStack INT)
+
     sample : () -> %
       ++
       ++X sample()$ArrayStack(INT)
+
     copy : % -> %
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X copy a
+
     eq? : (%,%) -> Boolean
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X b:=copy a
       ++X eq?(a,b)
+
     map :  ((S -> S),%) -> %
       ++
       ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
       ++X map(x+->x+10,a)
       ++X a
+
     if $ has shallowlyMutable then
+
       map! :  ((S -> S),%) -> %
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X map!(x+->x+10,a)
         ++X a
+
     if S has SetCategory then
+
       latex : % -> String
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X latex a
+
       hash : % -> SingleInteger
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X hash a
+
       coerce : % -> OutputForm
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X coerce a
+
       "=": (%,%) -> Boolean
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X b:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X (a=b)@Boolean
+
       "~=" : (%,%) -> Boolean
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X b:=copy a
         ++X (a~=b)
+
     if % has finiteAggregate then
+
       every? : ((S -> Boolean),%) -> Boolean
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X every?(x+->(x=4),a)
+
       any? : ((S -> Boolean),%) -> Boolean
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X any?(x+->(x=4),a)
+
       count :  ((S -> Boolean),%) -> NonNegativeInteger
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X count(x+->(x>2),a)
+
       _# : % -> NonNegativeInteger
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X #a
+
       parts : % -> List S
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X parts a
+
       members : % -> List S
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X members a
+
     if % has finiteAggregate and S has SetCategory then
+
       member? : (S,%) -> Boolean
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
         ++X member?(3,a)
+
       count : (S,%) -> NonNegativeInteger
         ++
         ++X a:ArrayStack INT:= arrayStack [1,2,3,4,5]
@@ -27820,7 +28351,8 @@ Dequeue(S:SetCategory): DequeueAggregate S with
 )set message test on
 )set message auto off
 )clear all
---S 1 of 100
+
+--S 1 of 148
 coefRing := Integer
 --R 
 --R
@@ -27828,7 +28360,7 @@ coefRing := Integer
 --R                                                                 Type: Domain
 --E 1
 
---S 2 of 100
+--S 2 of 148
 lv : List Symbol := [x,y,z] 
 --R 
 --R
@@ -27836,7 +28368,7 @@ lv : List Symbol := [x,y,z]
 --R                                                           Type: List(Symbol)
 --E 2
 
---S 3 of 100
+--S 3 of 148
 der := DERHAM(coefRing,lv) 
 --R 
 --R
@@ -27844,7 +28376,7 @@ der := DERHAM(coefRing,lv)
 --R                                                                 Type: Domain
 --E 3
 
---S 4 of 100
+--S 4 of 148
 R := Expression coefRing
 --R 
 --R
@@ -27852,7 +28384,7 @@ R := Expression coefRing
 --R                                                                 Type: Domain
 --E 4
 
---S 5 of 100
+--S 5 of 148
 f : R := x**2*y*z-5*x**3*y**2*z**5
 --R 
 --R
@@ -27861,7 +28393,7 @@ f : R := x**2*y*z-5*x**3*y**2*z**5
 --R                                                    Type: Expression(Integer)
 --E 5
 
---S 6 of 100
+--S 6 of 148
 g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2 
 --R 
 --R
@@ -27870,7 +28402,7 @@ g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2
 --R                                                    Type: Expression(Integer)
 --E 6
 
---S 7 of 100
+--S 7 of 148
 h : R :=x*y*z-2*x**3*y*z**2 
 --R 
 --R
@@ -27879,7 +28411,7 @@ h : R :=x*y*z-2*x**3*y*z**2
 --R                                                    Type: Expression(Integer)
 --E 7
 
---S 8 of 100
+--S 8 of 148
 dx : der := generator(1)
 --R 
 --R
@@ -27887,7 +28419,7 @@ dx : der := generator(1)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 8
 
---S 9 of 100
+--S 9 of 148
 dy : der := generator(2)
 --R 
 --R
@@ -27895,7 +28427,7 @@ dy : der := generator(2)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 9
 
---S 10 of 100
+--S 10 of 148
 dz : der := generator(3)
 --R 
 --R
@@ -27903,7 +28435,7 @@ dz : der := generator(3)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 10
 
---S 11 of 100
+--S 11 of 148
 [dx,dy,dz] := [generator(i)$der for i in 1..3]
 --R 
 --R
@@ -27911,7 +28443,7 @@ dz : der := generator(3)
 --R                                   Type: List(DeRhamComplex(Integer,[x,y,z]))
 --E 11
 
---S 12 of 100
+--S 12 of 148
 alpha : der := f*dx + g*dy + h*dz
 --R 
 --R
@@ -27924,7 +28456,7 @@ alpha : der := f*dx + g*dy + h*dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 12
 
---S 13 of 100
+--S 13 of 148
 beta  : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy
 --R 
 --R
@@ -27932,8 +28464,8 @@ beta  : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 13
 
---S 14 of 100
-exteriorDifferential alpha
+--S 14 of 148
+m1:=exteriorDifferential alpha
 --R 
 --R
 --R   (14)
@@ -27948,15 +28480,15 @@ exteriorDifferential alpha
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 14
 
---S 15 of 100
-exteriorDifferential %
+--S 15 of 148
+exteriorDifferential m1
 --R 
 --R
 --R   (15)  0
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 15
 
---S 16 of 100
+--S 16 of 148
 gamma := alpha * beta
 --R 
 --R
@@ -27969,7 +28501,7 @@ gamma := alpha * beta
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 16
 
---S 17 of 100
+--S 17 of 148
 exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - _
     alpha * exteriorDifferential(beta)) 
 --R 
@@ -27978,7 +28510,7 @@ exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - _
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 17
 
---S 18 of 100
+--S 18 of 148
 a : BOP := operator('a)
 --R 
 --R
@@ -27986,7 +28518,7 @@ a : BOP := operator('a)
 --R                                                          Type: BasicOperator
 --E 18
 
---S 19 of 100
+--S 19 of 148
 b : BOP := operator('b)
 --R 
 --R
@@ -27994,7 +28526,7 @@ b : BOP := operator('b)
 --R                                                          Type: BasicOperator
 --E 19
 
---S 20 of 100
+--S 20 of 148
 c : BOP := operator('c)
 --R 
 --R
@@ -28002,7 +28534,7 @@ c : BOP := operator('c)
 --R                                                          Type: BasicOperator
 --E 20
 
---S 21 of 100
+--S 21 of 148
 sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz 
 --R 
 --R
@@ -28010,7 +28542,7 @@ sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 21
 
---S 22 of 100
+--S 22 of 148
 theta  := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz 
 --R 
 --R
@@ -28018,7 +28550,7 @@ theta  := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 22
 
---S 23 of 100
+--S 23 of 148
 totalDifferential(a(x,y,z))$der 
 --R 
 --R
@@ -28027,7 +28559,7 @@ totalDifferential(a(x,y,z))$der
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 23
 
---S 24 of 100
+--S 24 of 148
 exteriorDifferential sigma
 --R 
 --R
@@ -28040,7 +28572,7 @@ exteriorDifferential sigma
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 24
 
---S 25 of 100
+--S 25 of 148
 exteriorDifferential theta
 --R 
 --R
@@ -28049,7 +28581,7 @@ exteriorDifferential theta
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 25
 
---S 26 of 100
+--S 26 of 148
 one : der := 1
 --R 
 --R
@@ -28057,7 +28589,7 @@ one : der := 1
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 26
 
---S 27 of 100
+--S 27 of 148
 g1 : der := a([x,t,y,u,v,z,e]) * one 
 --R 
 --R
@@ -28065,7 +28597,7 @@ g1 : der := a([x,t,y,u,v,z,e]) * one
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 27
 
---S 28 of 100
+--S 28 of 148
 h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one 
 --R 
 --R
@@ -28073,7 +28605,7 @@ h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 28
 
---S 29 of 100
+--S 29 of 148
 exteriorDifferential g1 
 --R 
 --R
@@ -28082,7 +28614,7 @@ exteriorDifferential g1
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 29
 
---S 30 of 100
+--S 30 of 148
 exteriorDifferential h1
 --R 
 --R
@@ -28103,7 +28635,7 @@ exteriorDifferential h1
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 30
 
---S 31 of 100
+--S 31 of 148
 coefficient(gamma, dx*dy)
 --R 
 --R
@@ -28112,7 +28644,7 @@ coefficient(gamma, dx*dy)
 --R                                                    Type: Expression(Integer)
 --E 31
 
---S 32 of 100
+--S 32 of 148
 coefficient(gamma, one)
 --R 
 --R
@@ -28120,7 +28652,7 @@ coefficient(gamma, one)
 --R                                                    Type: Expression(Integer)
 --E 32
 
---S 33 of 100
+--S 33 of 148
 coefficient(g1,one)
 --R 
 --R
@@ -28128,7 +28660,7 @@ coefficient(g1,one)
 --R                                                    Type: Expression(Integer)
 --E 33
 
---S 34 of 100
+--S 34 of 148
 gamma := alpha * beta
 --R 
 --R
@@ -28141,7 +28673,7 @@ gamma := alpha * beta
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 34
 
---S 35 of 100
+--S 35 of 148
 t1:=generator(1)$der
 --R 
 --R
@@ -28149,7 +28681,7 @@ t1:=generator(1)$der
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 35
 
---S 36 of 100
+--S 36 of 148
 degree(t1)
 --R 
 --R
@@ -28158,9 +28690,8 @@ degree(t1)
 --E 36
 
 )clear all
- 
 
---S 37 of 100
+--S 37 of 148
 X:=DERHAM(Integer,[x,y,z])
 --R 
 --R
@@ -28168,7 +28699,7 @@ X:=DERHAM(Integer,[x,y,z])
 --R                                                                 Type: Domain
 --E 37
 
---S 38 of 100
+--S 38 of 148
 [dx,dy,dz]:=[generator(i)$X for i in 1..3]
 --R 
 --R
@@ -28176,7 +28707,7 @@ X:=DERHAM(Integer,[x,y,z])
 --R                                   Type: List(DeRhamComplex(Integer,[x,y,z]))
 --E 38
 
---S 39 of 100
+--S 39 of 148
 f:BOP:=operator('f)
 --R 
 --R
@@ -28184,7 +28715,7 @@ f:BOP:=operator('f)
 --R                                                          Type: BasicOperator
 --E 39
 
---S 40 of 100
+--S 40 of 148
 g:BOP:=operator('g)
 --R 
 --R
@@ -28192,7 +28723,7 @@ g:BOP:=operator('g)
 --R                                                          Type: BasicOperator
 --E 40
 
---S 41 of 100
+--S 41 of 148
 h:BOP:=operator('h)
 --R 
 --R
@@ -28200,7 +28731,7 @@ h:BOP:=operator('h)
 --R                                                          Type: BasicOperator
 --E 41
 
---S 42 of 100
+--S 42 of 148
 a:BOP:=operator('a)
 --R 
 --R
@@ -28208,7 +28739,7 @@ a:BOP:=operator('a)
 --R                                                          Type: BasicOperator
 --E 42
 
---S 43 of 100
+--S 43 of 148
 b:BOP:=operator('b)
 --R 
 --R
@@ -28216,7 +28747,7 @@ b:BOP:=operator('b)
 --R                                                          Type: BasicOperator
 --E 43
 
---S 44 of 100
+--S 44 of 148
 c:BOP:=operator('c)
 --R 
 --R
@@ -28224,7 +28755,7 @@ c:BOP:=operator('c)
 --R                                                          Type: BasicOperator
 --E 44
 
---S 45 of 100
+--S 45 of 148
 sigma:=f(x,y,z)*dx + g(x,y,z)*dy + h(x,y,z)*dz
 --R 
 --R
@@ -28232,7 +28763,7 @@ sigma:=f(x,y,z)*dx + g(x,y,z)*dy + h(x,y,z)*dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 45
 
---S 46 of 100
+--S 46 of 148
 theta:=a(x,y,z)*dx*dy + b(x,y,z)*dx*dz + c(x,y,z)*dy*dz
 --R 
 --R
@@ -28240,13 +28771,13 @@ theta:=a(x,y,z)*dx*dy + b(x,y,z)*dx*dz + c(x,y,z)*dy*dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 46
 
---S 47 of 100
+--S 47 of 148
 d ==> exteriorDifferential
 --R 
 --R                                                                   Type: Void
 --E 47
 
---S 48 of 100
+--S 48 of 148
 leadingCoefficient sigma
 --R 
 --R
@@ -28254,7 +28785,7 @@ leadingCoefficient sigma
 --R                                                    Type: Expression(Integer)
 --E 48
 
---S 49 of 100
+--S 49 of 148
 leadingBasisTerm sigma
 --R 
 --R
@@ -28262,7 +28793,7 @@ leadingBasisTerm sigma
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 49
 
---S 50 of 100
+--S 50 of 148
 reductum sigma
 --R 
 --R
@@ -28270,7 +28801,7 @@ reductum sigma
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 50
 
---S 51 of 100
+--S 51 of 148
 coefficient(sigma,dz)
 --R 
 --R
@@ -28278,7 +28809,7 @@ coefficient(sigma,dz)
 --R                                                    Type: Expression(Integer)
 --E 51
 
---S 52 of 100
+--S 52 of 148
 homogeneous? sigma
 --R 
 --R
@@ -28286,7 +28817,7 @@ homogeneous? sigma
 --R                                                                Type: Boolean
 --E 52
 
---S 53 of 100
+--S 53 of 148
 homogeneous? (sigma+theta)
 --R 
 --R
@@ -28294,7 +28825,7 @@ homogeneous? (sigma+theta)
 --R                                                                Type: Boolean
 --E 53
 
---S 54 of 100
+--S 54 of 148
 retractable? sigma
 --R 
 --R
@@ -28302,7 +28833,7 @@ retractable? sigma
 --R                                                                Type: Boolean
 --E 54
 
---S 55 of 100
+--S 55 of 148
 retractable? (1::X)
 --R 
 --R
@@ -28310,7 +28841,7 @@ retractable? (1::X)
 --R                                                                Type: Boolean
 --E 55
 
---S 56 of 100
+--S 56 of 148
 [degree x for x in [sigma,theta,1::X]]
 --R 
 --R
@@ -28318,7 +28849,7 @@ retractable? (1::X)
 --R                                               Type: List(NonNegativeInteger)
 --E 56
 
---S 57 of 100
+--S 57 of 148
 R:=Expression(Integer)
 --R 
 --R
@@ -28326,19 +28857,19 @@ R:=Expression(Integer)
 --R                                                                 Type: Domain
 --E 57
 
---S 58 of 100
+--S 58 of 148
 T:R->R
 --R 
 --R                                                                   Type: Void
 --E 58
 
---S 59 of 100
+--S 59 of 148
 T(x)==x^2
 --R 
 --R                                                                   Type: Void
 --E 59
 
---S 60 of 100
+--S 60 of 148
 map(T,sigma)
 --R 
 --R   Compiling function T with type Expression(Integer) -> Expression(
@@ -28349,7 +28880,7 @@ map(T,sigma)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 60
 
---S 61 of 100
+--S 61 of 148
 exteriorDifferential sigma
 --R 
 --R
@@ -28362,7 +28893,7 @@ exteriorDifferential sigma
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 61
 
---S 62 of 100
+--S 62 of 148
 d theta
 --R 
 --R
@@ -28371,7 +28902,7 @@ d theta
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 62
 
---S 63 of 100
+--S 63 of 148
 F:=operator 'F
 --R 
 --R
@@ -28379,7 +28910,7 @@ F:=operator 'F
 --R                                                          Type: BasicOperator
 --E 63
 
---S 64 of 100
+--S 64 of 148
 nullForm:=F(x,y,z)*(1::X)
 --R 
 --R
@@ -28387,7 +28918,7 @@ nullForm:=F(x,y,z)*(1::X)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 64
 
---S 65 of 100
+--S 65 of 148
 d nullForm
 --R 
 --R
@@ -28396,7 +28927,7 @@ d nullForm
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 65
 
---S 66 of 100
+--S 66 of 148
 totalDifferential(x^2+y^2+sin(x)*z^2)$X
 --R 
 --R
@@ -28405,7 +28936,7 @@ totalDifferential(x^2+y^2+sin(x)*z^2)$X
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 66
 
---S 67 of 100
+--S 67 of 148
 d(d sigma)
 --R 
 --R
@@ -28420,7 +28951,7 @@ d(d sigma)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 67
 
---S 68 of 100
+--S 68 of 148
 d(d theta)
 --R 
 --R
@@ -28428,7 +28959,7 @@ d(d theta)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 68
 
---S 69 of 100
+--S 69 of 148
 sigma*theta
 --R 
 --R
@@ -28436,7 +28967,7 @@ sigma*theta
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 69
 
---S 70 of 100
+--S 70 of 148
 dx*dy+dy*dx
 --R 
 --R
@@ -28444,7 +28975,7 @@ dx*dy+dy*dx
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 70
 
---S 71 of 100
+--S 71 of 148
 sigma+dz
 --R 
 --R
@@ -28452,7 +28983,7 @@ sigma+dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 71
 
---S 72 of 100
+--S 72 of 148
 theta-(2/3)*sigma+%pi*dx
 --R 
 --R
@@ -28465,7 +28996,7 @@ theta-(2/3)*sigma+%pi*dx
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 72
 
---S 73 of 100
+--S 73 of 148
 G:=diagonalMatrix([1,1,1])
 --R 
 --R
@@ -28477,7 +29008,7 @@ G:=diagonalMatrix([1,1,1])
 --R                                                        Type: Matrix(Integer)
 --E 73
 
---S 74 of 100
+--S 74 of 148
 dot(sigma,sigma,G)
 --R 
 --R
@@ -28486,7 +29017,7 @@ dot(sigma,sigma,G)
 --R                                                    Type: Expression(Integer)
 --E 74
 
---S 75 of 100
+--S 75 of 148
 hodgeStar(sigma,G)
 --R 
 --R
@@ -28494,7 +29025,7 @@ hodgeStar(sigma,G)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 75
 
---S 76 of 100
+--S 76 of 148
 A:=dot(sigma,sigma,G)*sqrt(abs(determinant(G)))
 --R 
 --R
@@ -28503,7 +29034,7 @@ A:=dot(sigma,sigma,G)*sqrt(abs(determinant(G)))
 --R                                                    Type: Expression(Integer)
 --E 76
 
---S 77 of 100
+--S 77 of 148
 B:=sigma*hodgeStar(sigma,G)
 --R 
 --R
@@ -28512,7 +29043,7 @@ B:=sigma*hodgeStar(sigma,G)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 77
 
---S 78 of 100
+--S 78 of 148
 test(A*dx*dy*dz=B)
 --R 
 --R
@@ -28520,7 +29051,7 @@ test(A*dx*dy*dz=B)
 --R                                                                Type: Boolean
 --E 78
 
---S 79 of 100
+--S 79 of 148
 hodgeStar(dx,G)
 --R 
 --R
@@ -28528,7 +29059,7 @@ hodgeStar(dx,G)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 79
 
---S 80 of 100
+--S 80 of 148
 hodgeStar(dy,G)
 --R 
 --R
@@ -28536,7 +29067,7 @@ hodgeStar(dy,G)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 80
 
---S 81 of 100
+--S 81 of 148
 d hodgeStar(d nullForm,G) --- = Laplace(F) ?
 --R 
 --R
@@ -28545,7 +29076,7 @@ d hodgeStar(d nullForm,G) --- = Laplace(F) ?
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 81
 
---S 82 of 100
+--S 82 of 148
 H:=diagonalMatrix([1+x^2,z^2+exp(-y^2),1/z^2])
 --R 
 --R
@@ -28563,7 +29094,7 @@ H:=diagonalMatrix([1+x^2,z^2+exp(-y^2),1/z^2])
 --R                                            Type: Matrix(Expression(Integer))
 --E 82
 
---S 83 of 100
+--S 83 of 148
 hodgeStar(dy,H)
 --R 
 --R
@@ -28581,7 +29112,7 @@ hodgeStar(dy,H)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 83
 
---S 84 of 100
+--S 84 of 148
 hodgeStar(sigma,H)
 --R 
 --R
@@ -28619,7 +29150,7 @@ hodgeStar(sigma,H)
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 84
 
---S 85 of 100
+--S 85 of 148
 VolH:=sqrt(abs(determinant(H)))*dx*dy*dz
 --R 
 --R
@@ -28633,7 +29164,7 @@ VolH:=sqrt(abs(determinant(H)))*dx*dy*dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 85
 
---S 86 of 100
+--S 86 of 148
 AA:=dot(sigma,sigma,H)*VolH
 --R 
 --R
@@ -28661,7 +29192,7 @@ AA:=dot(sigma,sigma,H)*VolH
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
 --E 86
 
---S 87 of 100
+--S 87 of 148
 BB:=sigma*hodgeStar(sigma,H)
 --R 
 --R
@@ -28687,126 +29218,596 @@ BB:=sigma*hodgeStar(sigma,H)
 --R  *
 --R     dx dy dz
 --R                                         Type: DeRhamComplex(Integer,[x,y,z])
---E 87
+--E 87
+
+--S 88 of 148
+test(AA=BB)
+--R 
+--R
+--R   (52)  true
+--R                                                                Type: Boolean
+--E 88
+
+--S 89 of 148
+M:=DERHAM(Integer,[t,x,y,z])
+--R 
+--R
+--R   (53)  DeRhamComplex(Integer,[t,x,y,z])
+--R                                                                 Type: Domain
+--E 89
+
+--S 90 of 148
+[dt,dx,dy,dz]:=[generator(i)$M for i in 1..4]
+--R 
+--R
+--R   (54)  [dt,dx,dy,dz]
+--R                                 Type: List(DeRhamComplex(Integer,[t,x,y,z]))
+--E 90
+
+--S 91 of 148
+L:=diagonalMatrix([1,-1,-1,-1])
+--R 
+--R
+--R         +1   0    0    0 +
+--R         |                |
+--R         |0  - 1   0    0 |
+--R   (55)  |                |
+--R         |0   0   - 1   0 |
+--R         |                |
+--R         +0   0    0   - 1+
+--R                                                        Type: Matrix(Integer)
+--E 91
+
+--S 92 of 148
+hodgeStar(dt,L)
+--R 
+--R
+--R   (56)  dx dy dz
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 92
+
+--S 93 of 148
+hodgeStar(dx,L)
+--R 
+--R
+--R   (57)  dt dy dz
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 93
+
+--S 94 of 148
+hodgeStar(dy,L)
+--R 
+--R
+--R   (58)  - dt dx dz
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 94
+
+--S 95 of 148
+hodgeStar(dz,L)
+--R 
+--R
+--R   (59)  dt dx dy
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 95
+
+--S 96 of 148
+hodgeStar(dt*dz,L)
+--R 
+--R
+--R   (60)  - dx dy
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 96
+
+--S 97 of 148
+P:=a(t,x,y,z)*(dx+dy+dz-dt)
+--R 
+--R
+--R   (61)  a(t,x,y,z)dz + a(t,x,y,z)dy + a(t,x,y,z)dx - a(t,x,y,z)dt
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 97
+
+--S 98 of 148
+dot(P,P,L)
+--R 
+--R
+--R                      2
+--R   (62)  - 2a(t,x,y,z)
+--R                                                    Type: Expression(Integer)
+--E 98
+
+--S 99 of 148
+P*P
+--R 
+--R
+--R   (63)  0
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 99
+
+--S 100 of 148
+d P
+--R 
+--R
+--R   (64)
+--R     (- a  (t,x,y,z) + a  (t,x,y,z))dy dz + (- a  (t,x,y,z) + a  (t,x,y,z))dx dz
+--R         ,4             ,3                      ,4             ,2
+--R   + 
+--R     (- a  (t,x,y,z) + a  (t,x,y,z))dx dy + (a  (t,x,y,z) + a  (t,x,y,z))dt dz
+--R         ,3             ,2                    ,4             ,1
+--R   + 
+--R     (a  (t,x,y,z) + a  (t,x,y,z))dt dy + (a  (t,x,y,z) + a  (t,x,y,z))dt dx
+--R       ,3             ,1                    ,2             ,1
+--R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
+--E 100
+
+)clear all
+
+--S 101 of 148
+coefRing := Integer
+--R 
+--R
+--R   (1)  Integer
+--R                                                                 Type: Domain
+--E 101
+
+--S 102 of 148
+R3 : List Symbol := [x,y,z]
+--R 
+--R
+--R   (2)  [x,y,z]
+--R                                                           Type: List(Symbol)
+--E 102
+
+--S 103 of 148 
+X := DERHAM(coefRing,R3)
+--R 
+--R
+--R   (3)  DeRhamComplex(Integer,[x,y,z])
+--R                                                                 Type: Domain
+--E 103
+
+--S 104 of 148
+[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 104
+
+--S 105 of 148
+f : BOP := operator('f)
+--R 
+--R
+--R   (5)  f
+--R                                                          Type: BasicOperator
+--E 105
+
+--S 106 of 148
+g : BOP := operator('g)
+--R 
+--R
+--R   (6)  g
+--R                                                          Type: BasicOperator
+--E 106
+
+--S 107 of 148
+h : BOP := operator('h)
+--R 
+--R
+--R   (7)  h
+--R                                                          Type: BasicOperator
+--E 107
+
+--S 108 of 148
+a : BOP := operator('a)
+--R 
+--R
+--R   (8)  a
+--R                                                          Type: BasicOperator
+--E 108
+
+--S 109 of 148
+b : BOP := operator('b)
+--R 
+--R
+--R   (9)  b
+--R                                                          Type: BasicOperator
+--E 109
+
+--S 110 of 148
+c : BOP := operator('c)
+--R 
+--R
+--R   (10)  c
+--R                                                          Type: BasicOperator
+--E 110
+
+--S 111 of 148
+U : BOP := operator('U)
+--R 
+--R
+--R   (11)  U
+--R                                                          Type: BasicOperator
+--E 111
+
+--S 112 of 148
+V : BOP := operator('V)
+--R 
+--R
+--R   (12)  V
+--R                                                          Type: BasicOperator
+--E 112
+
+--S 113 of 148
+W : BOP := operator('W)
+--R 
+--R
+--R   (13)  W
+--R                                                          Type: BasicOperator
+--E 113
+
+--S 114 of 148
+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 114
+
+--S 115 of 148
+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 115
+
+--S 116 of 148
+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 116
+
+--S 117 of 148
+d ==> exteriorDifferential
+--R 
+--R                                                                   Type: Void
+--E 117
+
+--S 118 of 148
+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 118
+
+--S 119 of 148
+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 119
+
+--S 120 of 148
+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 120
+
+--S 121 of 148
+t1 := d interiorProduct(v,dz*dy*dz,G)
+--R 
+--R
+--R   (21)  0
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 121
+
+--S 122 of 148
+hodgeStar(t1,G) -- should be div(v)
+--R 
+--R
+--R   (22)  0
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 122
+
+--S 123 of 148
+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 123
+
+--S 124 of 148
+proj(dx+dy*dz+dx*dy*dz,2)
+--R 
+--R
+--R   (24)  dy dz
+--R                                         Type: DeRhamComplex(Integer,[x,y,z])
+--E 124
 
---S 88 of 100
-test(AA=BB)
+--S 125 of 148
+proj(sigma+theta,1)
 --R 
 --R
---R   (52)  true
---R                                                                Type: Boolean
---E 88
+--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 125
 
---S 89 of 100
-M:=DERHAM(Integer,[t,x,y,z])
+--S 126 of 148
+dim(sigma)
 --R 
 --R
---R   (53)  DeRhamComplex(Integer,[t,x,y,z])
+--R   (26)  3
+--R                                                        Type: PositiveInteger
+--E 126
+
+--S 127 of 148
+degree(sigma)
+--R 
+--R
+--R   (27)  1
+--R                                                        Type: PositiveInteger
+--E 127
+
+-- Laplace Operator for $S^2:\delta F := \star d \star dF$
+)clear all
+
+--S 128 of 148
+coefRing := Integer
+--R 
+--R
+--R   (1)  Integer
 --R                                                                 Type: Domain
---E 89
+--E 128
 
---S 90 of 100
-[dt,dx,dy,dz]:=[generator(i)$M for i in 1..4]
+--S 129 of 148
+S2 : List Symbol := [r,theta]
 --R 
 --R
---R   (54)  [dt,dx,dy,dz]
---R                                 Type: List(DeRhamComplex(Integer,[t,x,y,z]))
---E 90
+--R   (2)  [r,theta]
+--R                                                           Type: List(Symbol)
+--E 129
 
---S 91 of 100
-L:=diagonalMatrix([1,-1,-1,-1])
+--S 130 of 148
+Y := DERHAM(coefRing,S2)
 --R 
 --R
---R         +1   0    0    0 +
---R         |                |
---R         |0  - 1   0    0 |
---R   (55)  |                |
---R         |0   0   - 1   0 |
---R         |                |
---R         +0   0    0   - 1+
---R                                                        Type: Matrix(Integer)
---E 91
+--R   (3)  DeRhamComplex(Integer,[r,theta])
+--R                                                                 Type: Domain
+--E 130
 
---S 92 of 100
-hodgeStar(dt,L)
+--S 131 of 148
+g := diagonalMatrix([1,r^2])
 --R 
 --R
---R   (56)  - dx dy dz
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 92
+--R        +1  0 +
+--R   (4)  |     |
+--R        |    2|
+--R        +0  r +
+--R                                            Type: Matrix(Polynomial(Integer))
+--E 131
 
---S 93 of 100
-hodgeStar(dx,L)
+--S 132 of 148
+F := operator 'F
 --R 
 --R
---R   (57)  - dt dy dz
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 93
+--R   (5)  F
+--R                                                          Type: BasicOperator
+--E 132
 
---S 94 of 100
-hodgeStar(dy,L)
+--S 133 of 148
+d ==> exteriorDifferential
+--R 
+--R                                                                   Type: Void
+--E 133
+
+--S 134 of 148
+[dr,dtheta] := [generator(i)$Y for i in 1..2]
 --R 
 --R
---R   (58)  dt dx dz
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 94
+--R   (7)  [dr,dtheta]
+--R                                 Type: List(DeRhamComplex(Integer,[r,theta]))
+--E 134
 
---S 95 of 100
-hodgeStar(dz,L)
+--S 135 of 148
+F0 := F(r,theta)*1::Y
 --R 
 --R
---R   (59)  - dt dx dy
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 95
+--R   (8)  F(r,theta)
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 135
 
---S 96 of 100
-hodgeStar(dt*dz,L)
+--S 136 of 148
+F1 := d F0
 --R 
 --R
---R   (60)  - dx dy
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 96
+--R   (9)  F  (r,theta)dtheta + F  (r,theta)dr
+--R         ,2                   ,1
+--R                                       Type: DeRhamComplex(Integer,[r,theta])
+--E 136
 
---S 97 of 100
-P:=a(t,x,y,z)*(dx+dy+dz-dt)
+--S 137 of 148
+F2 := hodgeStar(F1,g)
 --R 
 --R
---R   (61)  a(t,x,y,z)dz + a(t,x,y,z)dy + a(t,x,y,z)dx - a(t,x,y,z)dt
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 97
+--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 137
 
---S 98 of 100
-dot(P,P,L)
+--S 138 of 148
+F3 := d F2
 --R 
 --R
---R                      2
---R   (62)  - 2a(t,x,y,z)
+--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 138
+
+--S 139 of 148
+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 139
+
+--S 140 of 148
+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 98
+--E 140
 
---S 99 of 100
-P*P
+--S 141 of 148
+subst(LapF,abs(r^2)=r^2)
 --R 
 --R
---R   (63)  0
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 99
+--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 141
 
---S 100 of 100
-d P
+-- Internal representation
+
+--S 142 of 148
+R := Expression(Integer)
 --R 
 --R
---R   (64)
---R     (- a  (t,x,y,z) + a  (t,x,y,z))dy dz + (- a  (t,x,y,z) + a  (t,x,y,z))dx dz
---R         ,4             ,3                      ,4             ,2
---R   + 
---R     (- a  (t,x,y,z) + a  (t,x,y,z))dx dy + (a  (t,x,y,z) + a  (t,x,y,z))dt dz
---R         ,3             ,2                    ,4             ,1
---R   + 
---R     (a  (t,x,y,z) + a  (t,x,y,z))dt dy + (a  (t,x,y,z) + a  (t,x,y,z))dt dx
---R       ,3             ,1                    ,2             ,1
---R                                       Type: DeRhamComplex(Integer,[t,x,y,z])
---E 100
+--R   (15)  Expression(Integer)
+--R                                                                 Type: Domain
+--E 142
+
+--S 143 of 148
+Y := DERHAM(coefRing,S2)
+--R 
+--R
+--R   (16)  DeRhamComplex(Integer,[r,theta])
+--R                                                                 Type: Domain
+--E 143
+
+--S 144 of 148
+terms : Y -> List Record(k : EAB, c : R)
+--R 
+--R                                                                   Type: Void
+--E 144
+
+--S 145 of 148
+terms(a) == a pretend List Record(k : EAB, c : R)
+--R 
+--R                                                                   Type: Void
+--E 145
+
+--S 146 of 148
+terms(dr)
+--R 
+--R   Compiling function terms with type DeRhamComplex(Integer,[r,theta])
+--R       -> List(Record(k: ExtAlgBasis,c: Expression(Integer))) 
+--R
+--R   (19)  [[k= [1,0],c= 1]]
+--R                    Type: List(Record(k: ExtAlgBasis,c: Expression(Integer)))
+--E 146
+
+--S 147 of 148
+terms(dtheta)
+--R 
+--R
+--R   (20)  [[k= [0,1],c= 1]]
+--R                    Type: List(Record(k: ExtAlgBasis,c: Expression(Integer)))
+--E 147
+
+--S 148 of 148
+terms(F1)
+--R 
+--R
+--R   (21)  [[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 148
+
 
 )spool
 )lisp (bye)
@@ -29057,6 +30058,268 @@ consists of the eight forms: 1, dx, dy, dz, dx*dy, dx*dz, dy*dz, and dx*dy*dz.
     a(x,t,y,u,v,z,e)
                        Type: Expression Integer
 
+Further examples are:
+
+coefRing := Integer
+
+  Integer
+
+R3 : List Symbol := [x,y,z]
+
+  [x,y,z]
+
+X := DERHAM(coefRing,R3)
+
+  DeRhamComplex(Integer,[x,y,z])
+
+[dx,dy,dz] := [generator(i)$X for i in 1..3]
+
+  [dx,dy,dz]
+
+f : BOP := operator('f)
+
+  f
+
+g : BOP := operator('g)
+
+  g
+
+h : BOP := operator('h)
+
+  h
+
+a : BOP := operator('a)
+
+  a
+
+b : BOP := operator('b)
+
+  b
+
+c : BOP := operator('c)
+
+  c
+
+U : BOP := operator('U)
+
+  U
+
+V : BOP := operator('V)
+
+  V
+
+W : BOP := operator('W)
+
+  W
+
+v := vector[U(x,y,z),V(x,y,z),W(x,y,z)]
+
+  [U(x,y,z),V(x,y,z),W(x,y,z)]
+
+sigma := f(x,y,z) * dx + g(x,y,z) * dy + h(x,y,z) * dz
+
+  h(x,y,z)dz + g(x,y,z)dy + f(x,y,z)dx
+
+theta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz
+
+  c(x,y,z)dy dz + b(x,y,z)dx dz + a(x,y,z)dx dy
+
+d ==> exteriorDifferential
+
+G := diagonalMatrix([1,1,1])
+
+  +1  0  0+
+  |       |
+  |0  1  0|
+  |       |
+  +0  0  1+
+
+interiorProduct(v,sigma,G)
+
+  W(x,y,z)h(x,y,z) + V(x,y,z)g(x,y,z) + U(x,y,z)f(x,y,z)
+
+interiorProduct(v,theta,G)
+
+     (W(x,y,z)b(x,y,z) + V(x,y,z)a(x,y,z))dx
+   + 
+     (W(x,y,z)c(x,y,z) - U(x,y,z)a(x,y,z))dy
+   + 
+     (- V(x,y,z)c(x,y,z) - U(x,y,z)b(x,y,z))dz
+
+t1 := d interiorProduct(v,dz*dy*dz,G)
+
+  0
+
+hodgeStar(t1,G) -- should be div(v)
+
+  0
+
+eta := lieDerivative(v,theta,G)
+
+         - W(x,y,z)c  (x,y,z) - V(x,y,z)c  (x,y,z) - U(x,y,z)b  (x,y,z)
+                    ,3                   ,2                   ,2
+       + 
+         U(x,y,z)a  (x,y,z) - c(x,y,z)W  (x,y,z) - c(x,y,z)V  (x,y,z)
+                  ,3                   ,3                   ,2
+       + 
+         a(x,y,z)U  (x,y,z) - b(x,y,z)U  (x,y,z)
+                  ,3                   ,2
+    *
+       dy dz
+   + 
+         - V(x,y,z)c  (x,y,z) - W(x,y,z)b  (x,y,z) - U(x,y,z)b  (x,y,z)
+                    ,1                   ,3                   ,1
+       + 
+         - V(x,y,z)a  (x,y,z) - b(x,y,z)W  (x,y,z) - a(x,y,z)V  (x,y,z)
+                    ,3                   ,3                   ,3
+       + 
+         - c(x,y,z)V  (x,y,z) - b(x,y,z)U  (x,y,z)
+                    ,1                   ,1
+    *
+       dx dz
+   + 
+         2W(x,y,z)c  (x,y,z) - 2W(x,y,z)b  (x,y,z) + W(x,y,z)a  (x,y,z)
+                   ,1                    ,2                   ,3
+       + 
+         - V(x,y,z)a  (x,y,z) - U(x,y,z)a  (x,y,z) - b(x,y,z)W  (x,y,z)
+                    ,2                   ,1                   ,2
+       + 
+         c(x,y,z)W  (x,y,z) - a(x,y,z)V  (x,y,z) - a(x,y,z)U  (x,y,z)
+                  ,1                   ,2                   ,1
+    *
+       dx dy
+   + 
+     (- 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
+                 ,1                   ,2                   ,3
+   + 
+     (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
+               ,1                   ,2                   ,3
+
+proj(dx+dy*dz+dx*dy*dz,2)
+
+  dy dz
+
+proj(sigma+theta,1)
+
+  h(x,y,z)dz + g(x,y,z)dy + f(x,y,z)dx
+
+dim(sigma)
+
+  3
+
+degree(sigma)
+
+  1
+
+S2 : List Symbol := [r,theta]
+
+  [r,theta]
+
+Y := DERHAM(coefRing,S2)
+
+  DeRhamComplex(Integer,[r,theta])
+
+g := diagonalMatrix([1,r^2])
+
+  +1  0 +
+  |     |
+  |    2|
+  +0  r +
+
+F := operator 'F
+
+  F
+
+d ==> exteriorDifferential
+
+[dr,dtheta] := [generator(i)$Y for i in 1..2]
+
+  [dr,dtheta]
+
+F0 := F(r,theta)*1::Y
+
+  F(r,theta)
+
+F1 := d F0
+
+  F  (r,theta)dtheta + F  (r,theta)dr
+   ,2                   ,1
+
+F2 := hodgeStar(F1,g)
+
+            +-------+
+            |     2
+           \|abs(r ) F  (r,theta)       +-------+
+                      ,2                |     2
+   (10)  - ---------------------- dr + \|abs(r ) F  (r,theta)dtheta
+                      2                           ,1
+                     r
+
+F3 := d F2
+
+          2                   2     2                         2
+     abs(r )F    (r,theta) + r abs(r )F    (r,theta) + r abs(r )F  (r,theta)
+             ,2,2                      ,1,1                      ,1
+     ----------------------------------------------------------------------- dr
+                                      +-------+
+                                    2 |     2
+                                   r \|abs(r )
+  *
+     dtheta
+
+LaplaceF := hodgeStar(F3,g)
+
+        2                   2     2                         2
+   abs(r )F    (r,theta) + r abs(r )F    (r,theta) + r abs(r )F  (r,theta)
+           ,2,2                      ,1,1                      ,1
+   -----------------------------------------------------------------------
+                                       4
+                                      r
+
+LapF := LaplaceF::Expression(Integer)
+
+        2                   2     2                         2
+   abs(r )F    (r,theta) + r abs(r )F    (r,theta) + r abs(r )F  (r,theta)
+           ,2,2                      ,1,1                      ,1
+   -----------------------------------------------------------------------
+                                       4
+                                      r
+
+subst(LapF,abs(r^2)=r^2)
+
+                           2
+  F    (r,theta) + r F    (r,theta) + rF  (r,theta)
+   ,2,2               ,1,1              ,1
+  -------------------------------------------------
+                           2
+                          r
+
+R := Expression(Integer)
+
+   Expression(Integer)
+
+Y := DERHAM(coefRing,S2)
+
+   DeRhamComplex(Integer,[r,theta])
+
+terms : Y -> List Record(k : EAB, c : R)
+
+terms(a) == a pretend List Record(k : EAB, c : R)
+
+terms(dr)
+
+   [[k= [1,0],c= 1]]
+
+terms(dtheta)
+
+   [[k= [0,1],c= 1]]
+
+terms(F1)
+
+   [[k= [0,1],c= F  (r,theta)],[k= [1,0],c= F  (r,theta)]]
+                 ,2                         ,1
+
+
 See Also:
 o )help Operator
 o )show DeRhamComplex
@@ -29842,6 +31105,13 @@ RETURN VALUE
 EXAMPLES
 ========
 
+   der := DeRhamComplex(Integer,[x,y,z])
+   f:BOP:=operator('f)
+   g:BOP:=operator('g)
+   h:BOP:=operator('h)
+   sigma:der:=f(x,y,z)*dx + g(x,y,z)*dy + h(x,y,z)*dz
+   dim sigma
+
 NOTES
 =====
 
@@ -30042,6 +31312,12 @@ RETURN VALUE
 EXAMPLES
 ========
 
+   coefRing := Integer
+   R3 : List Symbol := [x,y,z]
+   X := DERHAM(coefRing,R3)
+   [dx,dy,dz] := [generator(i)$X for i in 1..3]
+   proj(dx+dy*dz+dx*dy*dz,2)
+
 NOTES
 =====
 
@@ -30106,6 +31382,26 @@ RETURN VALUE
 EXAMPLES
 ========
 
+   coefRing := Integer
+   R3 : List Symbol := [x,y,z]
+   X := DERHAM(coefRing,R3)
+   [dx,dy,dz] := [generator(i)$X for i in 1..3]
+   f : BOP := operator('f)
+   g : BOP := operator('g)
+   h : BOP := operator('h)
+   a : BOP := operator('a)
+   b : BOP := operator('b)
+   c : BOP := operator('c)
+   U : BOP := operator('U)
+   V : BOP := operator('V)
+   W : BOP := operator('W)
+   v := vector[U(x,y,z),V(x,y,z),W(x,y,z)]
+   sigma := f(x,y,z)*dx + g(x,y,z)*dy + h(x,y,z)*dz
+   theta := a(x,y,z)*dx*dy + b(x,y,z)*dx*dz + c(x,y,z)*dy*dz
+   G := diagonalMatrix([1,1,1])
+   interiorProduct(v,sigma,G)
+   interiorProduct(v,theta,G)
+
 NOTES
 =====
 
@@ -30170,6 +31466,21 @@ RETURN VALUE
 EXAMPLES
 ========
 
+   coefRing := Integer
+   R3 : List Symbol := [x,y,z]
+   X := DERHAM(coefRing,R3)
+   [dx,dy,dz] := [generator(i)$X for i in 1..3]
+   a : BOP := operator('a)
+   b : BOP := operator('b)
+   c : BOP := operator('c)
+   U : BOP := operator('U)
+   V : BOP := operator('V)
+   W : BOP := operator('W)
+   v := vector[U(x,y,z),V(x,y,z),W(x,y,z)]
+   theta := a(x,y,z)*dx*dy + b(x,y,z)*dx*dz + c(x,y,z)*dy*dz
+   G := diagonalMatrix([1,1,1])
+   eta := lieDerivative(v,theta,G)
+
 NOTES
 =====
 
@@ -30254,6 +31565,7 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
   O       ==> OutputForm
   R       ==> Expression(CoefRing)
   SMR     ==> SquareMatrix(#listIndVar,R)
+  REABR   ==> Record(k : EAB, c : R)
  
   Export == Join(LALG(R), RetractableTo(R)) with
 
@@ -30399,6 +31711,13 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
       dim : % -> NNI
         ++ dimension of the underlying space
         ++ that is, dim ExtAlg = 2^dim
+        ++
+        ++X der := DeRhamComplex(Integer,[x,y,z])
+        ++X f:BOP:=operator('f)
+        ++X g:BOP:=operator('g)
+        ++X h:BOP:=operator('h)
+        ++X sigma:der:=f(x,y,z)*dx + g(x,y,z)*dy + h(x,y,z)*dz
+        ++X dim sigma
 
       hodgeStar : (%,SMR) -> %
         ++ computes the Hodge dual of the differential form with respect
@@ -30425,14 +31744,55 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
 
       proj : (%,NNI) -> %
         ++ projection to homogeneous terms of degree p
+        ++
+        ++X coefRing := Integer
+        ++X R3 : List Symbol := [x,y,z]
+        ++X D := DERHAM(coefRing,R3)
+        ++X [dx,dy,dz] := [generator(i)$D for i in 1..3]
+        ++X proj(dx+dy*dz+dx*dy*dz,2)
 
       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)
+        ++
+        ++X coefRing := Integer
+        ++X R3 : List Symbol := [x,y,z]
+        ++X D := DERHAM(coefRing,R3)
+        ++X [dx,dy,dz] := [generator(i)$D for i in 1..3]
+        ++X f : BOP := operator('f)
+        ++X g : BOP := operator('g)
+        ++X h : BOP := operator('h)
+        ++X a : BOP := operator('a)
+        ++X b : BOP := operator('b)
+        ++X c : BOP := operator('c)
+        ++X U : BOP := operator('U)
+        ++X V : BOP := operator('V)
+        ++X W : BOP := operator('W)
+        ++X v := vector[U(x,y,z),V(x,y,z),W(x,y,z)]
+        ++X sigma := f(x,y,z)*dx + g(x,y,z)*dy + h(x,y,z)*dz
+        ++X theta := a(x,y,z)*dx*dy + b(x,y,z)*dx*dz + c(x,y,z)*dy*dz
+        ++X G := diagonalMatrix([1,1,1])
+        ++X interiorProduct(v,sigma,G)
+        ++X interiorProduct(v,theta,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)
+        ++
+        ++X coefRing := Integer
+        ++X R3 : List Symbol := [x,y,z]
+        ++X D := DERHAM(coefRing,R3)
+        ++X [dx,dy,dz] := [generator(i)$D for i in 1..3]
+        ++X a : BOP := operator('a)
+        ++X b : BOP := operator('b)
+        ++X c : BOP := operator('c)
+        ++X U : BOP := operator('U)
+        ++X V : BOP := operator('V)
+        ++X W : BOP := operator('W)
+        ++X v := vector[U(x,y,z),V(x,y,z),W(x,y,z)]
+        ++X theta := a(x,y,z)*dx*dy + b(x,y,z)*dx*dz + c(x,y,z)*dy*dz
+        ++X G := diagonalMatrix([1,1,1])
+        ++X eta := lieDerivative(v,theta,G)
 
   Implement == ASY add
       Rep := ASY 
@@ -30471,10 +31831,10 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         -- it is the case that there are at least two terms in a
         a pretend List Record(k: EAB, c: R)
         
-      err1:="CoefRing has no IntegralDomain"
-      err2:="Not Implemented"
+      err1:="CoefRing has not IntegralDomain"
+      err2:="Metric tensor is not symmetric"
       err3:="Degenerate metric"
-      err4:="Index out of range"
+      err4:="Index out of range" 
 
       -- coord space dimension
       dim(f) == dim
@@ -30498,17 +31858,17 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         reduce("*",[1/g(j,j) for j in idx]::List(R))*r.c*s.c
 
       -- compute dot of singleton terms, general symmetric g
---      dot2(r:REABR, s:REABR, g:SMR):R ==
---        not CoefRing has IntegralDomain => error(err1)
---        pr := pos(r.k,1) -- list positions of 1 in r
---        ps := pos(s.k,1) -- list positions of 1 in s
---        test(#p1 ^= #ps) => 0::R -- not same degree => 0
---        pr = [] => r.c * s.c -- empty pr,ps => product of coefs
---        G := inverse(g)::SMR -- compute the inverse of the metric g
---        test(#pr = 1) => G(pr.1,ps.1)::R * r.c * s.c -- only one element
---        M:Matrix(R) -- the minor
---        M := matrix([[G(pr.i,ps.j])::R for j in 1..#ps] for i in 1..#pr])
---        determinant(M)::R * r.c * s.c
+      dot2(r:REABR, s:REABR, g:SMR):R ==
+        not CoefRing has IntegralDomain => error(err1)
+        pr := pos(r.k,1) -- list positions of 1 in r
+        ps := pos(s.k,1) -- list positions of 1 in s
+        test(#pr ^= #ps) => 0::R -- not same degree => 0
+        pr = [] => r.c * s.c -- empty pr,ps => product of coefs
+        G := inverse(g)::SMR -- compute the inverse of the metric g
+        test(#pr = 1) => G(pr.1,ps.1)::R * r.c * s.c -- only one element
+        M:Matrix(R) -- the minor
+        M := matrix([[G(pr.i,ps.j)::R for j in 1..#ps] for i in 1..#pr])
+        determinant(M)::R * r.c * s.c
 
       -- export
       dot(x,y,g) ==
@@ -30516,11 +31876,10 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         tx:=terms(x)
         ty:=terms(y)
         tx = [] or ty = [] => 0::R
---        if diagonal? g then -- better performance
---          reduce("+",[dot2(tx.j,ty.j,g) for j in 1..#tx])
---        else
---          reduce("+",[dot1(tx.j,ty.j,g) for j in 1..#tx])
-        reduce("+",[dot1(tx.j,ty.j,g) for j in 1..#tx])
+        if diagonal? g then -- better performance
+          reduce("+",[dot2(tx.j,ty.j,g) for j in 1..#tx])
+        else
+          reduce("+",[dot1(tx.j,ty.j,g) for j in 1..#tx])
      
       -- export
       hodgeStar(x,g) ==
@@ -30566,7 +31925,7 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where
         a+b
 
       coerce(a):O ==
-        a           = 0$Rep => 0$I::O
+        a = 0$Rep => 0$I::O
         ta := terms a
         null ta.rest => makeTerm(ta.first.c, ta.first.k)
         reduce(_+,[makeTerm(t.c,t.k) for t in ta])$L(O)
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 4a66671..2b4f9c3 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -28,88 +28,88 @@ of effort. We would like to acknowledge and thank the following people:
 "Christian Aistleitner  Richard Anderson       George Andrews"
 "S.J. Atkins            Henry Baker            Martin Baker"
 "Stephen Balzac         Yurij Baransky         David R. Barton"
-"Gerald Baumgartner     Gilbert Baumslag       Michael Becker"
-"Nelson H. F. Beebe     Jay Belanger           David Bindel"
-"Fred Blair             Vladimir Bondarenko    Mark Botch"
-"Raoul Bourquin         Alexandre Bouyer       Karen Braman"
-"Peter A. Broadbery     Martin Brock           Manuel Bronstein"
-"Stephen Buchwald       Florian Bundschuh      Luanne Burns"
-"William Burge          Ralph Byers            Quentin Carpent"
-"Robert Caviness        Bruce Char             Ondrej Certik"
-"Tzu-Yi Chen            Cheekai Chin           David V. Chudnovsky"
-"Gregory V. Chudnovsky  Mark Clements          James Cloos"
-"Jia Zhao Cong          Josh Cohen             Christophe Conil"
-"Don Coppersmith        George Corliss         Robert Corless"
-"Gary Cornell           Meino Cramer           Jeremy Du Croz"
-"David Cyganski         Nathaniel Daly         Timothy Daly Sr."
-"Timothy Daly Jr.       James H. Davenport     David Day"
-"James Demmel           Didier Deshommes       Michael Dewar"
-"Jack Dongarra          Jean Della Dora        Gabriel Dos Reis"
-"Claire DiCrescendo     Sam Dooley             Lionel Ducos"
-"Iain Duff              Lee Duhem              Martin Dunstan"
-"Brian Dupee            Dominique Duval        Robert Edwards"
-"Heow Eide-Goodman      Lars Erickson          Richard Fateman"
-"Bertfried Fauser       Stuart Feldman         John Fletcher"
-"Brian Ford             Albrecht Fortenbacher  George Frances"
-"Constantine Frangos    Timothy Freeman        Korrinn Fu"
-"Marc Gaetano           Rudiger Gebauer        Van de Geijn"
-"Kathy Gerber           Patricia Gianni        Gustavo Goertkin"
-"Samantha Goldrich      Holger Gollan          Teresa Gomez-Diaz"
-"Laureano Gonzalez-Vega Stephen Gortler        Johannes Grabmeier"
-"Matt Grayson           Klaus Ebbe Grue        James Griesmer"
-"Vladimir Grinberg      Oswald Gschnitzer      Ming Gu"
-"Jocelyn Guidry         Gaetan Hache           Steve Hague"
-"Satoshi Hamaguchi      Sven Hammarling        Mike Hansen"
-"Richard Hanson         Richard Harke          Bill Hart"
-"Vilya Harvey           Martin Hassner         Arthur S. Hathaway"
-"Dan Hatton             Waldek Hebisch         Karl Hegbloom"
-"Ralf Hemmecke          Henderson              Antoine Hersen"
-"Roger House            Gernot Hueber          Pietro Iglio"
-"Alejandro Jakubi       Richard Jenks          William Kahan"
-"Kyriakos Kalorkoti     Kai Kaminski           Grant Keady"
-"Wilfrid Kendall        Tony Kennedy           Ted Kosan"
-"Paul Kosinski          Klaus Kusche           Bernhard Kutzler"
-"Tim Lahey              Larry Lambe            Kaj Laurson"
-"George L. Legendre     Franz Lehner           Frederic Lehobey"
-"Michel Levaud          Howard Levy            Ren-Cang Li"
-"Rudiger Loos           Michael Lucks          Richard Luczak"
-"Camm Maguire           Francois Maltey        Alasdair McAndrew"
-"Bob McElrath           Michael McGettrick     Edi Meier"
-"Ian Meikle             David Mentre           Victor S. Miller"
-"Gerard Milmeister      Mohammed Mobarak       H. Michael Moeller"
-"Michael Monagan        Marc Moreno-Maza       Scott Morrison"
-"Joel Moses             Mark Murray            William Naylor"
-"Patrice Naudin         C. Andrew Neff         John Nelder"
-"Godfrey Nolan          Arthur Norman          Jinzhong Niu"
-"Michael O'Connor       Summat Oemrawsingh     Kostas Oikonomou"
-"Humberto Ortiz-Zuazaga Julian A. Padget       Bill Page"
-"David Parnas           Susan Pelzel           Michel Petitot"
-"Didier Pinchon         Ayal Pinkus            Frederick H. Pitts"
-"Jose Alfredo Portes    Gregorio Quintana-Orti Claude Quitte"
-"Arthur C. Ralfs        Norman Ramsey          Anatoly Raportirenko"
-"Albert D. Rich         Michael Richardson     Guilherme Reis"
-"Huan Ren               Renaud Rioboo          Jean Rivlin"
-"Nicolas Robidoux       Simon Robinson         Raymond Rogers"
-"Michael Rothstein      Martin Rubey           Philip Santas"
-"Alfred Scheerhorn      William Schelter       Gerhard Schneider"
-"Martin Schoenert       Marshall Schor         Frithjof Schulze"
-"Fritz Schwarz          Steven Segletes        V. Sima"
-"Nick Simicich          William Sit            Elena Smirnova"
-"Jonathan Steinbach     Fabio Stumbo           Christine Sundaresan"
-"Robert Sutor           Moss E. Sweedler       Eugene Surowitz"
-"Max Tegmark            T. Doug Telford        James Thatcher"
-"Balbir Thomas          Mike Thomas            Dylan Thurston"
-"Steve Toleque          Barry Trager           Themos T. Tsikas"
-"Gregory Vanuxem        Bernhard Wall          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           Clifton J. Williamson"
-"Stephen Wilson         Shmuel Winograd        Robert Wisbauer"
-"Sandra Wityak          Waldemar Wiwianka      Knut Wolf"
-"Liu Xiaojun            Clifford Yapp          David Yun"
-"Vadim Zhytnikov        Richard Zippel         Evelyn Zoernack"
-"Bruno Zuercher         Dan Zwillinger"
+"Thomas Baruchel        Gerald Baumgartner     Gilbert Baumslag"
+"Michael Becker         Nelson H. F. Beebe     Jay Belanger"
+"David Bindel           Fred Blair             Vladimir Bondarenko"
+"Mark Botch             Raoul Bourquin         Alexandre Bouyer"
+"Karen Braman           Peter A. Broadbery     Martin Brock"
+"Manuel Bronstein       Stephen Buchwald       Florian Bundschuh"
+"Luanne Burns           William Burge          Ralph Byers"
+"Quentin Carpent        Robert Caviness        Bruce Char"
+"Ondrej Certik          Tzu-Yi Chen            Cheekai Chin"
+"David V. Chudnovsky    Gregory V. Chudnovsky  Mark Clements"
+"James Cloos            Jia Zhao Cong          Josh Cohen"
+"Christophe Conil       Don Coppersmith        George Corliss"
+"Robert Corless         Gary Cornell           Meino Cramer"
+"Jeremy Du Croz         David Cyganski         Nathaniel Daly"
+"Timothy Daly Sr.       Timothy Daly Jr.       James H. Davenport"
+"David Day              James Demmel           Didier Deshommes"
+"Michael Dewar          Jack Dongarra          Jean Della Dora"
+"Gabriel Dos Reis       Claire DiCrescendo     Sam Dooley"
+"Lionel Ducos           Iain Duff              Lee Duhem"
+"Martin Dunstan         Brian Dupee            Dominique Duval"
+"Robert Edwards         Heow Eide-Goodman      Lars Erickson"
+"Richard Fateman        Bertfried Fauser       Stuart Feldman"
+"John Fletcher          Brian Ford             Albrecht Fortenbacher"
+"George Frances         Constantine Frangos    Timothy Freeman"
+"Korrinn Fu             Marc Gaetano           Rudiger Gebauer"
+"Van de Geijn           Kathy Gerber           Patricia Gianni"
+"Gustavo Goertkin       Samantha Goldrich      Holger Gollan"
+"Teresa Gomez-Diaz      Laureano Gonzalez-Vega Stephen Gortler"
+"Johannes Grabmeier     Matt Grayson           Klaus Ebbe Grue"
+"James Griesmer         Vladimir Grinberg      Oswald Gschnitzer"
+"Ming Gu                Jocelyn Guidry         Gaetan Hache"
+"Steve Hague            Satoshi Hamaguchi      Sven Hammarling"
+"Mike Hansen            Richard Hanson         Richard Harke"
+"Bill Hart              Vilya Harvey           Martin Hassner"
+"Arthur S. Hathaway     Dan Hatton             Waldek Hebisch"
+"Karl Hegbloom          Ralf Hemmecke          Henderson"
+"Antoine Hersen         Roger House            Gernot Hueber"
+"Pietro Iglio           Alejandro Jakubi       Richard Jenks"
+"William Kahan          Kyriakos Kalorkoti     Kai Kaminski"
+"Grant Keady            Wilfrid Kendall        Tony Kennedy"
+"Ted Kosan              Paul Kosinski          Klaus Kusche"
+"Bernhard Kutzler       Tim Lahey              Larry Lambe"
+"Kaj Laurson            George L. Legendre     Franz Lehner"
+"Frederic Lehobey       Michel Levaud          Howard Levy"
+"Ren-Cang Li            Rudiger Loos           Michael Lucks"
+"Richard Luczak         Camm Maguire           Francois Maltey"
+"Alasdair McAndrew      Bob McElrath           Michael McGettrick"
+"Edi Meier              Ian Meikle             David Mentre"
+"Victor S. Miller       Gerard Milmeister      Mohammed Mobarak"
+"H. Michael Moeller     Michael Monagan        Marc Moreno-Maza"
+"Scott Morrison         Joel Moses             Mark Murray"
+"William Naylor         Patrice Naudin         C. Andrew Neff"
+"John Nelder            Godfrey Nolan          Arthur Norman"
+"Jinzhong Niu           Michael O'Connor       Summat Oemrawsingh"
+"Kostas Oikonomou       Humberto Ortiz-Zuazaga Julian A. Padget"
+"Bill Page              David Parnas           Susan Pelzel"
+"Michel Petitot         Didier Pinchon         Ayal Pinkus"
+"Frederick H. Pitts     Jose Alfredo Portes    Gregorio Quintana-Orti"
+"Claude Quitte          Arthur C. Ralfs        Norman Ramsey"
+"Anatoly Raportirenko   Albert D. Rich         Michael Richardson"
+"Guilherme Reis         Huan Ren               Renaud Rioboo"
+"Jean Rivlin            Nicolas Robidoux       Simon Robinson"
+"Raymond Rogers         Michael Rothstein      Martin Rubey"
+"Philip Santas          Alfred Scheerhorn      William Schelter"
+"Gerhard Schneider      Martin Schoenert       Marshall Schor"
+"Frithjof Schulze       Fritz Schwarz          Steven Segletes"
+"V. Sima                Nick Simicich          William Sit"
+"Elena Smirnova         Jonathan Steinbach     Fabio Stumbo"
+"Christine Sundaresan   Robert Sutor           Moss E. Sweedler"
+"Eugene Surowitz        Max Tegmark            T. Doug Telford"
+"James Thatcher         Balbir Thomas          Mike Thomas"
+"Dylan Thurston         Steve Toleque          Barry Trager"
+"Themos T. Tsikas       Gregory Vanuxem        Bernhard Wall"
+"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"
+"Clifton J. Williamson  Stephen Wilson         Shmuel Winograd"
+"Robert Wisbauer        Sandra Wityak          Waldemar Wiwianka"
+"Knut Wolf              Liu Xiaojun            Clifford Yapp"
+"David Yun              Vadim Zhytnikov        Richard Zippel"
+"Evelyn Zoernack        Bruno Zuercher         Dan Zwillinger"
 
 ))
 
diff --git a/buglist b/buglist
index 324b888..cfd9d5e 100644
--- a/buglist
+++ b/buglist
@@ -1,6 +1,6 @@
 =========================================================================
 
-bug 7261: 
+bug 7262: 
 todo 336:
 wish 1012:
 meh 5:
@@ -12,6 +12,12 @@ dup 50006:
 nonextend 60077:
 
 =========================================================================
+bug 7261: wrong integral (reported by Thomas Baruchel <baruchel@gmx.com>)
+
+t1:=(16*x^14-125*x^10+150*x^6+375*x^2)/(256*x^16+480*x^12+1025*x^8+750*x^4+625)
+integrate(t1,x)
+
+=========================================================================
 bug 7259: 
 
 x:=taylor 'x
diff --git a/changelog b/changelog
index 6f61b2f..1f2bff6 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,10 @@
+20141122 txp src/axiom-website/patches.html 20141122.01.txp.patch
+20141122 txp buglist add bug 7261: wrong integral
+20141122 txp bookvol5 add Thomas Baruchel to credits
+20141122 txp readme add Thomas Baruchel
+20141122 txp Thomas Baruchel <baruchel@gmx.com>
+20141121 kxp src/axiom-website/patches.html 20141121.01.kxp.patch
+20141121 kxp books/bookvol10.3 more help information for DeRhamComplex
 20141119 tpd src/axiom-website/patches.html 20141119.01.tpd.patch
 20141119 tpd books/bookvol10.3 help files for DeRhamComplex
 20141119 tpd books/bookvolbib fix Flan03 author list
diff --git a/patch b/patch
index 89cb94a..e46ff41 100644
--- a/patch
+++ b/patch
@@ -1,38 +1,6 @@
-books/bookvol10.3 help files for DeRhamComplex
+buglist add bug 7261: wrong integral
 
-The )help command now recognizes
-  )help DeRhamComplex     -- the constructor name
-  )help DERHAM              -- the abbreviation
-  )help leadingCoefficient
-  )help leadingBasisTerm
-  )help reductum
-  )help coefficient
-  )help generator
-  )help homogeneous?
-  )help retractable?
-  )help degree
-  )help map
-  )help totalDifferential
-  )help exteriorDifferential
-  )help dim
-  )help hodgeStar
-  )help dot
-  )help proj
-  )help interiorProduct
-  )help lieDerivative
-all of which open in an edit window
+bug 7261: wrong integral (reported by Thomas Baruchel <baruchel@gmx.com>
 
-There are also usage example code for
-  )d op leadingCoefficient
-  )d op leadingBasisTerm
-  )d op reductum
-  )d op coefficient
-  )d op generator
-  )d op homogeneous?
-  )d op retractable?
-  )d op degree
-  )d op map
-  )d op totalDifferential
-  )d op exteriorDifferential
-  )d op hodgeStar
-  )d op dot
+t1:=(16*x^14-125*x^10+150*x^6+375*x^2)/(256*x^16+480*x^12+1025*x^8+750*x^4+625)
+integrate(t1,x)
diff --git a/readme b/readme
index 0bfd8b5..34cb2d3 100644
--- a/readme
+++ b/readme
@@ -182,7 +182,7 @@ Scratchpad and Axiom. If you contribute, add your name.  The names are
 in alphabetical order as we make no attempt to quantify the relative
 merit of the contributions.
 
-In src/interp/setq.lisp.pamphlet is a variable called credits
+In books/bookvol5.pamphlet is a variable called credits
 which contains this list. Typing 
 )credits 
 at the axiom command prompt will prettyprint the list.
@@ -192,88 +192,88 @@ at the axiom command prompt will prettyprint the list.
 "Christian Aistleitner  Richard Anderson       George Andrews"
 "S.J. Atkins            Henry Baker            Martin Baker"
 "Stephen Balzac         Yurij Baransky         David R. Barton"
-"Gerald Baumgartner     Gilbert Baumslag       Michael Becker"
-"Nelson H. F. Beebe     Jay Belanger           David Bindel"
-"Fred Blair             Vladimir Bondarenko    Mark Botch"
-"Raoul Bourquin         Alexandre Bouyer       Karen Braman"
-"Peter A. Broadbery     Martin Brock           Manuel Bronstein"
-"Stephen Buchwald       Florian Bundschuh      Luanne Burns"
-"William Burge          Ralph Byers            Quentin Carpent"
-"Robert Caviness        Bruce Char             Ondrej Certik"
-"Tzu-Yi Chen            Cheekai Chin           David V. Chudnovsky"
-"Gregory V. Chudnovsky  Mark Clements          James Cloos"
-"Jia Zhao Cong          Josh Cohen             Christophe Conil"
-"Don Coppersmith        George Corliss         Robert Corless"
-"Gary Cornell           Meino Cramer           Jeremy Du Croz"
-"David Cyganski         Nathaniel Daly         Timothy Daly Sr."
-"Timothy Daly Jr.       James H. Davenport     David Day"
-"James Demmel           Didier Deshommes       Michael Dewar"
-"Jack Dongarra          Jean Della Dora        Gabriel Dos Reis"
-"Claire DiCrescendo     Sam Dooley             Lionel Ducos"
-"Iain Duff              Lee Duhem              Martin Dunstan"
-"Brian Dupee            Dominique Duval        Robert Edwards"
-"Heow Eide-Goodman      Lars Erickson          Richard Fateman"
-"Bertfried Fauser       Stuart Feldman         John Fletcher"
-"Brian Ford             Albrecht Fortenbacher  George Frances"
-"Constantine Frangos    Timothy Freeman        Korrinn Fu"
-"Marc Gaetano           Rudiger Gebauer        Van de Geijn"
-"Kathy Gerber           Patricia Gianni        Gustavo Goertkin"
-"Samantha Goldrich      Holger Gollan          Teresa Gomez-Diaz"
-"Laureano Gonzalez-Vega Stephen Gortler        Johannes Grabmeier"
-"Matt Grayson           Klaus Ebbe Grue        James Griesmer"
-"Vladimir Grinberg      Oswald Gschnitzer      Ming Gu"
-"Jocelyn Guidry         Gaetan Hache           Steve Hague"
-"Satoshi Hamaguchi      Sven Hammarling        Mike Hansen"
-"Richard Hanson         Richard Harke          Bill Hart"
-"Vilya Harvey           Martin Hassner         Arthur S. Hathaway"
-"Dan Hatton             Waldek Hebisch         Karl Hegbloom"
-"Ralf Hemmecke          Henderson              Antoine Hersen"
-"Roger House            Gernot Hueber          Pietro Iglio"
-"Alejandro Jakubi       Richard Jenks          William Kahan"
-"Kyriakos Kalorkoti     Kai Kaminski           Grant Keady"
-"Wilfrid Kendall        Tony Kennedy           Ted Kosan"
-"Paul Kosinski          Klaus Kusche           Bernhard Kutzler"
-"Tim Lahey              Larry Lambe            Kaj Laurson"
-"George L. Legendre     Franz Lehner           Frederic Lehobey"
-"Michel Levaud          Howard Levy            Ren-Cang Li"
-"Rudiger Loos           Michael Lucks          Richard Luczak"
-"Camm Maguire           Francois Maltey        Alasdair McAndrew"
-"Bob McElrath           Michael McGettrick     Edi Meier"
-"Ian Meikle             David Mentre           Victor S. Miller"
-"Gerard Milmeister      Mohammed Mobarak       H. Michael Moeller"
-"Michael Monagan        Marc Moreno-Maza       Scott Morrison"
-"Joel Moses             Mark Murray            William Naylor"
-"Patrice Naudin         C. Andrew Neff         John Nelder"
-"Godfrey Nolan          Arthur Norman          Jinzhong Niu"
-"Michael O'Connor       Summat Oemrawsingh     Kostas Oikonomou"
-"Humberto Ortiz-Zuazaga Julian A. Padget       Bill Page"
-"David Parnas           Susan Pelzel           Michel Petitot"
-"Didier Pinchon         Ayal Pinkus            Frederick H. Pitts"
-"Jose Alfredo Portes    Gregorio Quintana-Orti Claude Quitte"
-"Arthur C. Ralfs        Norman Ramsey          Anatoly Raportirenko"
-"Albert D. Rich         Michael Richardson     Guilherme Reis"
-"Huan Ren               Renaud Rioboo          Jean Rivlin"
-"Nicolas Robidoux       Simon Robinson         Raymond Rogers"
-"Michael Rothstein      Martin Rubey           Philip Santas"
-"Alfred Scheerhorn      William Schelter       Gerhard Schneider"
-"Martin Schoenert       Marshall Schor         Frithjof Schulze"
-"Fritz Schwarz          Steven Segletes        V. Sima"
-"Nick Simicich          William Sit            Elena Smirnova"
-"Jonathan Steinbach     Fabio Stumbo           Christine Sundaresan"
-"Robert Sutor           Moss E. Sweedler       Eugene Surowitz"
-"Max Tegmark            T. Doug Telford        James Thatcher"
-"Balbir Thomas          Mike Thomas            Dylan Thurston"
-"Steve Toleque          Barry Trager           Themos T. Tsikas"
-"Gregory Vanuxem        Bernhard Wall          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           Clifton J. Williamson"
-"Stephen Wilson         Shmuel Winograd        Robert Wisbauer"
-"Sandra Wityak          Waldemar Wiwianka      Knut Wolf"
-"Liu Xiaojun            Clifford Yapp          David Yun"
-"Vadim Zhytnikov        Richard Zippel         Evelyn Zoernack"
-"Bruno Zuercher         Dan Zwillinger"
+"Thomas Baruchel        Gerald Baumgartner     Gilbert Baumslag"
+"Michael Becker         Nelson H. F. Beebe     Jay Belanger"
+"David Bindel           Fred Blair             Vladimir Bondarenko"
+"Mark Botch             Raoul Bourquin         Alexandre Bouyer"
+"Karen Braman           Peter A. Broadbery     Martin Brock"
+"Manuel Bronstein       Stephen Buchwald       Florian Bundschuh"
+"Luanne Burns           William Burge          Ralph Byers"
+"Quentin Carpent        Robert Caviness        Bruce Char"
+"Ondrej Certik          Tzu-Yi Chen            Cheekai Chin"
+"David V. Chudnovsky    Gregory V. Chudnovsky  Mark Clements"
+"James Cloos            Jia Zhao Cong          Josh Cohen"
+"Christophe Conil       Don Coppersmith        George Corliss"
+"Robert Corless         Gary Cornell           Meino Cramer"
+"Jeremy Du Croz         David Cyganski         Nathaniel Daly"
+"Timothy Daly Sr.       Timothy Daly Jr.       James H. Davenport"
+"David Day              James Demmel           Didier Deshommes"
+"Michael Dewar          Jack Dongarra          Jean Della Dora"
+"Gabriel Dos Reis       Claire DiCrescendo     Sam Dooley"
+"Lionel Ducos           Iain Duff              Lee Duhem"
+"Martin Dunstan         Brian Dupee            Dominique Duval"
+"Robert Edwards         Heow Eide-Goodman      Lars Erickson"
+"Richard Fateman        Bertfried Fauser       Stuart Feldman"
+"John Fletcher          Brian Ford             Albrecht Fortenbacher"
+"George Frances         Constantine Frangos    Timothy Freeman"
+"Korrinn Fu             Marc Gaetano           Rudiger Gebauer"
+"Van de Geijn           Kathy Gerber           Patricia Gianni"
+"Gustavo Goertkin       Samantha Goldrich      Holger Gollan"
+"Teresa Gomez-Diaz      Laureano Gonzalez-Vega Stephen Gortler"
+"Johannes Grabmeier     Matt Grayson           Klaus Ebbe Grue"
+"James Griesmer         Vladimir Grinberg      Oswald Gschnitzer"
+"Ming Gu                Jocelyn Guidry         Gaetan Hache"
+"Steve Hague            Satoshi Hamaguchi      Sven Hammarling"
+"Mike Hansen            Richard Hanson         Richard Harke"
+"Bill Hart              Vilya Harvey           Martin Hassner"
+"Arthur S. Hathaway     Dan Hatton             Waldek Hebisch"
+"Karl Hegbloom          Ralf Hemmecke          Henderson"
+"Antoine Hersen         Roger House            Gernot Hueber"
+"Pietro Iglio           Alejandro Jakubi       Richard Jenks"
+"William Kahan          Kyriakos Kalorkoti     Kai Kaminski"
+"Grant Keady            Wilfrid Kendall        Tony Kennedy"
+"Ted Kosan              Paul Kosinski          Klaus Kusche"
+"Bernhard Kutzler       Tim Lahey              Larry Lambe"
+"Kaj Laurson            George L. Legendre     Franz Lehner"
+"Frederic Lehobey       Michel Levaud          Howard Levy"
+"Ren-Cang Li            Rudiger Loos           Michael Lucks"
+"Richard Luczak         Camm Maguire           Francois Maltey"
+"Alasdair McAndrew      Bob McElrath           Michael McGettrick"
+"Edi Meier              Ian Meikle             David Mentre"
+"Victor S. Miller       Gerard Milmeister      Mohammed Mobarak"
+"H. Michael Moeller     Michael Monagan        Marc Moreno-Maza"
+"Scott Morrison         Joel Moses             Mark Murray"
+"William Naylor         Patrice Naudin         C. Andrew Neff"
+"John Nelder            Godfrey Nolan          Arthur Norman"
+"Jinzhong Niu           Michael O'Connor       Summat Oemrawsingh"
+"Kostas Oikonomou       Humberto Ortiz-Zuazaga Julian A. Padget"
+"Bill Page              David Parnas           Susan Pelzel"
+"Michel Petitot         Didier Pinchon         Ayal Pinkus"
+"Frederick H. Pitts     Jose Alfredo Portes    Gregorio Quintana-Orti"
+"Claude Quitte          Arthur C. Ralfs        Norman Ramsey"
+"Anatoly Raportirenko   Albert D. Rich         Michael Richardson"
+"Guilherme Reis         Huan Ren               Renaud Rioboo"
+"Jean Rivlin            Nicolas Robidoux       Simon Robinson"
+"Raymond Rogers         Michael Rothstein      Martin Rubey"
+"Philip Santas          Alfred Scheerhorn      William Schelter"
+"Gerhard Schneider      Martin Schoenert       Marshall Schor"
+"Frithjof Schulze       Fritz Schwarz          Steven Segletes"
+"V. Sima                Nick Simicich          William Sit"
+"Elena Smirnova         Jonathan Steinbach     Fabio Stumbo"
+"Christine Sundaresan   Robert Sutor           Moss E. Sweedler"
+"Eugene Surowitz        Max Tegmark            T. Doug Telford"
+"James Thatcher         Balbir Thomas          Mike Thomas"
+"Dylan Thurston         Steve Toleque          Barry Trager"
+"Themos T. Tsikas       Gregory Vanuxem        Bernhard Wall"
+"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"
+"Clifton J. Williamson  Stephen Wilson         Shmuel Winograd"
+"Robert Wisbauer        Sandra Wityak          Waldemar Wiwianka"
+"Knut Wolf              Liu Xiaojun            Clifford Yapp"
+"David Yun              Vadim Zhytnikov        Richard Zippel"
+"Evelyn Zoernack        Bruno Zuercher         Dan Zwillinger"
 
 Pervasive Literate Programming
 
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 2d843fd..ae5e44e 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4712,6 +4712,10 @@ books/bookvol5 newHelpSpad2Cmd now recognizes )help abbreviations<br/>
 books/bookvol10.3 help files for PermutationGroup<br/>
 <a href="patches/20141119.01.tpd.patch">20141119.01.tpd.patch</a>
 books/bookvol10.3 help files for DeRhamComplex<br/>
+<a href="patches/20141121.01.kxp.patch">20141121.01.kxp.patch</a>
+books/bookvol10.3 more help information for DeRhamComplex<br/>
+<a href="patches/20141122.01.txp.patch">20141122.01.txp.patch</a>
+buglist add bug 7261: wrong integral<br/>
  </body>
 </html>
 
