Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
TRS Conditional pair #487562963
details
property
value
status
complete
benchmark
quicksort.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n053.star.cs.uiowa.edu
space
Mixed_CTRS
run statistics
property
value
solver
muterm 6.0.3
configuration
default
runtime (wallclock)
1.8484210968 seconds
cpu usage
1.818356015
max memory
5357568.0
stage attributes
key
value
output-size
52851
starexec-result
YES
output
/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/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) ->* pairs(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) ->* pairs(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) ->* pairs(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) ->* pairs(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) ->* pairs(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) ->* pairs(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) ->* pairs(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) ->* pairs(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) ->* pairs(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