(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
Q is empty.
(1) Overlay + Local Confluence (EQUIVALENT transformation)
The TRS is overlay and locally confluent. By [NOC] we can switch to innermost.
(2) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
The set Q consists of the following terms:
fac(0)
fac(s(x0))
floop(0, x0)
floop(s(x0), x1)
*(x0, 0)
*(x0, s(x1))
+(x0, 0)
+(x0, s(x1))
1
(3) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(4) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FAC(0) → 11
FAC(s(x)) → *1(s(x), fac(x))
FAC(s(x)) → FAC(x)
FLOOP(s(x), y) → FLOOP(x, *(s(x), y))
FLOOP(s(x), y) → *1(s(x), y)
*1(x, s(y)) → +1(*(x, y), x)
*1(x, s(y)) → *1(x, y)
+1(x, s(y)) → +1(x, y)
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
The set Q consists of the following terms:
fac(0)
fac(s(x0))
floop(0, x0)
floop(s(x0), x1)
*(x0, 0)
*(x0, s(x1))
+(x0, 0)
+(x0, s(x1))
1
We have to consider all minimal (P,Q,R)-chains.
(5) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 4 less nodes.
(6) Complex Obligation (AND)
(7) Obligation:
Q DP problem:
The TRS P consists of the following rules:
+1(x, s(y)) → +1(x, y)
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
The set Q consists of the following terms:
fac(0)
fac(s(x0))
floop(0, x0)
floop(s(x0), x1)
*(x0, 0)
*(x0, s(x1))
+(x0, 0)
+(x0, s(x1))
1
We have to consider all minimal (P,Q,R)-chains.
(8) Obligation:
Q DP problem:
The TRS P consists of the following rules:
*1(x, s(y)) → *1(x, y)
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
The set Q consists of the following terms:
fac(0)
fac(s(x0))
floop(0, x0)
floop(s(x0), x1)
*(x0, 0)
*(x0, s(x1))
+(x0, 0)
+(x0, s(x1))
1
We have to consider all minimal (P,Q,R)-chains.
(9) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FLOOP(s(x), y) → FLOOP(x, *(s(x), y))
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
The set Q consists of the following terms:
fac(0)
fac(s(x0))
floop(0, x0)
floop(s(x0), x1)
*(x0, 0)
*(x0, s(x1))
+(x0, 0)
+(x0, s(x1))
1
We have to consider all minimal (P,Q,R)-chains.
(10) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FAC(s(x)) → FAC(x)
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
The set Q consists of the following terms:
fac(0)
fac(s(x0))
floop(0, x0)
floop(s(x0), x1)
*(x0, 0)
*(x0, s(x1))
+(x0, 0)
+(x0, s(x1))
1
We have to consider all minimal (P,Q,R)-chains.