0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPSizeChangeProof (⇔)
↳7 TRUE
↳8 QDP
↳9 QDPSizeChangeProof (⇔)
↳10 TRUE
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
MINUS(s(x), s(y)) → MINUS(x, y)
DOUBLE(s(x)) → DOUBLE(x)
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
PLUS(s(x), y) → MINUS(x, y)
PLUS(s(x), y) → DOUBLE(y)
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
DOUBLE(s(x)) → DOUBLE(x)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
Order:Homeomorphic Embedding Order
AFS:
s(x1) = s(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
Order:Homeomorphic Embedding Order
AFS:
s(x1) = s(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(x), y) → PLUS(x, y)
PLUS(s(x), y) → PLUS(minus(x, y), double(y))
PLUS(s(plus(x, y)), z) → PLUS(plus(x, y), z)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
Order:Combined order from the following AFS and order.
plus(x1, x2) = plus(x1, x2)
s(x1) = s(x1)
minus(x1, x2) = x1
double(x1) = double(x1)
0 = 0
Recursive path order with status [RPO].
Quasi-Precedence:
plus2 > double1 > s1
0 > s1
plus2: [1,2]
s1: multiset
double1: [1]
0: multiset
AFS:
plus(x1, x2) = plus(x1, x2)
s(x1) = s(x1)
minus(x1, x2) = x1
double(x1) = double(x1)
0 = 0
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
plus(s(x), y) → s(plus(x, y))
plus(s(x), y) → s(plus(minus(x, y), double(y)))
plus(s(x), y) → plus(x, s(y))
plus(s(plus(x, y)), z) → s(plus(plus(x, y), z))
plus(0, y) → y
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
double(s(x)) → s(s(double(x)))
double(0) → 0