YES
The TRS could be proven terminating. The proof took 2350 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (878ms).
| Problem 2 was processed with processor SubtermCriterion (9ms).
| Problem 3 was processed with processor PolynomialLinearRange4iUR (100ms).
| | Problem 7 was processed with processor PolynomialLinearRange4iUR (16ms).
| Problem 4 was processed with processor PolynomialLinearRange4iUR (398ms).
| | Problem 8 was processed with processor PolynomialLinearRange4iUR (187ms).
| | | Problem 10 was processed with processor PolynomialLinearRange4iUR (196ms).
| | | | Problem 12 was processed with processor PolynomialLinearRange4iUR (83ms).
| Problem 5 was processed with processor SubtermCriterion (0ms).
| Problem 6 was processed with processor PolynomialLinearRange4iUR (153ms).
| | Problem 9 was processed with processor PolynomialLinearRange4iUR (102ms).
| | | Problem 11 was processed with processor PolynomialLinearRange4iUR (88ms).
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
+#(O(x), O(y)) | → | O#(+(x, y)) | | BS#(N(x, l, r)) | → | and#(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) |
BS#(N(x, l, r)) | → | ge#(x, Max(l)) | | ge#(I(x), O(y)) | → | ge#(x, y) |
WB#(N(x, l, r)) | → | and#(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) | | Log'#(I(x)) | → | +#(Log'(x), I(0)) |
-#(O(x), O(y)) | → | -#(x, y) | | -#(I(x), I(y)) | → | -#(x, y) |
BS#(N(x, l, r)) | → | BS#(l) | | Log'#(O(x)) | → | ge#(x, I(0)) |
WB#(N(x, l, r)) | → | Size#(r) | | ge#(O(x), I(y)) | → | not#(ge(y, x)) |
WB#(N(x, l, r)) | → | WB#(r) | | +#(O(x), O(y)) | → | +#(x, y) |
+#(I(x), I(y)) | → | O#(+(+(x, y), I(0))) | | Log'#(I(x)) | → | Log'#(x) |
BS#(N(x, l, r)) | → | and#(BS(l), BS(r)) | | Log#(x) | → | Log'#(x) |
WB#(N(x, l, r)) | → | ge#(I(0), -(Size(r), Size(l))) | | WB#(N(x, l, r)) | → | ge#(I(0), -(Size(l), Size(r))) |
Size#(N(x, l, r)) | → | +#(Size(l), Size(r)) | | Size#(N(x, l, r)) | → | +#(+(Size(l), Size(r)), I(1)) |
BS#(N(x, l, r)) | → | Min#(r) | | Log'#(O(x)) | → | Log'#(x) |
Log'#(O(x)) | → | +#(Log'(x), I(0)) | | +#(x, +(y, z)) | → | +#(x, y) |
WB#(N(x, l, r)) | → | Size#(l) | | WB#(N(x, l, r)) | → | and#(WB(l), WB(r)) |
ge#(I(x), I(y)) | → | ge#(x, y) | | ge#(O(x), O(y)) | → | ge#(x, y) |
-#(O(x), I(y)) | → | -#(x, y) | | WB#(N(x, l, r)) | → | -#(Size(r), Size(l)) |
Size#(N(x, l, r)) | → | Size#(l) | | Min#(N(x, l, r)) | → | Min#(l) |
BS#(N(x, l, r)) | → | Max#(l) | | BS#(N(x, l, r)) | → | and#(ge(x, Max(l)), ge(Min(r), x)) |
+#(I(x), I(y)) | → | +#(x, y) | | +#(I(x), O(y)) | → | +#(x, y) |
+#(O(x), I(y)) | → | +#(x, y) | | +#(I(x), I(y)) | → | +#(+(x, y), I(0)) |
WB#(N(x, l, r)) | → | ge#(Size(l), Size(r)) | | ge#(0, O(x)) | → | ge#(0, x) |
-#(I(x), I(y)) | → | O#(-(x, y)) | | Max#(N(x, l, r)) | → | Max#(r) |
-#(I(x), O(y)) | → | -#(x, y) | | WB#(N(x, l, r)) | → | WB#(l) |
Log#(x) | → | -#(Log'(x), I(0)) | | +#(x, +(y, z)) | → | +#(+(x, y), z) |
WB#(N(x, l, r)) | → | if#(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))) | | BS#(N(x, l, r)) | → | BS#(r) |
WB#(N(x, l, r)) | → | -#(Size(l), Size(r)) | | -#(O(x), O(y)) | → | O#(-(x, y)) |
ge#(O(x), I(y)) | → | ge#(y, x) | | BS#(N(x, l, r)) | → | ge#(Min(r), x) |
-#(O(x), I(y)) | → | -#(-(x, y), I(1)) | | Size#(N(x, l, r)) | → | Size#(r) |
Log'#(O(x)) | → | if#(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
The following SCCs where found
+#(I(x), I(y)) → +#(x, y) | +#(I(x), O(y)) → +#(x, y) |
+#(O(x), I(y)) → +#(x, y) | +#(x, +(y, z)) → +#(+(x, y), z) |
+#(I(x), I(y)) → +#(+(x, y), I(0)) | +#(O(x), O(y)) → +#(x, y) |
+#(x, +(y, z)) → +#(x, y) |
Log'#(O(x)) → Log'#(x) | Log'#(I(x)) → Log'#(x) |
-#(I(x), O(y)) → -#(x, y) | -#(O(x), I(y)) → -#(-(x, y), I(1)) |
-#(O(x), O(y)) → -#(x, y) | -#(I(x), I(y)) → -#(x, y) |
-#(O(x), I(y)) → -#(x, y) |
ge#(O(x), I(y)) → ge#(y, x) | ge#(I(x), O(y)) → ge#(x, y) |
ge#(I(x), I(y)) → ge#(x, y) | ge#(O(x), O(y)) → ge#(x, y) |
Problem 2: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
Problem 3: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
ge#(O(x), I(y)) | → | ge#(y, x) | | ge#(I(x), O(y)) | → | ge#(x, y) |
ge#(I(x), I(y)) | → | ge#(x, y) | | ge#(O(x), O(y)) | → | ge#(x, y) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 0
- -(x,y): 0
- 0: 0
- 1: 0
- BS(x): 0
- I(x): 2x
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): x + 1
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- ge#(x,y): y + 2x
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
ge#(O(x), I(y)) | → | ge#(y, x) | | ge#(O(x), O(y)) | → | ge#(x, y) |
ge#(I(x), O(y)) | → | ge#(x, y) |
Problem 7: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
ge#(I(x), I(y)) | → | ge#(x, y) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, WB, 1, Log, 0, r, if, Max, false, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 0
- -(x,y): 0
- 0: 0
- 1: 0
- BS(x): 0
- I(x): 2x + 2
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): 0
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- ge#(x,y): x + 1
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
ge#(I(x), I(y)) | → | ge#(x, y) |
Problem 4: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
+#(I(x), I(y)) | → | +#(x, y) | | +#(I(x), O(y)) | → | +#(x, y) |
+#(O(x), I(y)) | → | +#(x, y) | | +#(x, +(y, z)) | → | +#(+(x, y), z) |
+#(I(x), I(y)) | → | +#(+(x, y), I(0)) | | +#(O(x), O(y)) | → | +#(x, y) |
+#(x, +(y, z)) | → | +#(x, y) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): y + x
- +#(x,y): 2y
- -(x,y): 0
- 0: 0
- 1: 0
- BS(x): 0
- I(x): x
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): 2x + 1
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
+#(I(x), O(y)) | → | +#(x, y) | | +#(O(x), O(y)) | → | +#(x, y) |
Problem 8: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
+#(I(x), I(y)) | → | +#(x, y) | | +#(O(x), I(y)) | → | +#(x, y) |
+#(I(x), I(y)) | → | +#(+(x, y), I(0)) | | +#(x, +(y, z)) | → | +#(+(x, y), z) |
+#(x, +(y, z)) | → | +#(x, y) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, WB, 1, Log, 0, r, if, Max, false, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 2y + x + 1
- +#(x,y): y
- -(x,y): 0
- 0: 0
- 1: 0
- BS(x): 0
- I(x): x
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): x
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
+#(x, +(y, z)) | → | +#(+(x, y), z) | | +#(x, +(y, z)) | → | +#(x, y) |
Problem 10: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
+#(I(x), I(y)) | → | +#(x, y) | | +#(O(x), I(y)) | → | +#(x, y) |
+#(I(x), I(y)) | → | +#(+(x, y), I(0)) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 2x + 1
- +#(x,y): 2y
- -(x,y): 0
- 0: 0
- 1: 0
- BS(x): 0
- I(x): 2x + 1
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): 1
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
+#(I(x), I(y)) | → | +#(x, y) | | +#(O(x), I(y)) | → | +#(x, y) |
Problem 12: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
+#(I(x), I(y)) | → | +#(+(x, y), I(0)) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, WB, 1, Log, 0, r, if, Max, false, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): y + x
- +#(x,y): y + 2x
- -(x,y): 0
- 0: 0
- 1: 0
- BS(x): 0
- I(x): 2x + 1
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): 2x
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
+(x, +(y, z)) | → | +(+(x, y), z) | | O(0) | → | 0 |
+(O(x), O(y)) | → | O(+(x, y)) | | +(I(x), I(y)) | → | O(+(+(x, y), I(0))) |
+(0, x) | → | x | | +(I(x), O(y)) | → | I(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(x, 0) | → | x |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
+#(I(x), I(y)) | → | +#(+(x, y), I(0)) |
Problem 5: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
Log'#(O(x)) | → | Log'#(x) | | Log'#(I(x)) | → | Log'#(x) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
Log'#(O(x)) | → | Log'#(x) | | Log'#(I(x)) | → | Log'#(x) |
Problem 6: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
-#(I(x), O(y)) | → | -#(x, y) | | -#(O(x), I(y)) | → | -#(-(x, y), I(1)) |
-#(O(x), O(y)) | → | -#(x, y) | | -#(I(x), I(y)) | → | -#(x, y) |
-#(O(x), I(y)) | → | -#(x, y) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 0
- -(x,y): 0
- -#(x,y): 2y
- 0: 1
- 1: 0
- BS(x): 0
- I(x): 2x
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): x + 1
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
-#(I(x), O(y)) | → | -#(x, y) | | -#(O(x), O(y)) | → | -#(x, y) |
Problem 9: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
-#(O(x), I(y)) | → | -#(-(x, y), I(1)) | | -#(I(x), I(y)) | → | -#(x, y) |
-#(O(x), I(y)) | → | -#(x, y) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, WB, 1, Log, 0, r, if, Max, false, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 0
- -(x,y): 2y
- -#(x,y): 2y
- 0: 0
- 1: 0
- BS(x): 0
- I(x): x + 1
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): 0
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
-#(I(x), I(y)) | → | -#(x, y) | | -#(O(x), I(y)) | → | -#(x, y) |
Problem 11: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
-#(O(x), I(y)) | → | -#(-(x, y), I(1)) |
Rewrite Rules
O(0) | → | 0 | | +(0, x) | → | x |
+(x, 0) | → | x | | +(O(x), O(y)) | → | O(+(x, y)) |
+(O(x), I(y)) | → | I(+(x, y)) | | +(I(x), O(y)) | → | I(+(x, y)) |
+(I(x), I(y)) | → | O(+(+(x, y), I(0))) | | +(x, +(y, z)) | → | +(+(x, y), z) |
-(x, 0) | → | x | | -(0, x) | → | 0 |
-(O(x), O(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(I(x), O(y)) | → | I(-(x, y)) | | -(I(x), I(y)) | → | O(-(x, y)) |
not(true) | → | false | | not(false) | → | true |
and(x, true) | → | x | | and(x, false) | → | false |
if(true, x, y) | → | x | | if(false, x, y) | → | y |
ge(O(x), O(y)) | → | ge(x, y) | | ge(O(x), I(y)) | → | not(ge(y, x)) |
ge(I(x), O(y)) | → | ge(x, y) | | ge(I(x), I(y)) | → | ge(x, y) |
ge(x, 0) | → | true | | ge(0, O(x)) | → | ge(0, x) |
ge(0, I(x)) | → | false | | Log'(0) | → | 0 |
Log'(I(x)) | → | +(Log'(x), I(0)) | | Log'(O(x)) | → | if(ge(x, I(0)), +(Log'(x), I(0)), 0) |
Log(x) | → | -(Log'(x), I(0)) | | Val(L(x)) | → | x |
Val(N(x, l, r)) | → | x | | Min(L(x)) | → | x |
Min(N(x, l, r)) | → | Min(l) | | Max(L(x)) | → | x |
Max(N(x, l, r)) | → | Max(r) | | BS(L(x)) | → | true |
BS(N(x, l, r)) | → | and(and(ge(x, Max(l)), ge(Min(r), x)), and(BS(l), BS(r))) | | Size(L(x)) | → | I(0) |
Size(N(x, l, r)) | → | +(+(Size(l), Size(r)), I(1)) | | WB(L(x)) | → | true |
WB(N(x, l, r)) | → | and(if(ge(Size(l), Size(r)), ge(I(0), -(Size(l), Size(r))), ge(I(0), -(Size(r), Size(l)))), and(WB(l), WB(r))) |
Original Signature
Termination of terms over the following signature is verified: BS, L, +, true, Log', N, l, ge, O, I, -, and, not, 1, WB, 0, Log, r, if, false, Max, Val, Min, Size
Strategy
Polynomial Interpretation
- +(x,y): 0
- -(x,y): x
- -#(x,y): 2x
- 0: 0
- 1: 0
- BS(x): 0
- I(x): 2x + 1
- L(x): 0
- Log(x): 0
- Log'(x): 0
- Max(x): 0
- Min(x): 0
- N(x,y,z): 0
- O(x): 2x + 1
- Size(x): 0
- Val(x): 0
- WB(x): 0
- and(x,y): 0
- false: 0
- ge(x,y): 0
- if(x,y,z): 0
- l: 0
- not(x): 0
- r: 0
- true: 0
Improved Usable rules
-(I(x), I(y)) | → | O(-(x, y)) | | -(O(x), I(y)) | → | I(-(-(x, y), I(1))) |
-(x, 0) | → | x | | O(0) | → | 0 |
-(I(x), O(y)) | → | I(-(x, y)) | | -(O(x), O(y)) | → | O(-(x, y)) |
-(0, x) | → | 0 |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
-#(O(x), I(y)) | → | -#(-(x, y), I(1)) |