Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Stand 20472 pair #381716465
details
property
value
status
complete
benchmark
ExSec4_2_DLMMU04_Z.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n013.star.cs.uiowa.edu
space
Transformed_CSR_04
run statistics
property
value
solver
Wanda
configuration
FirstOrder
runtime (wallclock)
0.492495059967 seconds
cpu usage
0.482793248
max memory
1.7588224E7
stage attributes
key
value
output-size
20983
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 activate : [o] --> o afterNth : [o * o] --> o cons : [o * o] --> o fst : [o] --> o head : [o] --> o n!6220!6220natsFrom : [o] --> o natsFrom : [o] --> o nil : [] --> o pair : [o * o] --> o s : [o] --> o sel : [o * o] --> o snd : [o] --> o splitAt : [o * o] --> o tail : [o] --> o take : [o * o] --> o u : [o * o * o * o] --> o natsFrom(X) => cons(X, n!6220!6220natsFrom(s(X))) fst(pair(X, Y)) => X snd(pair(X, Y)) => Y splitAt(0, X) => pair(nil, X) splitAt(s(X), cons(Y, Z)) => u(splitAt(X, activate(Z)), X, Y, activate(Z)) u(pair(X, Y), Z, U, V) => pair(cons(activate(U), X), Y) head(cons(X, Y)) => X tail(cons(X, Y)) => activate(Y) sel(X, Y) => head(afterNth(X, Y)) take(X, Y) => fst(splitAt(X, Y)) afterNth(X, Y) => snd(splitAt(X, Y)) natsFrom(X) => n!6220!6220natsFrom(X) activate(n!6220!6220natsFrom(X)) => natsFrom(X) activate(X) => 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]): natsFrom(X) >? cons(X, n!6220!6220natsFrom(s(X))) fst(pair(X, Y)) >? X snd(pair(X, Y)) >? Y splitAt(0, X) >? pair(nil, X) splitAt(s(X), cons(Y, Z)) >? u(splitAt(X, activate(Z)), X, Y, activate(Z)) u(pair(X, Y), Z, U, V) >? pair(cons(activate(U), X), Y) head(cons(X, Y)) >? X tail(cons(X, Y)) >? activate(Y) sel(X, Y) >? head(afterNth(X, Y)) take(X, Y) >? fst(splitAt(X, Y)) afterNth(X, Y) >? snd(splitAt(X, Y)) natsFrom(X) >? n!6220!6220natsFrom(X) activate(n!6220!6220natsFrom(X)) >? natsFrom(X) activate(X) >? X about to try horpo We use a recursive path ordering as defined in [Kop12, Chapter 5]. Argument functions: [[nil]] = _|_ We choose Lex = {splitAt} and Mul = {0, activate, afterNth, cons, fst, head, n!6220!6220natsFrom, natsFrom, pair, s, sel, snd, tail, take, u}, and the following precedence: sel > take > 0 > afterNth > head > splitAt > u > pair > activate = natsFrom = tail > s > n!6220!6220natsFrom > cons > snd > fst Taking the argument function into account, and fixing the greater / greater equal choices, the constraints can be denoted as follows: natsFrom(X) > cons(X, n!6220!6220natsFrom(s(X))) fst(pair(X, Y)) > X snd(pair(X, Y)) > Y splitAt(0, X) >= pair(_|_, X) splitAt(s(X), cons(Y, Z)) >= u(splitAt(X, activate(Z)), X, Y, activate(Z)) u(pair(X, Y), Z, U, V) >= pair(cons(activate(U), X), Y) head(cons(X, Y)) >= X tail(cons(X, Y)) >= activate(Y) sel(X, Y) >= head(afterNth(X, Y)) take(X, Y) >= fst(splitAt(X, Y)) afterNth(X, Y) >= snd(splitAt(X, Y)) natsFrom(X) >= n!6220!6220natsFrom(X) activate(n!6220!6220natsFrom(X)) >= natsFrom(X) activate(X) >= X With these choices, we have: 1] natsFrom(X) > cons(X, n!6220!6220natsFrom(s(X))) because [2], by definition 2] natsFrom*(X) >= cons(X, n!6220!6220natsFrom(s(X))) because natsFrom > cons, [3] and [5], by (Copy) 3] natsFrom*(X) >= X because [4], by (Select) 4] X >= X by (Meta) 5] natsFrom*(X) >= n!6220!6220natsFrom(s(X)) because natsFrom > n!6220!6220natsFrom and [6], by (Copy) 6] natsFrom*(X) >= s(X) because natsFrom > s and [3], by (Copy) 7] fst(pair(X, Y)) > X because [8], by definition
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to TRS Stand 20472