Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Conditional pair #487562883
details
property
value
status
complete
benchmark
329.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n139.star.cs.uiowa.edu
space
COPS
run statistics
property
value
solver
muterm 6.0.3
configuration
default
runtime (wallclock)
183.766752958 seconds
cpu usage
183.614190175
max memory
1.27844352E8
stage attributes
key
value
output-size
23298
starexec-result
YES
output
/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR v_NonEmpty:S x:S xs:S y:S ys:S zs:S) (RULES app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) app(nil,x:S) -> x:S le(0,x:S) -> ttrue le(s(x:S),0) -> ffalse le(s(x:S),s(y:S)) -> le(x:S,y:S) qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) qsort(nil) -> nil split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ffalse split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ttrue split(x:S,nil) -> pair(nil,nil) ) Problem 1: Valid CTRS Processor: -> Rules: app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) app(nil,x:S) -> x:S le(0,x:S) -> ttrue le(s(x:S),0) -> ffalse le(s(x:S),s(y:S)) -> le(x:S,y:S) qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) qsort(nil) -> nil split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ffalse split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ttrue split(x:S,nil) -> pair(nil,nil) -> The system is a deterministic 3-CTRS. Problem 1: Dependency Pairs Processor: Conditional Termination Problem 1: -> Pairs: APP(cons(x:S,xs:S),ys:S) -> APP(xs:S,ys:S) LE(s(x:S),s(y:S)) -> LE(x:S,y:S) QSORT(cons(x:S,xs:S)) -> APP(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) QSORT(cons(x:S,xs:S)) -> QSORT(ys:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) -> QPairs: Empty -> Rules: app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) app(nil,x:S) -> x:S le(0,x:S) -> ttrue le(s(x:S),0) -> ffalse le(s(x:S),s(y:S)) -> le(x:S,y:S) qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) qsort(nil) -> nil split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ffalse split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ttrue split(x:S,nil) -> pair(nil,nil) Conditional Termination Problem 2: -> Pairs: QSORT(cons(x:S,xs:S)) -> SPLIT(x:S,xs:S) SPLIT(x:S,cons(y:S,ys:S)) -> LE(x:S,y:S) | split(x:S,ys:S) ->* pair(xs:S,zs:S) SPLIT(x:S,cons(y:S,ys:S)) -> SPLIT(x:S,ys:S) -> QPairs: LE(s(x:S),s(y:S)) -> LE(x:S,y:S) -> Rules: app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) app(nil,x:S) -> x:S le(0,x:S) -> ttrue le(s(x:S),0) -> ffalse le(s(x:S),s(y:S)) -> le(x:S,y:S) qsort(cons(x:S,xs:S)) -> app(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) qsort(nil) -> nil split(x:S,cons(y:S,ys:S)) -> pair(cons(y:S,xs:S),zs:S) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ffalse split(x:S,cons(y:S,ys:S)) -> pair(xs:S,cons(y:S,zs:S)) | split(x:S,ys:S) ->* pair(xs:S,zs:S), le(x:S,y:S) ->* ttrue split(x:S,nil) -> pair(nil,nil) The problem is decomposed in 2 subproblems. Problem 1.1: SCC Processor: -> Pairs: APP(cons(x:S,xs:S),ys:S) -> APP(xs:S,ys:S) LE(s(x:S),s(y:S)) -> LE(x:S,y:S) QSORT(cons(x:S,xs:S)) -> APP(qsort(ys:S),cons(x:S,qsort(zs:S))) | split(x:S,xs:S) ->* pair(ys:S,zs:S) QSORT(cons(x:S,xs:S)) -> QSORT(ys:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) QSORT(cons(x:S,xs:S)) -> QSORT(zs:S) | split(x:S,xs:S) ->* pair(ys:S,zs:S) -> QPairs: Empty -> Rules: app(cons(x:S,xs:S),ys:S) -> cons(x:S,app(xs:S,ys:S)) app(nil,x:S) -> x:S
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to TRS Conditional