(VAR x y z)
(RULES
   +(x,0) -> x
   *(x,0) -> 0
   *(x,1) -> x
   *(x,x) -> x
   *(+(x,y),z) -> +(*(x,z),*(y,z))
   +(x,x) -> 0
   -(x) -> x
   +(+(x,y),z) -> +(x,+(y,z))
   +(x,+(y,z)) -> +(+(x,y),z)
   +(x,y) -> +(y,x)
   *(*(x,y),z) -> *(x,*(y,z))
   *(x,*(y,z)) -> *(*(x,y),z)
   *(x,y) -> *(y,x)
)
(COMMENT Example BR on p. 261/262 of Hsiang 1985)