Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Stand 20472 pair #381715635
details
property
value
status
complete
benchmark
MYNAT_nosorts_C.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n096.star.cs.uiowa.edu
space
Transformed_CSR_04
run statistics
property
value
solver
Wanda
configuration
FirstOrder
runtime (wallclock)
1.71598315239 seconds
cpu usage
1.711814243
max memory
4.1775104E7
stage attributes
key
value
output-size
43232
starexec-result
YES
output
/export/starexec/sandbox/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. 0 : [] --> o active : [o] --> o and : [o * o] --> o mark : [o] --> o ok : [o] --> o plus : [o * o] --> o proper : [o] --> o s : [o] --> o top : [o] --> o tt : [] --> o x : [o * o] --> o active(and(tt, X)) => mark(X) active(plus(X, 0)) => mark(X) active(plus(X, s(Y))) => mark(s(plus(X, Y))) active(x(X, 0)) => mark(0) active(x(X, s(Y))) => mark(plus(x(X, Y), X)) active(and(X, Y)) => and(active(X), Y) active(plus(X, Y)) => plus(active(X), Y) active(plus(X, Y)) => plus(X, active(Y)) active(s(X)) => s(active(X)) active(x(X, Y)) => x(active(X), Y) active(x(X, Y)) => x(X, active(Y)) and(mark(X), Y) => mark(and(X, Y)) plus(mark(X), Y) => mark(plus(X, Y)) plus(X, mark(Y)) => mark(plus(X, Y)) s(mark(X)) => mark(s(X)) x(mark(X), Y) => mark(x(X, Y)) x(X, mark(Y)) => mark(x(X, Y)) proper(and(X, Y)) => and(proper(X), proper(Y)) proper(tt) => ok(tt) proper(plus(X, Y)) => plus(proper(X), proper(Y)) proper(0) => ok(0) proper(s(X)) => s(proper(X)) proper(x(X, Y)) => x(proper(X), proper(Y)) and(ok(X), ok(Y)) => ok(and(X, Y)) plus(ok(X), ok(Y)) => ok(plus(X, Y)) s(ok(X)) => ok(s(X)) x(ok(X), ok(Y)) => ok(x(X, Y)) 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(and(tt, X)) >? mark(X) active(plus(X, 0)) >? mark(X) active(plus(X, s(Y))) >? mark(s(plus(X, Y))) active(x(X, 0)) >? mark(0) active(x(X, s(Y))) >? mark(plus(x(X, Y), X)) active(and(X, Y)) >? and(active(X), Y) active(plus(X, Y)) >? plus(active(X), Y) active(plus(X, Y)) >? plus(X, active(Y)) active(s(X)) >? s(active(X)) active(x(X, Y)) >? x(active(X), Y) active(x(X, Y)) >? x(X, active(Y)) and(mark(X), Y) >? mark(and(X, Y)) plus(mark(X), Y) >? mark(plus(X, Y)) plus(X, mark(Y)) >? mark(plus(X, Y)) s(mark(X)) >? mark(s(X)) x(mark(X), Y) >? mark(x(X, Y)) x(X, mark(Y)) >? mark(x(X, Y)) proper(and(X, Y)) >? and(proper(X), proper(Y)) proper(tt) >? ok(tt) proper(plus(X, Y)) >? plus(proper(X), proper(Y)) proper(0) >? ok(0) proper(s(X)) >? s(proper(X)) proper(x(X, Y)) >? x(proper(X), proper(Y)) and(ok(X), ok(Y)) >? ok(and(X, Y)) plus(ok(X), ok(Y)) >? ok(plus(X, Y)) s(ok(X)) >? ok(s(X)) x(ok(X), ok(Y)) >? ok(x(X, Y)) top(mark(X)) >? top(proper(X)) top(ok(X)) >? top(active(X)) about to try horpo We use a recursive path ordering as defined in [Kop12, Chapter 5]. Argument functions: [[active(x_1)]] = x_1 [[ok(x_1)]] = x_1 [[proper(x_1)]] = x_1 [[tt]] = _|_ We choose Lex = {and} and Mul = {0, mark, plus, s, top, x}, and the following precedence: and > top > x > plus > s > mark > 0
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to TRS Stand 20472