Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Stand 20472 pair #381716790
details
property
value
status
complete
benchmark
MYNAT_nosorts_iGM.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n098.star.cs.uiowa.edu
space
Transformed_CSR_04
run statistics
property
value
solver
Wanda
configuration
FirstOrder
runtime (wallclock)
1.05460095406 seconds
cpu usage
1.051542414
max memory
2.6628096E7
stage attributes
key
value
output-size
34228
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. 0 : [] --> o active : [o] --> o and : [o * o] --> o mark : [o] --> o plus : [o * o] --> o s : [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)) mark(and(X, Y)) => active(and(mark(X), Y)) mark(tt) => active(tt) mark(plus(X, Y)) => active(plus(mark(X), mark(Y))) mark(0) => active(0) mark(s(X)) => active(s(mark(X))) mark(x(X, Y)) => active(x(mark(X), mark(Y))) and(mark(X), Y) => and(X, Y) and(X, mark(Y)) => and(X, Y) and(active(X), Y) => and(X, Y) and(X, active(Y)) => and(X, Y) plus(mark(X), Y) => plus(X, Y) plus(X, mark(Y)) => plus(X, Y) plus(active(X), Y) => plus(X, Y) plus(X, active(Y)) => plus(X, Y) s(mark(X)) => s(X) s(active(X)) => s(X) x(mark(X), Y) => x(X, Y) x(X, mark(Y)) => x(X, Y) x(active(X), Y) => x(X, Y) x(X, active(Y)) => x(X, Y) 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)) mark(and(X, Y)) >? active(and(mark(X), Y)) mark(tt) >? active(tt) mark(plus(X, Y)) >? active(plus(mark(X), mark(Y))) mark(0) >? active(0) mark(s(X)) >? active(s(mark(X))) mark(x(X, Y)) >? active(x(mark(X), mark(Y))) and(mark(X), Y) >? and(X, Y) and(X, mark(Y)) >? and(X, Y) and(active(X), Y) >? and(X, Y) and(X, active(Y)) >? and(X, Y) plus(mark(X), Y) >? plus(X, Y) plus(X, mark(Y)) >? plus(X, Y) plus(active(X), Y) >? plus(X, Y) plus(X, active(Y)) >? plus(X, Y) s(mark(X)) >? s(X) s(active(X)) >? s(X) x(mark(X), Y) >? x(X, Y) x(X, mark(Y)) >? x(X, Y) x(active(X), Y) >? x(X, Y) x(X, active(Y)) >? x(X, Y) about to try horpo We use a recursive path ordering as defined in [Kop12, Chapter 5]. Argument functions: [[active(x_1)]] = x_1 [[mark(x_1)]] = x_1 [[tt]] = _|_ We choose Lex = {} and Mul = {0, and, plus, s, x}, and the following precedence: x > plus > s > and > 0 Taking the argument function into account, and fixing the greater / greater equal choices, the constraints can be denoted as follows: and(_|_, X) > X plus(X, 0) > X plus(X, s(Y)) >= s(plus(X, Y)) x(X, 0) >= 0 x(X, s(Y)) >= plus(x(X, Y), X) and(X, Y) >= and(X, Y) _|_ >= _|_ plus(X, Y) >= plus(X, Y) 0 >= 0 s(X) >= s(X)
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to TRS Stand 20472