Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Stand 20472 pair #381715054
details
property
value
status
complete
benchmark
Ex5_Zan97_C.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n014.star.cs.uiowa.edu
space
Transformed_CSR_04
run statistics
property
value
solver
Wanda
configuration
FirstOrder
runtime (wallclock)
0.368687152863 seconds
cpu usage
0.359889369
max memory
1.1194368E7
stage attributes
key
value
output-size
18148
starexec-result
YES
output
/export/starexec/sandbox2/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. active : [o] --> o c : [] --> o f : [o] --> o false : [] --> o if : [o * o * o] --> o mark : [o] --> o ok : [o] --> o proper : [o] --> o top : [o] --> o true : [] --> o active(f(X)) => mark(if(X, c, f(true))) active(if(true, X, Y)) => mark(X) active(if(false, X, Y)) => mark(Y) active(f(X)) => f(active(X)) active(if(X, Y, Z)) => if(active(X), Y, Z) active(if(X, Y, Z)) => if(X, active(Y), Z) f(mark(X)) => mark(f(X)) if(mark(X), Y, Z) => mark(if(X, Y, Z)) if(X, mark(Y), Z) => mark(if(X, Y, Z)) proper(f(X)) => f(proper(X)) proper(if(X, Y, Z)) => if(proper(X), proper(Y), proper(Z)) proper(c) => ok(c) proper(true) => ok(true) proper(false) => ok(false) f(ok(X)) => ok(f(X)) if(ok(X), ok(Y), ok(Z)) => ok(if(X, Y, Z)) top(mark(X)) => top(proper(X)) top(ok(X)) => top(active(X)) We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): active(f(X)) >? mark(if(X, c, f(true))) active(if(true, X, Y)) >? mark(X) active(if(false, X, Y)) >? mark(Y) active(f(X)) >? f(active(X)) active(if(X, Y, Z)) >? if(active(X), Y, Z) active(if(X, Y, Z)) >? if(X, active(Y), Z) f(mark(X)) >? mark(f(X)) if(mark(X), Y, Z) >? mark(if(X, Y, Z)) if(X, mark(Y), Z) >? mark(if(X, Y, Z)) proper(f(X)) >? f(proper(X)) proper(if(X, Y, Z)) >? if(proper(X), proper(Y), proper(Z)) proper(c) >? ok(c) proper(true) >? ok(true) proper(false) >? ok(false) f(ok(X)) >? ok(f(X)) if(ok(X), ok(Y), ok(Z)) >? ok(if(X, Y, Z)) top(mark(X)) >? top(proper(X)) top(ok(X)) >? top(active(X)) We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: active = \y0.y0 c = 0 f = \y0.2y0 false = 1 if = \y0y1y2.y2 + 2y0 + 2y1 mark = \y0.y0 ok = \y0.y0 proper = \y0.y0 top = \y0.y0 true = 0 Using this interpretation, the requirements translate to: [[active(f(_x0))]] = 2x0 >= 2x0 = [[mark(if(_x0, c, f(true)))]] [[active(if(true, _x0, _x1))]] = x1 + 2x0 >= x0 = [[mark(_x0)]] [[active(if(false, _x0, _x1))]] = 2 + x1 + 2x0 > x1 = [[mark(_x1)]] [[active(f(_x0))]] = 2x0 >= 2x0 = [[f(active(_x0))]] [[active(if(_x0, _x1, _x2))]] = x2 + 2x0 + 2x1 >= x2 + 2x0 + 2x1 = [[if(active(_x0), _x1, _x2)]] [[active(if(_x0, _x1, _x2))]] = x2 + 2x0 + 2x1 >= x2 + 2x0 + 2x1 = [[if(_x0, active(_x1), _x2)]] [[f(mark(_x0))]] = 2x0 >= 2x0 = [[mark(f(_x0))]] [[if(mark(_x0), _x1, _x2)]] = x2 + 2x0 + 2x1 >= x2 + 2x0 + 2x1 = [[mark(if(_x0, _x1, _x2))]] [[if(_x0, mark(_x1), _x2)]] = x2 + 2x0 + 2x1 >= x2 + 2x0 + 2x1 = [[mark(if(_x0, _x1, _x2))]] [[proper(f(_x0))]] = 2x0 >= 2x0 = [[f(proper(_x0))]] [[proper(if(_x0, _x1, _x2))]] = x2 + 2x0 + 2x1 >= x2 + 2x0 + 2x1 = [[if(proper(_x0), proper(_x1), proper(_x2))]] [[proper(c)]] = 0 >= 0 = [[ok(c)]] [[proper(true)]] = 0 >= 0 = [[ok(true)]] [[proper(false)]] = 1 >= 1 = [[ok(false)]] [[f(ok(_x0))]] = 2x0 >= 2x0 = [[ok(f(_x0))]] [[if(ok(_x0), ok(_x1), ok(_x2))]] = x2 + 2x0 + 2x1 >= x2 + 2x0 + 2x1 = [[ok(if(_x0, _x1, _x2))]] [[top(mark(_x0))]] = x0 >= x0 = [[top(proper(_x0))]] [[top(ok(_x0))]] = x0 >= x0 = [[top(active(_x0))]]
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to TRS Stand 20472