Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Derivational Complexity: TRS Innermost pair #487109100
details
property
value
status
complete
benchmark
ExIntrod_GM99_Z.xml
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n141.star.cs.uiowa.edu
space
Transformed_CSR_04
run statistics
property
value
solver
AProVE
configuration
rcdcRelativeAlsoLower
runtime (wallclock)
291.617 seconds
cpu usage
468.261
user time
465.09
system time
3.17086
max virtual memory
1.956798E7
max residence set size
5679504.0
stage attributes
key
value
starexec-result
WORST_CASE(?, O(n^1))
output
WORST_CASE(?, O(n^1)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, n^1). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 437 ms] (4) CpxRelTRS (5) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (6) CdtProblem (7) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (8) CdtProblem (9) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CdtProblem (11) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CdtProblem (13) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (14) CdtProblem (15) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CdtProblem (17) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 243 ms] (18) CdtProblem (19) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 160 ms] (20) CdtProblem (21) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 159 ms] (22) CdtProblem (23) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 138 ms] (24) CdtProblem (25) SIsEmptyProof [BOTH BOUNDS(ID, ID), 0 ms] (26) BOUNDS(1, 1) ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: primes -> sieve(from(s(s(0)))) from(X) -> cons(X, n__from(s(X))) head(cons(X, Y)) -> X tail(cons(X, Y)) -> activate(Y) if(true, X, Y) -> activate(X) if(false, X, Y) -> activate(Y) filter(s(s(X)), cons(Y, Z)) -> if(divides(s(s(X)), Y), n__filter(s(s(X)), activate(Z)), n__cons(Y, n__filter(X, sieve(Y)))) sieve(cons(X, Y)) -> cons(X, n__filter(X, sieve(activate(Y)))) from(X) -> n__from(X) filter(X1, X2) -> n__filter(X1, X2) cons(X1, X2) -> n__cons(X1, X2) activate(n__from(X)) -> from(X) activate(n__filter(X1, X2)) -> filter(X1, X2) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(X) -> X S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(n__from(x_1)) -> n__from(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(divides(x_1, x_2)) -> divides(encArg(x_1), encArg(x_2)) encArg(n__filter(x_1, x_2)) -> n__filter(encArg(x_1), encArg(x_2)) encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) encArg(cons_primes) -> primes encArg(cons_from(x_1)) -> from(encArg(x_1)) encArg(cons_head(x_1)) -> head(encArg(x_1)) encArg(cons_tail(x_1)) -> tail(encArg(x_1)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_filter(x_1, x_2)) -> filter(encArg(x_1), encArg(x_2)) encArg(cons_sieve(x_1)) -> sieve(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_primes -> primes encode_sieve(x_1) -> sieve(encArg(x_1)) encode_from(x_1) -> from(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_n__from(x_1) -> n__from(encArg(x_1)) encode_head(x_1) -> head(encArg(x_1)) encode_tail(x_1) -> tail(encArg(x_1)) encode_activate(x_1) -> activate(encArg(x_1)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_true -> true encode_false -> false encode_filter(x_1, x_2) -> filter(encArg(x_1), encArg(x_2)) encode_divides(x_1, x_2) -> divides(encArg(x_1), encArg(x_2))
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Derivational Complexity: TRS Innermost