(VAR x y z) (RULES +(x,0) -> x +(x,x) -> 0 *(x,1) -> x *(x,x) -> x *(x,0) -> 0 *(x,+(y,z)) -> +(*(x,y),*(x,z)) or(x,y) -> +(*(x,y),+(x,y)) implies(x,y) -> +(*(x,y),+(x,1)) equivalent(x,y) -> +(+(x,y),1) not(x) -> +(x,1) +(+(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 BA on p. 262 of Hsiang 1985)