diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 6778e65..7e46fd7 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -50575,6 +50575,224 @@ IntegrationResult(F:Field): Exports == Implementation where
 @
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{domain INTRVL Interval}
+<<Interval.input>>=
+)set break resume
+)sys rm -f Interval.output
+)spool Interval.output
+)set message test on
+)set message auto off
+)clear all
+
+--S 1 of 13
+t1:=0::Interval(Float)
+--R 
+--R
+--R   (1)  [0.0,0.0]
+--R                                                         Type: Interval Float
+--E 1
+
+--S 2 of 13
+t2:=1::Interval(Float)
+--R 
+--R
+--R   (2)  [1.0,1.0]
+--R                                                         Type: Interval Float
+--E 2
+
+--S 3 of 13
+t3:=3*t1
+--R 
+--R
+--R   (3)  [- 0.3 E -20,0.3 E -20]
+--R                                                         Type: Interval Float
+--E 3
+
+--S 4 of 13
+t4:=1/4*t2
+--R 
+--R
+--R        [1.0,1.0]
+--R   (4)  ---------
+--R        [4.0,4.0]
+--R                                                Type: Fraction Interval Float
+--E 4
+
+--S 5 of 13
+acos(t3)
+--R 
+--R
+--R   (5)  [1.5707963267 948966192,1.5707963267 948966192]
+--R                                                         Type: Interval Float
+--E 5
+
+--S 6 of 13
+t6:=t4*t4
+--R 
+--R
+--R         [1.0,1.0]
+--R   (6)  -----------
+--R        [16.0,16.0]
+--R                                                Type: Fraction Interval Float
+--E 6
+
+--S 7 of 13
+sup(t6)
+--R 
+--R
+--R   (7)  0.0625000000 0000000000 1
+--R                                                                  Type: Float
+--E 7
+
+--S 8 of 13
+inf(t6)
+--R 
+--R
+--R   (8)  0.0624999999 9999999999 9
+--R                                                                  Type: Float
+--E 8
+
+--S 9 of 13
+width(t6)
+--R 
+--R
+--R   (9)  0.1 E -20
+--R                                                                  Type: Float
+--E 9
+
+--S 10 of 13
+positive? t3
+--R 
+--R
+--R   (10)  false
+--R                                                                Type: Boolean
+--E 10
+
+--S 11 of 13
+negative? t3
+--R 
+--R
+--R   (11)  false
+--R                                                                Type: Boolean
+--E 11
+
+--S 12 of 13
+contains?(t3,0.3)
+--R 
+--R
+--R   (12)  false
+--R                                                                Type: Boolean
+--E 12
+
+--S 13 of 13
+)show Interval
+--R 
+--R Interval R: Join(FloatingPointSystem,TranscendentalFunctionCategory)  is a domain constructor
+--R Abbreviation for Interval is INTRVL 
+--R This constructor is exposed in this frame.
+--R Issue )edit bookvol10.3.pamphlet to see algebra source code for INTRVL 
+--R
+--R------------------------------- Operations --------------------------------
+--R ?*? : (%,%) -> %                      ?*? : (Integer,%) -> %
+--R ?*? : (PositiveInteger,%) -> %        ?**? : (%,Fraction Integer) -> %
+--R ?**? : (%,%) -> %                     ?**? : (%,PositiveInteger) -> %
+--R ?+? : (%,%) -> %                      ?-? : (%,%) -> %
+--R -? : % -> %                           ?<? : (%,%) -> Boolean
+--R ?<=? : (%,%) -> Boolean               ?=? : (%,%) -> Boolean
+--R ?>? : (%,%) -> Boolean                ?>=? : (%,%) -> Boolean
+--R 1 : () -> %                           0 : () -> %
+--R ?^? : (%,PositiveInteger) -> %        acos : % -> %
+--R acosh : % -> %                        acot : % -> %
+--R acoth : % -> %                        acsc : % -> %
+--R acsch : % -> %                        asec : % -> %
+--R asech : % -> %                        asin : % -> %
+--R asinh : % -> %                        associates? : (%,%) -> Boolean
+--R atan : % -> %                         atanh : % -> %
+--R coerce : Integer -> %                 coerce : % -> %
+--R coerce : Integer -> %                 coerce : % -> OutputForm
+--R contains? : (%,R) -> Boolean          cos : % -> %
+--R cosh : % -> %                         cot : % -> %
+--R coth : % -> %                         csc : % -> %
+--R csch : % -> %                         exp : % -> %
+--R gcd : List % -> %                     gcd : (%,%) -> %
+--R hash : % -> SingleInteger             inf : % -> R
+--R interval : Fraction Integer -> %      interval : R -> %
+--R interval : (R,R) -> %                 latex : % -> String
+--R lcm : List % -> %                     lcm : (%,%) -> %
+--R log : % -> %                          max : (%,%) -> %
+--R min : (%,%) -> %                      negative? : % -> Boolean
+--R nthRoot : (%,Integer) -> %            one? : % -> Boolean
+--R pi : () -> %                          positive? : % -> Boolean
+--R qinterval : (R,R) -> %                recip : % -> Union(%,"failed")
+--R retract : % -> Integer                sample : () -> %
+--R sec : % -> %                          sech : % -> %
+--R sin : % -> %                          sinh : % -> %
+--R sqrt : % -> %                         sup : % -> R
+--R tan : % -> %                          tanh : % -> %
+--R unit? : % -> Boolean                  unitCanonical : % -> %
+--R width : % -> R                        zero? : % -> Boolean
+--R ?~=? : (%,%) -> Boolean              
+--R ?*? : (NonNegativeInteger,%) -> %
+--R ?**? : (%,NonNegativeInteger) -> %
+--R ?^? : (%,NonNegativeInteger) -> %
+--R characteristic : () -> NonNegativeInteger
+--R exquo : (%,%) -> Union(%,"failed")
+--R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %
+--R retractIfCan : % -> Union(Integer,"failed")
+--R subtractIfCan : (%,%) -> Union(%,"failed")
+--R unitNormal : % -> Record(unit: %,canonical: %,associate: %)
+--R
+--E 13
+
+)spool
+)lisp (bye)
+ 
+@
+<<Interval.help>>=
+====================================================================
+Interval examples
+====================================================================
+
+t1:=0::Interval(Float)
+   [0.0,0.0]
+
+t2:=1::Interval(Float)
+   [1.0,1.0]
+
+t3:=3*t1
+   [- 0.3 E -20,0.3 E -20]
+
+t4:=1/4*t2
+   [1.0,1.0]
+   ---------
+   [4.0,4.0]
+
+acos(t3)
+   [1.5707963267 948966192,1.5707963267 948966192]
+
+t6:=t4*t4
+   [1.0,1.0]
+   -----------
+   [16.0,16.0]
+
+sup(t6)
+   0.0625000000 0000000000 1
+
+inf(t6)
+   0.0624999999 9999999999 9
+
+width(t6)
+   0.1 E -20
+
+positive? t3
+   false
+
+negative? t3
+   false
+
+contains?(t3,0.3)
+   false
+
+@
 \pagehead{Interval}{INTRVL}
 \pagepic{ps/v103interval.ps}{INTRVL}{1.00}
 
