Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
HRS union beta 16688 pair #381734294
details
property
value
status
complete
benchmark
AotoYamada_05__006.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n090.star.cs.uiowa.edu
space
Uncurried_Applicative_11
run statistics
property
value
solver
Wanda
configuration
HigherOrder
runtime (wallclock)
0.0309960842133 seconds
cpu usage
0.027383619
max memory
1998848.0
stage attributes
key
value
output-size
1961
starexec-result
YES
output
/export/starexec/sandbox/solver/bin/starexec_run_HigherOrder /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES We consider the system theBenchmark. Alphabet: branch : [a * b * b] --> b leaf : [a] --> b mapbt : [a -> a * b] --> b Rules: mapbt(f, leaf(x)) => leaf(f x) mapbt(f, branch(x, y, z)) => branch(f x, mapbt(f, y), mapbt(f, z)) This AFS is converted to an AFSM simply by replacing all free variables by meta-variables (with arity 0). We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): mapbt(F, leaf(X)) >? leaf(F X) mapbt(F, branch(X, Y, Z)) >? branch(F X, mapbt(F, Y), mapbt(F, Z)) We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: branch = \y0y1y2.3 + y0 + y1 + y2 leaf = \y0.1 + y0 mapbt = \G0y1.3y1 + G0(0) + 3y1G0(y1) Using this interpretation, the requirements translate to: [[mapbt(_F0, leaf(_x1))]] = 3 + 3x1 + F0(0) + 3x1F0(1 + x1) + 3F0(1 + x1) > 1 + x1 + F0(x1) = [[leaf(_F0 _x1)]] [[mapbt(_F0, branch(_x1, _x2, _x3))]] = 9 + 3x1 + 3x2 + 3x3 + F0(0) + 3x1F0(3 + x1 + x2 + x3) + 3x2F0(3 + x1 + x2 + x3) + 3x3F0(3 + x1 + x2 + x3) + 9F0(3 + x1 + x2 + x3) > 3 + x1 + 3x2 + 3x3 + F0(x1) + 2F0(0) + 3x2F0(x2) + 3x3F0(x3) = [[branch(_F0 _x1, mapbt(_F0, _x2), mapbt(_F0, _x3))]] We can thus remove the following rules: mapbt(F, leaf(X)) => leaf(F X) mapbt(F, branch(X, Y, Z)) => branch(F X, mapbt(F, Y), mapbt(F, Z)) All rules were succesfully removed. Thus, termination of the original system has been reduced to termination of the beta-rule, which is well-known to hold. +++ Citations +++ [Kop12] C. Kop. Higher Order Termination. PhD Thesis, 2012.
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to HRS union beta 16688