Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Stand 20472 pair #381709887
details
property
value
status
complete
benchmark
otto06.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n107.star.cs.uiowa.edu
space
AProVE_07
run statistics
property
value
solver
Wanda
configuration
FirstOrder
runtime (wallclock)
0.736613988876 seconds
cpu usage
0.718621011
max memory
3.5057664E7
stage attributes
key
value
output-size
2492
starexec-result
MAYBE
output
/export/starexec/sandbox/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. 0 : [] --> o app : [o * o] --> o cons : [o * o] --> o false : [] --> o ge : [o * o] --> o greater : [o * o] --> o helpa : [o * o * o * o] --> o helpb : [o * o * o * o] --> o helpc : [o * o * o] --> o if : [o * o * o * o * o] --> o length : [o] --> o nil : [] --> o plus : [o * o] --> o s : [o] --> o smaller : [o * o] --> o true : [] --> o app(X, Y) => helpa(0, plus(length(X), length(Y)), X, Y) plus(X, 0) => X plus(X, s(Y)) => s(plus(X, Y)) length(nil) => 0 length(cons(X, Y)) => s(length(Y)) helpa(X, Y, Z, U) => if(ge(X, Y), X, Y, Z, U) ge(X, 0) => true ge(0, s(X)) => false ge(s(X), s(Y)) => ge(X, Y) if(true, X, Y, Z, U) => nil if(false, X, Y, Z, U) => helpb(X, Y, greater(Z, U), smaller(Z, U)) greater(X, Y) => helpc(ge(length(X), length(Y)), X, Y) smaller(X, Y) => helpc(ge(length(X), length(Y)), Y, X) helpc(true, X, Y) => X helpc(false, X, Y) => Y helpb(X, Y, cons(Z, U), V) => cons(Z, helpa(s(X), Y, U, V)) As the system is orthogonal, it is terminating if it is innermost terminating by [Gra95]. Then, by [FuhGieParSchSwi11], it suffices to prove (innermost) termination of the typed system, with sort annotations chosen to respect the rules, as follows: 0 : [] --> dg app : [dg * dg] --> dg cons : [dg * dg] --> dg false : [] --> ye ge : [dg * dg] --> ye greater : [dg * dg] --> dg helpa : [dg * dg * dg * dg] --> dg helpb : [dg * dg * dg * dg] --> dg helpc : [ye * dg * dg] --> dg if : [ye * dg * dg * dg * dg] --> dg length : [dg] --> dg nil : [] --> dg plus : [dg * dg] --> dg s : [dg] --> dg smaller : [dg * dg] --> dg true : [] --> ye +++ Citations +++ [FuhGieParSchSwi11] C. Fuhs, J. Giesl, M. Parting, P. Schneider-Kamp, and S. Swiderski. Proving Termination by Dependency Pairs and Inductive Theorem Proving. In volume 47(2) of Journal of Automated Reasoning. 133--160, 2011. [Gra95] B. Gramlich. Abstract Relations Between Restricted Termination and Confluence Properties of Rewrite Systems. In volume 24(1-2) of Fundamentae Informaticae. 3--23, 1995.
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to TRS Stand 20472