YES Problem: ba0(0()) -> 0() ba1(0()) -> 1() S(0()) -> 1() S(1()) -> ba0(1()) S(ba0(x)) -> ba1(x) S(ba1(x)) -> ba0(S(x)) plus(x,0()) -> x plus(0(),x) -> x plus(x,1()) -> S(x) plus(1(),x) -> S(x) plus(ba0(x),ba0(y)) -> plus(ba0(plus(x,y)),0()) plus(ba0(x),ba1(y)) -> plus(ba0(plus(x,y)),1()) plus(ba1(x),ba0(y)) -> plus(ba1(plus(x,y)),0()) plus(ba1(x),ba1(y)) -> plus(ba1(plus(x,y)),1()) mult(x,0()) -> 0() mult(x,1()) -> x mult(x,ba0(y)) -> plus(ba0(mult(x,y)),mult(x,0())) mult(x,ba1(y)) -> plus(ba0(mult(x,y)),mult(x,1())) Proof: Church Rosser Transformation Processor (kb): ba0(0()) -> 0() ba1(0()) -> 1() S(0()) -> 1() S(1()) -> ba0(1()) S(ba0(x)) -> ba1(x) S(ba1(x)) -> ba0(S(x)) plus(x,0()) -> x plus(0(),x) -> x plus(x,1()) -> S(x) plus(1(),x) -> S(x) plus(ba0(x),ba0(y)) -> plus(ba0(plus(x,y)),0()) plus(ba0(x),ba1(y)) -> plus(ba0(plus(x,y)),1()) plus(ba1(x),ba0(y)) -> plus(ba1(plus(x,y)),0()) plus(ba1(x),ba1(y)) -> plus(ba1(plus(x,y)),1()) mult(x,0()) -> 0() mult(x,1()) -> x mult(x,ba0(y)) -> plus(ba0(mult(x,y)),mult(x,0())) mult(x,ba1(y)) -> plus(ba0(mult(x,y)),mult(x,1())) critical peaks: joinable Reflection Processor: ba0(0()) -> 0() ba1(0()) -> 1() S(0()) -> 1() S(1()) -> ba0(1()) S(ba0(x)) -> ba1(x) S(ba1(x)) -> ba0(S(x)) plus(0(),x) -> x plus(x,0()) -> x plus(1(),x) -> S(x) plus(x,1()) -> S(x) plus(ba0(y),ba0(x)) -> plus(0(),ba0(plus(y,x))) plus(ba1(y),ba0(x)) -> plus(1(),ba0(plus(y,x))) plus(ba0(y),ba1(x)) -> plus(0(),ba1(plus(y,x))) plus(ba1(y),ba1(x)) -> plus(1(),ba1(plus(y,x))) mult(0(),x) -> 0() mult(1(),x) -> x mult(ba0(y),x) -> plus(mult(0(),x),ba0(mult(y,x))) mult(ba1(y),x) -> plus(mult(1(),x),ba0(mult(y,x))) LPO Processor: precedence: mult > plus > S > ba0 > ba1 > 1 ~ 0 problem: Qed