Tool CaT
Execution Time | Unknown |
---|
Answer | MAYBE |
---|
Input | SK90 4.28 |
---|
stdout:
MAYBE
Problem:
f(x,nil()) -> g(nil(),x)
f(x,g(y,z)) -> g(f(x,y),z)
++(x,nil()) -> x
++(x,g(y,z)) -> g(++(x,y),z)
null(nil()) -> true()
null(g(x,y)) -> false()
mem(nil(),y) -> false()
mem(g(x,y),z) -> or(=(y,z),mem(x,z))
mem(x,max(x)) -> not(null(x))
max(g(g(nil(),x),y)) -> max'(x,y)
max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u())
Proof:
OpenTool IRC1
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
Tool IRC2
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
Proof Output:
'wdg' proved the best result:
Details:
--------
'wdg' succeeded with the following output:
'wdg'
-----
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
Proof Output:
Transformation Details:
-----------------------
We have computed the following set of weak (innermost) dependency pairs:
{ 1: f^#(x, nil()) -> c_0()
, 2: f^#(x, g(y, z)) -> c_1(f^#(x, y))
, 3: ++^#(x, nil()) -> c_2()
, 4: ++^#(x, g(y, z)) -> c_3(++^#(x, y))
, 5: null^#(nil()) -> c_4()
, 6: null^#(g(x, y)) -> c_5()
, 7: mem^#(nil(), y) -> c_6()
, 8: mem^#(g(x, y), z) -> c_7(mem^#(x, z))
, 9: mem^#(x, max(x)) -> c_8(null^#(x))
, 10: max^#(g(g(nil(), x), y)) -> c_9()
, 11: max^#(g(g(g(x, y), z), u())) -> c_10(max^#(g(g(x, y), z)))}
Following Dependency Graph (modulo SCCs) was computed. (Answers to
subproofs are indicated to the right.)
->{11} [ YES(?,O(n^1)) ]
|
`->{10} [ YES(?,O(1)) ]
->{8} [ YES(?,O(n^1)) ]
|
|->{7} [ YES(?,O(n^1)) ]
|
`->{9} [ YES(?,O(n^1)) ]
|
|->{5} [ YES(?,O(n^1)) ]
|
`->{6} [ YES(?,O(n^1)) ]
->{4} [ YES(?,O(n^1)) ]
|
`->{3} [ YES(?,O(n^1)) ]
->{2} [ YES(?,O(n^1)) ]
|
`->{1} [ YES(?,O(n^1)) ]
Sub-problems:
-------------
* Path {2}: YES(?,O(n^1))
-----------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {1}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [3] x1 + [3] x2 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {f^#(x, g(y, z)) -> c_1(f^#(x, y))}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(f^#) = {}, Uargs(c_1) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [0] x2 + [4]
f^#(x1, x2) = [7] x1 + [2] x2 + [0]
c_1(x1) = [1] x1 + [7]
* Path {2}->{1}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {1}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {f^#(x, nil()) -> c_0()}
Weak Rules: {f^#(x, g(y, z)) -> c_1(f^#(x, y))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(f^#) = {}, Uargs(c_1) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [2]
g(x1, x2) = [1] x1 + [0] x2 + [2]
f^#(x1, x2) = [7] x1 + [2] x2 + [4]
c_0() = [1]
c_1(x1) = [1] x1 + [4]
* Path {4}: YES(?,O(n^1))
-----------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {1},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [3] x1 + [3] x2 + [0]
c_2() = [0]
c_3(x1) = [1] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {++^#(x, g(y, z)) -> c_3(++^#(x, y))}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(++^#) = {}, Uargs(c_3) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [0] x2 + [4]
++^#(x1, x2) = [7] x1 + [2] x2 + [0]
c_3(x1) = [1] x1 + [7]
* Path {4}->{3}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {1},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [1] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {++^#(x, nil()) -> c_2()}
Weak Rules: {++^#(x, g(y, z)) -> c_3(++^#(x, y))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(++^#) = {}, Uargs(c_3) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [2]
g(x1, x2) = [1] x1 + [0] x2 + [2]
++^#(x1, x2) = [7] x1 + [2] x2 + [4]
c_2() = [1]
c_3(x1) = [1] x1 + [4]
* Path {8}: YES(?,O(n^1))
-----------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [3] x1 + [1] x2 + [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {mem^#(g(x, y), z) -> c_7(mem^#(x, z))}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [0] x2 + [4]
mem^#(x1, x2) = [2] x1 + [7] x2 + [0]
c_7(x1) = [1] x1 + [7]
* Path {8}->{7}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {mem^#(nil(), y) -> c_6()}
Weak Rules: {mem^#(g(x, y), z) -> c_7(mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [2]
g(x1, x2) = [1] x1 + [0] x2 + [2]
mem^#(x1, x2) = [6] x1 + [7] x2 + [0]
c_6() = [1]
c_7(x1) = [1] x1 + [7]
* Path {8}->{9}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [2] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [3] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [1] x1 + [3] x2 + [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [2] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {mem^#(x, max(x)) -> c_8(null^#(x))}
Weak Rules: {mem^#(g(x, y), z) -> c_7(mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {1}, Uargs(c_8) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [0] x2 + [2]
max(x1) = [2] x1 + [2]
null^#(x1) = [0] x1 + [2]
mem^#(x1, x2) = [3] x1 + [3] x2 + [2]
c_7(x1) = [1] x1 + [6]
c_8(x1) = [2] x1 + [3]
* Path {8}->{9}->{5}: YES(?,O(n^1))
---------------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1},
Uargs(c_8) = {1}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [1] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {null^#(nil()) -> c_4()}
Weak Rules:
{ mem^#(x, max(x)) -> c_8(null^#(x))
, mem^#(g(x, y), z) -> c_7(mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {1}, Uargs(c_8) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [2]
g(x1, x2) = [1] x1 + [0] x2 + [0]
max(x1) = [2] x1 + [0]
null^#(x1) = [2] x1 + [4]
c_4() = [1]
mem^#(x1, x2) = [4] x1 + [2] x2 + [4]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [1] x1 + [0]
* Path {8}->{9}->{6}: YES(?,O(n^1))
---------------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {1},
Uargs(c_8) = {1}, Uargs(max^#) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [1] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {null^#(g(x, y)) -> c_5()}
Weak Rules:
{ mem^#(x, max(x)) -> c_8(null^#(x))
, mem^#(g(x, y), z) -> c_7(mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {1}, Uargs(c_8) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [0] x2 + [2]
max(x1) = [2] x1 + [2]
null^#(x1) = [2] x1 + [4]
c_5() = [1]
mem^#(x1, x2) = [2] x1 + [6] x2 + [0]
c_7(x1) = [1] x1 + [3]
c_8(x1) = [2] x1 + [0]
* Path {11}: YES(?,O(n^1))
------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [3] x1 + [0]
c_9() = [0]
c_10(x1) = [1] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules:
{max^#(g(g(g(x, y), z), u())) -> c_10(max^#(g(g(x, y), z)))}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max^#) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [0]
u() = [1]
max^#(x1) = [2] x1 + [0]
c_10(x1) = [1] x1 + [1]
* Path {11}->{10}: YES(?,O(1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_1) = {}, Uargs(++^#) = {}, Uargs(c_3) = {},
Uargs(null^#) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {},
Uargs(c_8) = {}, Uargs(max^#) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9() = [0]
c_10(x1) = [1] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {max^#(g(g(nil(), x), y)) -> c_9()}
Weak Rules:
{max^#(g(g(g(x, y), z), u())) -> c_10(max^#(g(g(x, y), z)))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max^#) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [2]
u() = [0]
max^#(x1) = [2] x1 + [0]
c_9() = [1]
c_10(x1) = [1] x1 + [0]Tool RC1
Execution Time | Unknown |
---|
Answer | MAYBE |
---|
Input | SK90 4.28 |
---|
stdout:
MAYBE
Tool RC2
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer: YES(?,O(n^1))
Input Problem: runtime-complexity with respect to
Rules:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
Proof Output:
'wdg' proved the best result:
Details:
--------
'wdg' succeeded with the following output:
'wdg'
-----
Answer: YES(?,O(n^1))
Input Problem: runtime-complexity with respect to
Rules:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
Proof Output:
Transformation Details:
-----------------------
We have computed the following set of weak (innermost) dependency pairs:
{ 1: f^#(x, nil()) -> c_0(x)
, 2: f^#(x, g(y, z)) -> c_1(f^#(x, y), z)
, 3: ++^#(x, nil()) -> c_2(x)
, 4: ++^#(x, g(y, z)) -> c_3(++^#(x, y), z)
, 5: null^#(nil()) -> c_4()
, 6: null^#(g(x, y)) -> c_5()
, 7: mem^#(nil(), y) -> c_6()
, 8: mem^#(g(x, y), z) -> c_7(y, z, mem^#(x, z))
, 9: mem^#(x, max(x)) -> c_8(null^#(x))
, 10: max^#(g(g(nil(), x), y)) -> c_9(x, y)
, 11: max^#(g(g(g(x, y), z), u())) -> c_10(max^#(g(g(x, y), z)))}
Following Dependency Graph (modulo SCCs) was computed. (Answers to
subproofs are indicated to the right.)
->{11} [ YES(?,O(n^1)) ]
|
`->{10} [ YES(?,O(n^1)) ]
->{8} [ YES(?,O(n^1)) ]
|
|->{7} [ YES(?,O(n^1)) ]
|
`->{9} [ YES(?,O(n^1)) ]
|
|->{5} [ YES(?,O(n^1)) ]
|
`->{6} [ YES(?,O(n^1)) ]
->{4} [ YES(?,O(n^1)) ]
|
`->{3} [ YES(?,O(n^1)) ]
->{2} [ YES(?,O(n^1)) ]
|
`->{1} [ YES(?,O(n^1)) ]
Sub-problems:
-------------
* Path {2}: YES(?,O(n^1))
-----------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {1}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [3] x1 + [3] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [1] x1 + [1] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {f^#(x, g(y, z)) -> c_1(f^#(x, y), z)}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(f^#) = {}, Uargs(c_1) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [4]
f^#(x1, x2) = [7] x1 + [2] x2 + [0]
c_1(x1, x2) = [1] x1 + [0] x2 + [7]
* Path {2}->{1}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {1}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [3] x1 + [0] x2 + [0]
c_0(x1) = [1] x1 + [0]
c_1(x1, x2) = [1] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {f^#(x, nil()) -> c_0(x)}
Weak Rules: {f^#(x, g(y, z)) -> c_1(f^#(x, y), z)}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(f^#) = {}, Uargs(c_0) = {}, Uargs(c_1) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [2]
f^#(x1, x2) = [7] x1 + [2] x2 + [1]
c_0(x1) = [1] x1 + [0]
c_1(x1, x2) = [1] x1 + [0] x2 + [1]
* Path {4}: YES(?,O(n^1))
-----------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {1}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [3] x1 + [3] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [1] x1 + [1] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {++^#(x, g(y, z)) -> c_3(++^#(x, y), z)}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(++^#) = {}, Uargs(c_3) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [4]
++^#(x1, x2) = [7] x1 + [2] x2 + [0]
c_3(x1, x2) = [1] x1 + [0] x2 + [7]
* Path {4}->{3}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {1}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [3] x1 + [0] x2 + [0]
c_2(x1) = [1] x1 + [0]
c_3(x1, x2) = [1] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {++^#(x, nil()) -> c_2(x)}
Weak Rules: {++^#(x, g(y, z)) -> c_3(++^#(x, y), z)}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(++^#) = {}, Uargs(c_2) = {}, Uargs(c_3) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [2]
++^#(x1, x2) = [7] x1 + [2] x2 + [1]
c_2(x1) = [1] x1 + [0]
c_3(x1, x2) = [1] x1 + [0] x2 + [1]
* Path {8}: YES(?,O(n^1))
-----------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [3] x1 + [3] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [1] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {mem^#(g(x, y), z) -> c_7(y, z, mem^#(x, z))}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {3}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [2]
mem^#(x1, x2) = [6] x1 + [7] x2 + [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [3]
* Path {8}->{7}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {mem^#(nil(), y) -> c_6()}
Weak Rules: {mem^#(g(x, y), z) -> c_7(y, z, mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(mem^#) = {}, Uargs(c_7) = {3}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [2]
g(x1, x2) = [1] x1 + [1] x2 + [2]
mem^#(x1, x2) = [2] x1 + [7] x2 + [4]
c_6() = [1]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [3]
* Path {8}->{9}: YES(?,O(n^1))
----------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [2] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [3] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [1] x1 + [3] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [2] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {mem^#(x, max(x)) -> c_8(null^#(x))}
Weak Rules: {mem^#(g(x, y), z) -> c_7(y, z, mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [2]
max(x1) = [0] x1 + [2]
null^#(x1) = [2] x1 + [0]
mem^#(x1, x2) = [6] x1 + [2] x2 + [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [3]
c_8(x1) = [2] x1 + [3]
* Path {8}->{9}->{5}: YES(?,O(n^1))
---------------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {1},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [1] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {null^#(nil()) -> c_4()}
Weak Rules:
{ mem^#(x, max(x)) -> c_8(null^#(x))
, mem^#(g(x, y), z) -> c_7(y, z, mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [2]
g(x1, x2) = [1] x1 + [1] x2 + [0]
max(x1) = [0] x1 + [2]
null^#(x1) = [2] x1 + [4]
c_4() = [1]
mem^#(x1, x2) = [4] x1 + [6] x2 + [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [2] x1 + [3]
* Path {8}->{9}->{6}: YES(?,O(n^1))
---------------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {1},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [1] x1 + [0]
max^#(x1) = [0] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [0] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {null^#(g(x, y)) -> c_5()}
Weak Rules:
{ mem^#(x, max(x)) -> c_8(null^#(x))
, mem^#(g(x, y), z) -> c_7(y, z, mem^#(x, z))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {3}, Uargs(c_8) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [2]
max(x1) = [2] x1 + [2]
null^#(x1) = [2] x1 + [4]
c_5() = [1]
mem^#(x1, x2) = [2] x1 + [6] x2 + [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [1] x3 + [0]
c_8(x1) = [2] x1 + [3]
* Path {11}: YES(?,O(n^1))
------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [3] x1 + [0]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [1] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(n^1))
Input Problem: DP runtime-complexity with respect to
Strict Rules:
{max^#(g(g(g(x, y), z), u())) -> c_10(max^#(g(g(x, y), z)))}
Weak Rules: {}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max^#) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
g(x1, x2) = [1] x1 + [1] x2 + [0]
u() = [1]
max^#(x1) = [2] x1 + [0]
c_10(x1) = [1] x1 + [1]
* Path {11}->{10}: YES(?,O(n^1))
------------------------------
The usable rules of this path are empty.
The weightgap principle applies, using the following adequate RMI:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {}, Uargs(max') = {}, Uargs(f^#) = {},
Uargs(c_0) = {}, Uargs(c_1) = {}, Uargs(++^#) = {},
Uargs(c_2) = {}, Uargs(c_3) = {}, Uargs(null^#) = {},
Uargs(mem^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
Uargs(max^#) = {}, Uargs(c_9) = {}, Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
f(x1, x2) = [0] x1 + [0] x2 + [0]
nil() = [0]
g(x1, x2) = [1] x1 + [1] x2 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
null(x1) = [0] x1 + [0]
true() = [0]
false() = [0]
mem(x1, x2) = [0] x1 + [0] x2 + [0]
or(x1, x2) = [0] x1 + [0] x2 + [0]
=(x1, x2) = [0] x1 + [0] x2 + [0]
max(x1) = [0] x1 + [0]
not(x1) = [0] x1 + [0]
max'(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
f^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_0(x1) = [0] x1 + [0]
c_1(x1, x2) = [0] x1 + [0] x2 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_2(x1) = [0] x1 + [0]
c_3(x1, x2) = [0] x1 + [0] x2 + [0]
null^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5() = [0]
mem^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_6() = [0]
c_7(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
c_8(x1) = [0] x1 + [0]
max^#(x1) = [3] x1 + [0]
c_9(x1, x2) = [1] x1 + [1] x2 + [0]
c_10(x1) = [1] x1 + [0]
We apply the sub-processor on the resulting sub-problem:
'matrix-interpretation of dimension 1'
--------------------------------------
Answer: YES(?,O(1))
Input Problem: DP runtime-complexity with respect to
Strict Rules: {max^#(g(g(nil(), x), y)) -> c_9(x, y)}
Weak Rules:
{max^#(g(g(g(x, y), z), u())) -> c_10(max^#(g(g(x, y), z)))}
Proof Output:
The following argument positions are usable:
Uargs(g) = {}, Uargs(max^#) = {}, Uargs(c_9) = {},
Uargs(c_10) = {1}
We have the following constructor-restricted matrix interpretation:
Interpretation Functions:
nil() = [0]
g(x1, x2) = [0] x1 + [0] x2 + [0]
u() = [0]
max^#(x1) = [0] x1 + [1]
c_9(x1, x2) = [0] x1 + [0] x2 + [0]
c_10(x1) = [1] x1 + [0]Tool pair1rc
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
Certificate: YES(?,O(n^1))
Application of 'pair1 (timeout of 60.0 seconds)':
-------------------------------------------------
The processor is not applicable, reason is:
Input problem is not restricted to innermost rewriting
We abort the transformation and continue with the subprocessor on the problem
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
1) 'Fastest' proved the goal fastest:
'Sequentially' proved the goal fastest:
'Fastest' succeeded:
'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {1}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {2}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {1}, Uargs(max') = {1}
We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
Interpretation Functions:
f(x1, x2) = [1 1] x1 + [2 0] x2 + [0]
[1 2] [0 0] [0]
nil() = [2]
[0]
g(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
++(x1, x2) = [1 2] x1 + [2 0] x2 + [0]
[2 2] [0 0] [0]
null(x1) = [0 0] x1 + [1]
[0 0] [0]
true() = [0]
[0]
false() = [0]
[0]
mem(x1, x2) = [2 0] x1 + [2 2] x2 + [0]
[0 0] [0 0] [0]
or(x1, x2) = [0 2] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
=(x1, x2) = [1 2] x1 + [1 2] x2 + [1]
[0 0] [0 0] [0]
max(x1) = [1 0] x1 + [0]
[0 0] [2]
not(x1) = [1 0] x1 + [0]
[0 0] [0]
max'(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
u() = [0]
[0]
Hurray, we answered YES(?,O(n^1))Tool pair2rc
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
Certificate: YES(?,O(n^1))
Application of 'pair2 (timeout of 60.0 seconds)':
-------------------------------------------------
The processor is not applicable, reason is:
Input problem is not restricted to innermost rewriting
We abort the transformation and continue with the subprocessor on the problem
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
1) 'Fastest' proved the goal fastest:
'Sequentially' proved the goal fastest:
'Fastest' succeeded:
'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {1}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {2}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {1}, Uargs(max') = {1}
We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
Interpretation Functions:
f(x1, x2) = [1 1] x1 + [2 0] x2 + [0]
[1 2] [0 0] [0]
nil() = [2]
[0]
g(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
++(x1, x2) = [1 2] x1 + [2 0] x2 + [0]
[2 2] [0 0] [0]
null(x1) = [0 0] x1 + [1]
[0 0] [0]
true() = [0]
[0]
false() = [0]
[0]
mem(x1, x2) = [2 0] x1 + [2 2] x2 + [0]
[0 0] [0 0] [0]
or(x1, x2) = [0 2] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
=(x1, x2) = [1 2] x1 + [1 2] x2 + [1]
[0 0] [0 0] [0]
max(x1) = [1 0] x1 + [0]
[0 0] [2]
not(x1) = [1 0] x1 + [0]
[0 0] [0]
max'(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
u() = [0]
[0]
Hurray, we answered YES(?,O(n^1))Tool pair3irc
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Application of 'pair3 (timeout of 60.0 seconds)':
-------------------------------------------------
The input problem contains no overlaps that give rise to inapplicable rules.
We abort the transformation and continue with the subprocessor on the problem
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: innermost
1) 'Fastest' proved the goal fastest:
'Sequentially' proved the goal fastest:
'Fastest' succeeded:
'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {1}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {2}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {1}, Uargs(max') = {1}
We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
Interpretation Functions:
f(x1, x2) = [1 1] x1 + [2 0] x2 + [0]
[1 2] [0 0] [0]
nil() = [2]
[0]
g(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
++(x1, x2) = [1 2] x1 + [2 0] x2 + [0]
[2 2] [0 0] [0]
null(x1) = [0 0] x1 + [1]
[0 0] [0]
true() = [0]
[0]
false() = [0]
[0]
mem(x1, x2) = [2 0] x1 + [2 2] x2 + [0]
[0 0] [0 0] [0]
or(x1, x2) = [0 2] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
=(x1, x2) = [1 2] x1 + [1 2] x2 + [1]
[0 0] [0 0] [0]
max(x1) = [1 0] x1 + [0]
[0 0] [2]
not(x1) = [1 0] x1 + [0]
[0 0] [0]
max'(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
u() = [0]
[0]
Hurray, we answered YES(?,O(n^1))Tool pair3rc
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
Certificate: YES(?,O(n^1))
Application of 'pair3 (timeout of 60.0 seconds)':
-------------------------------------------------
The processor is not applicable, reason is:
Input problem is not restricted to innermost rewriting
We abort the transformation and continue with the subprocessor on the problem
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
1) 'Fastest' proved the goal fastest:
'Sequentially' proved the goal fastest:
'Fastest' succeeded:
'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {1}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {2}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {1}, Uargs(max') = {1}
We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
Interpretation Functions:
f(x1, x2) = [1 1] x1 + [2 0] x2 + [0]
[1 2] [0 0] [0]
nil() = [2]
[0]
g(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
++(x1, x2) = [1 2] x1 + [2 0] x2 + [0]
[2 2] [0 0] [0]
null(x1) = [0 0] x1 + [1]
[0 0] [0]
true() = [0]
[0]
false() = [0]
[0]
mem(x1, x2) = [2 0] x1 + [2 2] x2 + [0]
[0 0] [0 0] [0]
or(x1, x2) = [0 2] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
=(x1, x2) = [1 2] x1 + [1 2] x2 + [1]
[0 0] [0 0] [0]
max(x1) = [1 0] x1 + [0]
[0 0] [2]
not(x1) = [1 0] x1 + [0]
[0 0] [0]
max'(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
u() = [0]
[0]
Hurray, we answered YES(?,O(n^1))Tool rc
Execution Time | Unknown |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: none
Certificate: YES(?,O(n^1))
Application of 'rc (timeout of 60.0 seconds)':
----------------------------------------------
'Fastest' proved the goal fastest:
'Sequentially' proved the goal fastest:
'Fastest' succeeded:
'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {1}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {2}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {1}, Uargs(max') = {1}
We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
Interpretation Functions:
f(x1, x2) = [1 1] x1 + [2 0] x2 + [0]
[1 2] [0 0] [0]
nil() = [2]
[0]
g(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
++(x1, x2) = [1 2] x1 + [2 0] x2 + [0]
[2 2] [0 0] [0]
null(x1) = [0 0] x1 + [1]
[0 0] [0]
true() = [0]
[0]
false() = [0]
[0]
mem(x1, x2) = [2 0] x1 + [2 2] x2 + [0]
[0 0] [0 0] [0]
or(x1, x2) = [0 2] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
=(x1, x2) = [1 2] x1 + [1 2] x2 + [1]
[0 0] [0 0] [0]
max(x1) = [1 0] x1 + [0]
[0 0] [2]
not(x1) = [1 0] x1 + [0]
[0 0] [0]
max'(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
u() = [0]
[0]
Hurray, we answered YES(?,O(n^1))Tool tup3irc
Execution Time | 1.775197ms |
---|
Answer | YES(?,O(n^1)) |
---|
Input | SK90 4.28 |
---|
stdout:
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Application of 'tup3 (timeout of 60.0 seconds)':
------------------------------------------------
The input problem contains no overlaps that give rise to inapplicable rules.
We abort the transformation and continue with the subprocessor on the problem
Strict Trs:
{ f(x, nil()) -> g(nil(), x)
, f(x, g(y, z)) -> g(f(x, y), z)
, ++(x, nil()) -> x
, ++(x, g(y, z)) -> g(++(x, y), z)
, null(nil()) -> true()
, null(g(x, y)) -> false()
, mem(nil(), y) -> false()
, mem(g(x, y), z) -> or(=(y, z), mem(x, z))
, mem(x, max(x)) -> not(null(x))
, max(g(g(nil(), x), y)) -> max'(x, y)
, max(g(g(g(x, y), z), u())) -> max'(max(g(g(x, y), z)), u())}
StartTerms: basic terms
Strategy: innermost
1) 'Fastest' proved the goal fastest:
'Sequentially' proved the goal fastest:
'Fastest' succeeded:
'matrix-interpretation of dimension 2 (timeout of 100.0 seconds)' proved the goal fastest:
The following argument positions are usable:
Uargs(f) = {}, Uargs(g) = {1}, Uargs(++) = {}, Uargs(null) = {},
Uargs(mem) = {}, Uargs(or) = {2}, Uargs(=) = {}, Uargs(max) = {},
Uargs(not) = {1}, Uargs(max') = {1}
We have the following constructor-restricted (at most 1 in the main diagonals) matrix interpretation:
Interpretation Functions:
f(x1, x2) = [1 1] x1 + [2 0] x2 + [0]
[1 2] [0 0] [0]
nil() = [2]
[0]
g(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
++(x1, x2) = [1 2] x1 + [2 0] x2 + [0]
[2 2] [0 0] [0]
null(x1) = [0 0] x1 + [1]
[0 0] [0]
true() = [0]
[0]
false() = [0]
[0]
mem(x1, x2) = [2 0] x1 + [2 2] x2 + [0]
[0 0] [0 0] [0]
or(x1, x2) = [0 2] x1 + [1 0] x2 + [1]
[0 0] [0 0] [0]
=(x1, x2) = [1 2] x1 + [1 2] x2 + [1]
[0 0] [0 0] [0]
max(x1) = [1 0] x1 + [0]
[0 0] [2]
not(x1) = [1 0] x1 + [0]
[0 0] [0]
max'(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
u() = [0]
[0]
Hurray, we answered YES(?,O(n^1))