0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 PisEmptyProof (⇔)
↳16 TRUE
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
DOUBLE(s(x)) → DOUBLE(x)
+1(x, s(y)) → +1(x, y)
+1(s(x), y) → +1(x, y)
DOUBLE(x) → +1(x, x)
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
+1(s(x), y) → +1(x, y)
+1(x, s(y)) → +1(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+1(s(x), y) → +1(x, y)
+^11 > s1
double1 > +2 > s1
0 > s1
+^11: multiset
s1: [1]
double1: multiset
0: multiset
+2: [1,2]
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
+1(x, s(y)) → +1(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+1(x, s(y)) → +1(x, y)
[double1, 0] > +2 > [+^12, s1]
+^12: multiset
s1: multiset
double1: [1]
0: multiset
+2: [2,1]
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
DOUBLE(s(x)) → DOUBLE(x)
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DOUBLE(s(x)) → DOUBLE(x)
double1 > 0
double1 > +2 > [DOUBLE1, s1]
DOUBLE1: multiset
s1: multiset
double1: [1]
0: multiset
+2: [1,2]
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)
double(0) → 0
double(s(x)) → s(s(double(x)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
+(s(x), y) → s(+(x, y))
double(x) → +(x, x)