/export/starexec/sandbox2/solver/bin/starexec_run_complexity /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^1)) proof of /export/starexec/sandbox2/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(n^1, n^1). (0) CpxTRS (1) DependencyGraphProof [UPPER BOUND(ID), 0 ms] (2) CpxTRS (3) NestedDefinedSymbolProof [UPPER BOUND(ID), 3 ms] (4) CpxTRS (5) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (6) CpxTRS (7) CpxTrsMatchBoundsProof [FINISHED, 0 ms] (8) BOUNDS(1, n^1) (9) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (10) TRS for Loop Detection (11) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] (12) BEST (13) proven lower bound (14) LowerBoundPropagationProof [FINISHED, 0 ms] (15) BOUNDS(n^1, INF) (16) TRS for Loop Detection ---------------------------------------- (0) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) top(rec(up(x))) -> top(check(rec(x))) top(sent(up(x))) -> top(check(rec(x))) top(no(up(x))) -> top(check(rec(x))) check(up(x)) -> up(check(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(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: top(rec(up(x))) -> top(check(rec(x))) top(sent(up(x))) -> top(check(rec(x))) top(no(up(x))) -> top(check(rec(x))) ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) check(up(x)) -> up(check(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(x) S is empty. Rewrite Strategy: FULL ---------------------------------------- (3) NestedDefinedSymbolProof (UPPER BOUND(ID)) The TRS does not nest defined symbols. Hence, the left-hand sides of the following rules are not basic-reachable and can be removed: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(x) ---------------------------------------- (4) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) check(up(x)) -> up(check(x)) S is empty. Rewrite Strategy: FULL ---------------------------------------- (5) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) check(up(x)) -> up(check(x)) S is empty. Rewrite Strategy: FULL ---------------------------------------- (7) CpxTrsMatchBoundsProof (FINISHED) A linear upper bound on the runtime complexity of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 1. The certificate found is represented by the following graph. "[20, 21, 22, 23, 24, 25, 26, 27] {(20,21,[rec_1|0, sent_1|0, no_1|0, check_1|0]), (20,22,[up_1|1]), (20,24,[up_1|1]), (20,25,[up_1|1]), (20,26,[up_1|1]), (20,27,[up_1|1]), (21,21,[bot|0, up_1|0]), (22,23,[sent_1|1]), (23,21,[bot|1]), (24,21,[rec_1|1]), (24,22,[up_1|1]), (24,24,[up_1|1]), (25,21,[sent_1|1]), (25,25,[up_1|1]), (26,21,[no_1|1]), (26,26,[up_1|1]), (27,21,[check_1|1]), (27,27,[up_1|1])}" ---------------------------------------- (8) BOUNDS(1, n^1) ---------------------------------------- (9) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (10) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) top(rec(up(x))) -> top(check(rec(x))) top(sent(up(x))) -> top(check(rec(x))) top(no(up(x))) -> top(check(rec(x))) check(up(x)) -> up(check(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(x) S is empty. Rewrite Strategy: FULL ---------------------------------------- (11) DecreasingLoopProof (LOWER BOUND(ID)) The following loop(s) give(s) rise to the lower bound Omega(n^1): The rewrite sequence rec(up(x)) ->^+ up(rec(x)) gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. The pumping substitution is [x / up(x)]. The result substitution is [ ]. ---------------------------------------- (12) Complex Obligation (BEST) ---------------------------------------- (13) Obligation: Proved the lower bound n^1 for the following obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) top(rec(up(x))) -> top(check(rec(x))) top(sent(up(x))) -> top(check(rec(x))) top(no(up(x))) -> top(check(rec(x))) check(up(x)) -> up(check(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(x) S is empty. Rewrite Strategy: FULL ---------------------------------------- (14) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (15) BOUNDS(n^1, INF) ---------------------------------------- (16) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: rec(rec(x)) -> sent(rec(x)) rec(sent(x)) -> sent(rec(x)) rec(no(x)) -> sent(rec(x)) rec(bot) -> up(sent(bot)) rec(up(x)) -> up(rec(x)) sent(up(x)) -> up(sent(x)) no(up(x)) -> up(no(x)) top(rec(up(x))) -> top(check(rec(x))) top(sent(up(x))) -> top(check(rec(x))) top(no(up(x))) -> top(check(rec(x))) check(up(x)) -> up(check(x)) check(sent(x)) -> sent(check(x)) check(rec(x)) -> rec(check(x)) check(no(x)) -> no(check(x)) check(no(x)) -> no(x) S is empty. Rewrite Strategy: FULL