p(0) → 0
p(s(X)) → X
leq(0, Y) → true
leq(s(X), 0) → false
leq(s(X), s(Y)) → leq(X, Y)
if(true, X, Y) → X
if(false, X, Y) → Y
diff(X, Y) → if(leq(X, Y), 0, s(diff(p(X), Y)))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
p(0) → 0
p(s(X)) → X
leq(0, Y) → true
leq(s(X), 0) → false
leq(s(X), s(Y)) → leq(X, Y)
if(true, X, Y) → X
if(false, X, Y) → Y
diff(X, Y) → if(leq(X, Y), 0, s(diff(p(X), Y)))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
DIFF(X, Y) → DIFF(p(X), Y)
LEQ(s(X), s(Y)) → LEQ(X, Y)
DIFF(X, Y) → P(X)
DIFF(X, Y) → LEQ(X, Y)
DIFF(X, Y) → IF(leq(X, Y), 0, s(diff(p(X), Y)))
p(0) → 0
p(s(X)) → X
leq(0, Y) → true
leq(s(X), 0) → false
leq(s(X), s(Y)) → leq(X, Y)
if(true, X, Y) → X
if(false, X, Y) → Y
diff(X, Y) → if(leq(X, Y), 0, s(diff(p(X), Y)))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
DIFF(X, Y) → DIFF(p(X), Y)
LEQ(s(X), s(Y)) → LEQ(X, Y)
DIFF(X, Y) → P(X)
DIFF(X, Y) → LEQ(X, Y)
DIFF(X, Y) → IF(leq(X, Y), 0, s(diff(p(X), Y)))
p(0) → 0
p(s(X)) → X
leq(0, Y) → true
leq(s(X), 0) → false
leq(s(X), s(Y)) → leq(X, Y)
if(true, X, Y) → X
if(false, X, Y) → Y
diff(X, Y) → if(leq(X, Y), 0, s(diff(p(X), Y)))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
LEQ(s(X), s(Y)) → LEQ(X, Y)
p(0) → 0
p(s(X)) → X
leq(0, Y) → true
leq(s(X), 0) → false
leq(s(X), s(Y)) → leq(X, Y)
if(true, X, Y) → X
if(false, X, Y) → Y
diff(X, Y) → if(leq(X, Y), 0, s(diff(p(X), Y)))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
LEQ(s(X), s(Y)) → LEQ(X, Y)
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
LEQ(s(X), s(Y)) → LEQ(X, Y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0
p(s(X)) → X
leq(0, Y) → true
leq(s(X), 0) → false
leq(s(X), s(Y)) → leq(X, Y)
if(true, X, Y) → X
if(false, X, Y) → Y
diff(X, Y) → if(leq(X, Y), 0, s(diff(p(X), Y)))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0
p(s(X)) → X
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
p(s(x0))
p(0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
if(true, x0, x1)
leq(s(x0), 0)
leq(0, x0)
diff(x0, x1)
if(false, x0, x1)
leq(s(x0), s(x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0
p(s(X)) → X
p(s(x0))
p(0)
Used ordering: POLO with Polynomial interpretation [25]:
p(s(X)) → X
POL(0) = 0
POL(DIFF(x1, x2)) = 2·x1 + x2
POL(p(x1)) = x1
POL(s(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QReductionProof
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0
p(s(x0))
p(0)
p(s(x0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0
p(0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ QDP
↳ NonTerminationProof
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0
DIFF(X, Y) → DIFF(p(X), Y)
p(0) → 0