(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
(1) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(2) Obligation:
Q DP problem:
The TRS P consists of the following rules:
+1(s(x), s(y)) → +1(x, y)
*1(s(x), s(y)) → +1(*(x, y), +(x, y))
*1(s(x), s(y)) → *1(x, y)
*1(s(x), s(y)) → +1(x, y)
SUM(cons(x, l)) → +1(x, sum(l))
SUM(cons(x, l)) → SUM(l)
PROD(cons(x, l)) → *1(x, prod(l))
PROD(cons(x, l)) → PROD(l)
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(3) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 4 less nodes.
(4) Complex Obligation (AND)
(5) Obligation:
Q DP problem:
The TRS P consists of the following rules:
+1(s(x), s(y)) → +1(x, y)
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(6) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
+1(s(x), s(y)) → +1(x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
+1(
x0,
x1,
x2) =
+1(
x0,
x1,
x2)
Tags:
+1 has argument tags [2,1,1] and root tag 0
Comparison: DMS
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
+1(
x1,
x2) =
+1
s(
x1) =
s(
x1)
Recursive path order with status [RPO].
Quasi-Precedence:
trivial
Status:
+^1: []
s1: multiset
The following usable rules [FROCOS05] were oriented:
none
(7) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(8) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(9) TRUE
(10) Obligation:
Q DP problem:
The TRS P consists of the following rules:
SUM(cons(x, l)) → SUM(l)
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(11) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
SUM(cons(x, l)) → SUM(l)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
SUM(
x0,
x1) =
SUM(
x0,
x1)
Tags:
SUM has argument tags [1,1] and root tag 0
Comparison: MS
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
SUM(
x1) =
SUM
cons(
x1,
x2) =
cons(
x1,
x2)
Recursive path order with status [RPO].
Quasi-Precedence:
[SUM, cons2]
Status:
SUM: []
cons2: multiset
The following usable rules [FROCOS05] were oriented:
none
(12) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(13) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(14) TRUE
(15) Obligation:
Q DP problem:
The TRS P consists of the following rules:
*1(s(x), s(y)) → *1(x, y)
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(16) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
*1(s(x), s(y)) → *1(x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
*1(
x0,
x1,
x2) =
*1(
x0,
x1,
x2)
Tags:
*1 has argument tags [2,1,1] and root tag 0
Comparison: DMS
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
*1(
x1,
x2) =
*1
s(
x1) =
s(
x1)
Recursive path order with status [RPO].
Quasi-Precedence:
trivial
Status:
*^1: []
s1: multiset
The following usable rules [FROCOS05] were oriented:
none
(17) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(18) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(19) TRUE
(20) Obligation:
Q DP problem:
The TRS P consists of the following rules:
PROD(cons(x, l)) → PROD(l)
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(21) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
PROD(cons(x, l)) → PROD(l)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
PROD(
x0,
x1) =
PROD(
x0,
x1)
Tags:
PROD has argument tags [1,1] and root tag 0
Comparison: MS
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
PROD(
x1) =
PROD
cons(
x1,
x2) =
cons(
x1,
x2)
Recursive path order with status [RPO].
Quasi-Precedence:
[PROD, cons2]
Status:
PROD: []
cons2: multiset
The following usable rules [FROCOS05] were oriented:
none
(22) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
+(x, 0) → x
+(0, x) → x
+(s(x), s(y)) → s(s(+(x, y)))
*(x, 0) → 0
*(0, x) → 0
*(s(x), s(y)) → s(+(*(x, y), +(x, y)))
sum(nil) → 0
sum(cons(x, l)) → +(x, sum(l))
prod(nil) → s(0)
prod(cons(x, l)) → *(x, prod(l))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(23) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(24) TRUE