diff --git a/changelog b/changelog
index e118258..2e69382 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20100507 tpd src/axiom-website/patches.html 20100507.01.tpd.patch
+20100507 tpd src/algebra/Makefile document and test Interval
+20100507 tpd books/bookvol10.3 document and test Interval
 20100503 bxh src/axiom-website/patches.html 20100503.03.bxh.patch
 20100503 bxh src/axiom-website/documentation.html quote Bill Hart on LP
 20100503 tpd books/bookvol5 add Bill Hart to credits
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 060ae4a..27138dd 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -16648,6 +16648,7 @@ SPADHELP=\
  ${HELP}/IntegerLinearDependence.help \
  ${HELP}/IntegerNumberTheoryFunctions.help \
  ${HELP}/InterfaceGroebnerPackage.help \
+ ${HELP}/Interval.help \
  ${HELP}/Kernel.help \
  ${HELP}/KeyedAccessFile.help \
  ${HELP}/LazardSetSolvingPackage.help \
@@ -16810,6 +16811,7 @@ REGRESS= \
  IntegerLinearDependence.regress \
  IntegerNumberTheoryFunctions.regress \
  InterfaceGroebnerPackage.regress \
+ Interval.regress \
  Kernel.regress \
  KeyedAccessFile.regress \
  LazardSetSolvingPackage.regress \
@@ -17468,6 +17470,15 @@ ${HELP}/InterfaceGroebnerPackage.help: ${BOOKS}/bookvol10.4.pamphlet
             >${INPUT}/InterfaceGroebnerPackage.input
 	@echo "InterfaceGroebnerPackage (INTERGB)" >>${HELPFILE}
 
+${HELP}/Interval.help: ${BOOKS}/bookvol10.3.pamphlet
+	@echo 7457 create Interval.help from ${BOOKS}/bookvol10.3.pamphlet
+	@${TANGLE} -R"Interval.help" ${BOOKS}/bookvol10.3.pamphlet \
+           >${HELP}/Interval.help
+	@cp ${HELP}/Interval.help ${HELP}/INTRVL.help
+	@${TANGLE} -R"Interval.input" ${BOOKS}/bookvol10.3.pamphlet \
+            >${INPUT}/Interval.input
+	@echo "Interval (INTRVL)" >>${HELPFILE}
+
 ${HELP}/Kernel.help: ${BOOKS}/bookvol10.3.pamphlet
 	@echo 7460 create Kernel.help from ${BOOKS}/bookvol10.3.pamphlet
 	@${TANGLE} -R"Kernel.help" ${BOOKS}/bookvol10.3.pamphlet \
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 4c8f1d7..ead9def 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2671,5 +2671,7 @@ books/bookvol10.2 PseudoAlgebraicClosureOfFiniteFieldCategory added
 books/bookvol10.2 PseudoAlgebraicClosureOfRationalNumberCategory added<br/>
 <a href="patches/20100503.03.bxh.patch">20100503.03.bxh.patch</a>
 src/axiom-website/documentation.html quote Bill Hart on LP<br/>
+<a href="patches/20100507.01.tpd.patch">20100507.01.tpd.patch</a>
+books/bookvol10.3 document and test Interval<br/>
  </body>
 </html>
