Term Rewriting System R:
[N, X, Y, X1, X2, XS]
fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

Termination of R to be shown.

R
Dependency Pair Analysis

R contains the following Dependency Pairs:

FIB(N) -> SEL(N, fib1(s(0), s(0)))
FIB(N) -> FIB1(s(0), s(0))
SEL(s(N), cons(X, XS)) -> SEL(N, activate(XS))
SEL(s(N), cons(X, XS)) -> ACTIVATE(XS)
ACTIVATE(nfib1(X1, X2)) -> FIB1(activate(X1), activate(X2))
ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X2)

Furthermore, R contains three SCCs.

R
DPs
→DP Problem 1
Remaining Obligation(s)
→DP Problem 2
Remaining Obligation(s)
→DP Problem 3
Remaining Obligation(s)

The following remains to be proven:
• Dependency Pair:

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

• Dependency Pairs:

ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X2)
ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X1)

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

• Dependency Pair:

SEL(s(N), cons(X, XS)) -> SEL(N, activate(XS))

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

R
DPs
→DP Problem 1
Remaining Obligation(s)
→DP Problem 2
Remaining Obligation(s)
→DP Problem 3
Remaining Obligation(s)

The following remains to be proven:
• Dependency Pair:

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

• Dependency Pairs:

ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X2)
ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X1)

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

• Dependency Pair:

SEL(s(N), cons(X, XS)) -> SEL(N, activate(XS))

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

R
DPs
→DP Problem 1
Remaining Obligation(s)
→DP Problem 2
Remaining Obligation(s)
→DP Problem 3
Remaining Obligation(s)

The following remains to be proven:
• Dependency Pair:

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

• Dependency Pairs:

ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X2)
ACTIVATE(nfib1(X1, X2)) -> ACTIVATE(X1)

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)
sel(0, cons(X, XS)) -> X
sel(s(N), cons(X, XS)) -> sel(N, activate(XS))
activate(nfib1(X1, X2)) -> fib1(activate(X1), activate(X2))
activate(X) -> X

• Dependency Pair:

SEL(s(N), cons(X, XS)) -> SEL(N, activate(XS))

Rules:

fib(N) -> sel(N, fib1(s(0), s(0)))
fib1(X, Y) -> cons(X, nfib1(Y, nadd(X, Y)))
fib1(X1, X2) -> nfib1(X1, X2)