fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
FIB1(X, Y) → ADD(X, Y)
FIB(N) → FIB1(s(0), s(0))
FIB1(X, Y) → FIB1(Y, add(X, Y))
SEL(s(N), cons(X, XS)) → SEL(N, XS)
ADD(s(X), Y) → ADD(X, Y)
FIB(N) → SEL(N, fib1(s(0), s(0)))
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
FIB1(X, Y) → ADD(X, Y)
FIB(N) → FIB1(s(0), s(0))
FIB1(X, Y) → FIB1(Y, add(X, Y))
SEL(s(N), cons(X, XS)) → SEL(N, XS)
ADD(s(X), Y) → ADD(X, Y)
FIB(N) → SEL(N, fib1(s(0), s(0)))
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
SEL(s(N), cons(X, XS)) → SEL(N, XS)
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
SEL(s(N), cons(X, XS)) → SEL(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
SEL(s(N), cons(X, XS)) → SEL(N, XS)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
ADD(s(X), Y) → ADD(X, Y)
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
ADD(s(X), Y) → ADD(X, Y)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
ADD(s(X), Y) → ADD(X, Y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
FIB1(X, Y) → FIB1(Y, add(X, Y))
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
FIB1(X, Y) → FIB1(Y, add(X, Y))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
add(0, x0)
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
add(s(x0), x1)
sel(0, cons(x0, x1))
fib(x0)
sel(s(x0), cons(x1, x2))
fib1(x0, x1)
sel(0, cons(x0, x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
FIB1(X, Y) → FIB1(Y, add(X, Y))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
add(0, x0)
add(s(x0), x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ QDP
↳ NonTerminationProof
FIB1(X, Y) → FIB1(Y, add(X, Y))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
FIB1(X, Y) → FIB1(Y, add(X, Y))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))