/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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 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) cons(x0, x1) ->^* n__cons(x0, x1) from(x0) ->^* n__from(x0) from(x0) ->^* n__cons(x0, n__from(s(x0))) ---------------------------------------- (4) BOUNDS(1, 1)