and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
FIRST(s(X), cons(Y, Z)) → FIRST(X, Z)
ADD(s(X), Y) → ADD(X, Y)
FROM(X) → FROM(s(X))
and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
FIRST(s(X), cons(Y, Z)) → FIRST(X, Z)
ADD(s(X), Y) → ADD(X, Y)
FROM(X) → FROM(s(X))
and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
FROM(X) → FROM(s(X))
and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
FROM(X) → FROM(s(X))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
FROM(X) → FROM(s(X))
FROM(s(z0)) → FROM(s(s(z0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
FROM(s(z0)) → FROM(s(s(z0)))
FROM(s(s(z0))) → FROM(s(s(s(z0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonTerminationProof
↳ QDP
↳ QDP
FROM(s(s(z0))) → FROM(s(s(s(z0))))
FROM(s(s(z0))) → FROM(s(s(s(z0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
FIRST(s(X), cons(Y, Z)) → FIRST(X, Z)
and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
FIRST(s(X), cons(Y, Z)) → FIRST(X, Z)
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
FIRST(s(X), cons(Y, Z)) → FIRST(X, Z)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
ADD(s(X), Y) → ADD(X, Y)
and(true, X) → X
and(false, Y) → false
if(true, X, Y) → X
if(false, X, Y) → Y
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
first(0, X) → nil
first(s(X), cons(Y, Z)) → cons(Y, first(X, Z))
from(X) → cons(X, from(s(X)))
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
ADD(s(X), Y) → ADD(X, Y)
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
from(x0)
first(s(x0), cons(x1, x2))
add(0, x0)
if(true, x0, x1)
and(true, x0)
and(false, x0)
first(0, x0)
add(s(x0), x1)
if(false, x0, x1)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
ADD(s(X), Y) → ADD(X, Y)
From the DPs we obtained the following set of size-change graphs: