/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?, O(1)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, 1). (0) CpxTRS (1) DependencyGraphProof [UPPER BOUND(ID), 0 ms] (2) CpxTRS (3) NarrowingOnBasicTermsTerminatesProof [FINISHED, 0 ms] (4) BOUNDS(1, 1) ---------------------------------------- (0) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, 1). The TRS R consists of the following rules: 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) from(X) -> cons(X, n__from(s(X))) cons(X1, X2) -> n__cons(X1, X2) from(X) -> n__from(X) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(n__from(X)) -> from(X) activate(X) -> X S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) DependencyGraphProof (UPPER BOUND(ID)) The following rules are not reachable from basic terms in the dependency graph and can be removed: 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, 1). The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) cons(X1, X2) -> n__cons(X1, X2) from(X) -> n__from(X) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(n__from(X)) -> from(X) activate(X) -> X S is empty. Rewrite Strategy: FULL ---------------------------------------- (3) NarrowingOnBasicTermsTerminatesProof (FINISHED) Constant runtime complexity proven by termination of constructor-based narrowing. The maximal most general narrowing sequences give rise to the following rewrite sequences: activate(n__from(x0)) ->^* n__from(x0) activate(n__from(x0)) ->^* n__cons(x0, n__from(s(x0))) activate(n__cons(x0, x1)) ->^* n__cons(x0, x1) from(x0) ->^* n__from(x0) from(x0) ->^* n__cons(x0, n__from(s(x0))) cons(x0, x1) ->^* n__cons(x0, x1) ---------------------------------------- (4) BOUNDS(1, 1)