Term Rewriting System R:
[x, y]
fib(0) -> 0
fib(s(0)) -> s(0)
fib(s(s(0))) -> s(0)
fib(s(s(x))) -> sp(g(x))
g(0) -> pair(s(0), 0)
g(s(0)) -> pair(s(0), s(0))
g(s(x)) -> np(g(x))
sp(pair(x, y)) -> +(x, y)
np(pair(x, y)) -> pair(+(x, y), x)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))

Termination of R to be shown.

R
Dependency Pair Analysis

R contains the following Dependency Pairs:

FIB(s(s(x))) -> SP(g(x))
FIB(s(s(x))) -> G(x)
G(s(x)) -> NP(g(x))
G(s(x)) -> G(x)
SP(pair(x, y)) -> +'(x, y)
NP(pair(x, y)) -> +'(x, y)
+'(x, s(y)) -> +'(x, y)

Furthermore, R contains two SCCs.

R
DPs
→DP Problem 1
Polynomial Ordering
→DP Problem 2
Polo

Dependency Pair:

+'(x, s(y)) -> +'(x, y)

Rules:

fib(0) -> 0
fib(s(0)) -> s(0)
fib(s(s(0))) -> s(0)
fib(s(s(x))) -> sp(g(x))
g(0) -> pair(s(0), 0)
g(s(0)) -> pair(s(0), s(0))
g(s(x)) -> np(g(x))
sp(pair(x, y)) -> +(x, y)
np(pair(x, y)) -> pair(+(x, y), x)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))

The following dependency pair can be strictly oriented:

+'(x, s(y)) -> +'(x, y)

There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(s(x1)) =  1 + x1 POL(+'(x1, x2)) =  x2

resulting in one new DP problem.

R
DPs
→DP Problem 1
Polo
→DP Problem 3
Dependency Graph
→DP Problem 2
Polo

Dependency Pair:

Rules:

fib(0) -> 0
fib(s(0)) -> s(0)
fib(s(s(0))) -> s(0)
fib(s(s(x))) -> sp(g(x))
g(0) -> pair(s(0), 0)
g(s(0)) -> pair(s(0), s(0))
g(s(x)) -> np(g(x))
sp(pair(x, y)) -> +(x, y)
np(pair(x, y)) -> pair(+(x, y), x)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))

Using the Dependency Graph resulted in no new DP problems.

R
DPs
→DP Problem 1
Polo
→DP Problem 2
Polynomial Ordering

Dependency Pair:

G(s(x)) -> G(x)

Rules:

fib(0) -> 0
fib(s(0)) -> s(0)
fib(s(s(0))) -> s(0)
fib(s(s(x))) -> sp(g(x))
g(0) -> pair(s(0), 0)
g(s(0)) -> pair(s(0), s(0))
g(s(x)) -> np(g(x))
sp(pair(x, y)) -> +(x, y)
np(pair(x, y)) -> pair(+(x, y), x)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))

The following dependency pair can be strictly oriented:

G(s(x)) -> G(x)

There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(G(x1)) =  x1 POL(s(x1)) =  1 + x1

resulting in one new DP problem.

R
DPs
→DP Problem 1
Polo
→DP Problem 2
Polo
→DP Problem 4
Dependency Graph

Dependency Pair:

Rules:

fib(0) -> 0
fib(s(0)) -> s(0)
fib(s(s(0))) -> s(0)
fib(s(s(x))) -> sp(g(x))
g(0) -> pair(s(0), 0)
g(s(0)) -> pair(s(0), s(0))
g(s(x)) -> np(g(x))
sp(pair(x, y)) -> +(x, y)
np(pair(x, y)) -> pair(+(x, y), x)
+(x, 0) -> x
+(x, s(y)) -> s(+(x, y))

Using the Dependency Graph resulted in no new DP problems.

Termination of R successfully shown.
Duration:
0:00 minutes