0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
↳ QTRS
↳ DependencyPairsProof
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
+1(0(x), 0(y)) → 01(+(x, y))
SUM(nil) → 01(#)
PROD(cons(x, l)) → PROD(l)
*1(0(x), y) → 01(*(x, y))
SUM(cons(x, l)) → +1(x, sum(l))
+1(1(x), 1(y)) → +1(x, y)
+1(1(x), 1(y)) → 01(+(+(x, y), 1(#)))
+1(0(x), 0(y)) → +1(x, y)
*1(1(x), y) → +1(0(*(x, y)), y)
+1(0(x), 1(y)) → +1(x, y)
+1(1(x), 0(y)) → +1(x, y)
*1(1(x), y) → 01(*(x, y))
SUM(cons(x, l)) → SUM(l)
+1(1(x), 1(y)) → +1(+(x, y), 1(#))
PROD(cons(x, l)) → *1(x, prod(l))
*1(0(x), y) → *1(x, y)
*1(1(x), y) → *1(x, y)
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
+1(0(x), 0(y)) → 01(+(x, y))
SUM(nil) → 01(#)
PROD(cons(x, l)) → PROD(l)
*1(0(x), y) → 01(*(x, y))
SUM(cons(x, l)) → +1(x, sum(l))
+1(1(x), 1(y)) → +1(x, y)
+1(1(x), 1(y)) → 01(+(+(x, y), 1(#)))
+1(0(x), 0(y)) → +1(x, y)
*1(1(x), y) → +1(0(*(x, y)), y)
+1(0(x), 1(y)) → +1(x, y)
+1(1(x), 0(y)) → +1(x, y)
*1(1(x), y) → 01(*(x, y))
SUM(cons(x, l)) → SUM(l)
+1(1(x), 1(y)) → +1(+(x, y), 1(#))
PROD(cons(x, l)) → *1(x, prod(l))
*1(0(x), y) → *1(x, y)
*1(1(x), y) → *1(x, y)
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
+1(0(x), 0(y)) → +1(x, y)
+1(1(x), 0(y)) → +1(x, y)
+1(0(x), 1(y)) → +1(x, y)
+1(1(x), 1(y)) → +1(x, y)
+1(1(x), 1(y)) → +1(+(x, y), 1(#))
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+1(0(x), 0(y)) → +1(x, y)
+1(1(x), 0(y)) → +1(x, y)
+1(0(x), 1(y)) → +1(x, y)
+1(1(x), 1(y)) → +1(x, y)
Used ordering: Polynomial interpretation [25,35]:
+1(1(x), 1(y)) → +1(+(x, y), 1(#))
The value of delta used in the strict ordering is 1.
POL(1(x1)) = 4 + x_1
POL(0(x1)) = 1 + (4)x_1
POL(+1(x1, x2)) = x_2
POL(+(x1, x2)) = 0
POL(#) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
+1(1(x), 1(y)) → +1(+(x, y), 1(#))
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+1(1(x), 1(y)) → +1(+(x, y), 1(#))
The value of delta used in the strict ordering is 4.
POL(1(x1)) = 4 + x_1
POL(0(x1)) = 2 + x_1
POL(+1(x1, x2)) = (2)x_1 + (4)x_2
POL(+(x1, x2)) = x_1 + (2)x_2
POL(#) = 1
+(x, #) → x
0(#) → #
+(0(x), 0(y)) → 0(+(x, y))
+(#, x) → x
+(1(x), 0(y)) → 1(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
SUM(cons(x, l)) → SUM(l)
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SUM(cons(x, l)) → SUM(l)
The value of delta used in the strict ordering is 4.
POL(cons(x1, x2)) = 1 + (4)x_2
POL(SUM(x1)) = (4)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
*1(0(x), y) → *1(x, y)
*1(1(x), y) → *1(x, y)
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
*1(0(x), y) → *1(x, y)
*1(1(x), y) → *1(x, y)
The value of delta used in the strict ordering is 16.
POL(1(x1)) = 4 + x_1
POL(*1(x1, x2)) = (4)x_1
POL(0(x1)) = 4 + (4)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
PROD(cons(x, l)) → PROD(l)
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROD(cons(x, l)) → PROD(l)
The value of delta used in the strict ordering is 4.
POL(cons(x1, x2)) = 1 + (4)x_2
POL(PROD(x1)) = (4)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
0(#) → #
+(x, #) → x
+(#, x) → x
+(0(x), 0(y)) → 0(+(x, y))
+(0(x), 1(y)) → 1(+(x, y))
+(1(x), 0(y)) → 1(+(x, y))
+(1(x), 1(y)) → 0(+(+(x, y), 1(#)))
*(#, x) → #
*(0(x), y) → 0(*(x, y))
*(1(x), y) → +(0(*(x, y)), y)
sum(nil) → 0(#)
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → 1(#)
prod(cons(x, l)) → *(x, prod(l))