Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
HRS union beta 16688 pair #381734554
details
property
value
status
complete
benchmark
onearg.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n077.star.cs.uiowa.edu
space
Mixed_HO_10
run statistics
property
value
solver
Wanda
configuration
HigherOrder
runtime (wallclock)
0.145040035248 seconds
cpu usage
0.142081125
max memory
6078464.0
stage attributes
key
value
output-size
8529
starexec-result
YES
output
/export/starexec/sandbox2/solver/bin/starexec_run_HigherOrder /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES We consider the system theBenchmark. Alphabet: 0 : [] --> nat add : [nat] --> nat -> nat eq : [nat] --> nat -> bool err : [] --> nat false : [] --> bool id : [] --> nat -> nat nul : [] --> nat -> bool pred : [nat] --> nat s : [nat] --> nat true : [] --> bool Rules: nul 0 => true nul s(x) => false nul err => false pred(0) => err pred(s(x)) => x id x => x eq(0) => nul eq(s(x)) => /\y.eq(x) pred(y) add(0) => id add(s(x)) => /\y.add(x) s(y) 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]): nul 0 >? true nul s(X) >? false nul err >? false pred(0) >? err pred(s(X)) >? X id X >? X eq(0) >? nul eq(s(X)) >? /\x.eq(X) pred(x) add(0) >? id add(s(X)) >? /\x.add(X) s(x) about to try horpo We use a recursive path ordering as defined in [Kop12, Chapter 5]. Argument functions: [[false]] = _|_ [[id]] = _|_ [[nul]] = _|_ [[true]] = _|_ We choose Lex = {} and Mul = {0, @_{o -> o}, add, eq, err, pred, s}, and the following precedence: add > 0 > s > eq > pred > @_{o -> o} > err Taking the argument function into account, and fixing the greater / greater equal choices, the constraints can be denoted as follows: @_{o -> o}(_|_, 0) >= _|_ @_{o -> o}(_|_, s(X)) >= _|_ @_{o -> o}(_|_, err) >= _|_ pred(0) >= err pred(s(X)) > X @_{o -> o}(_|_, X) >= X eq(0) >= _|_ eq(s(X)) >= /\x.@_{o -> o}(eq(X), pred(x)) add(0) >= _|_ add(s(X)) >= /\x.@_{o -> o}(add(X), s(x)) With these choices, we have: 1] @_{o -> o}(_|_, 0) >= _|_ by (Bot) 2] @_{o -> o}(_|_, s(X)) >= _|_ by (Bot) 3] @_{o -> o}(_|_, err) >= _|_ by (Bot) 4] pred(0) >= err because [5], by (Star) 5] pred*(0) >= err because pred > err, by (Copy) 6] pred(s(X)) > X because [7], by definition 7] pred*(s(X)) >= X because [8], by (Select) 8] s(X) >= X because [9], by (Star) 9] s*(X) >= X because [10], by (Select) 10] X >= X by (Meta) 11] @_{o -> o}(_|_, X) >= X because [12], by (Star) 12] @_{o -> o}*(_|_, X) >= X because [13], by (Select) 13] X >= X by (Meta) 14] eq(0) >= _|_ by (Bot)
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to HRS union beta 16688