3.72/1.70 WORST_CASE(?, O(1)) 3.72/1.71 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.72/1.71 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.72/1.71 3.72/1.71 3.72/1.71 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, 1). 3.72/1.71 3.72/1.71 (0) CpxTRS 3.72/1.71 (1) NestedDefinedSymbolProof [UPPER BOUND(ID), 0 ms] 3.72/1.71 (2) CpxTRS 3.72/1.71 (3) NarrowingOnBasicTermsTerminatesProof [FINISHED, 0 ms] 3.72/1.71 (4) BOUNDS(1, 1) 3.72/1.71 3.72/1.71 3.72/1.71 ---------------------------------------- 3.72/1.71 3.72/1.71 (0) 3.72/1.71 Obligation: 3.72/1.71 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, 1). 3.72/1.71 3.72/1.71 3.72/1.71 The TRS R consists of the following rules: 3.72/1.71 3.72/1.71 f1(a, x) -> g1(x, x) 3.72/1.71 f1(x, a) -> g2(x, x) 3.72/1.71 f2(a, x) -> g1(x, x) 3.72/1.71 f2(x, a) -> g2(x, x) 3.72/1.71 g1(a, x) -> h1(x) 3.72/1.71 g1(x, a) -> h2(x) 3.72/1.71 g2(a, x) -> h1(x) 3.72/1.71 g2(x, a) -> h2(x) 3.72/1.71 h1(a) -> i 3.72/1.71 h2(a) -> i 3.72/1.71 e1(h1(w), h2(w), x, y, z, w) -> e2(x, x, y, z, z, w) 3.72/1.71 e1(x1, x1, x, y, z, a) -> e5(x1, x, y, z) 3.72/1.71 e2(f1(w, w), x, y, z, f2(w, w), w) -> e3(x, y, x, y, y, z, y, z, x, y, z, w) 3.72/1.71 e2(x, x, y, z, z, a) -> e6(x, y, z) 3.72/1.71 e2(i, x, y, z, i, a) -> e6(x, y, z) 3.72/1.71 e3(x1, x1, x2, x2, x3, x3, x4, x4, x, y, z, w) -> e4(x1, x1, x2, x2, x3, x3, x4, x4, x, y, z, w) 3.72/1.71 e3(x, y, x, y, y, z, y, z, x, y, z, a) -> e6(x, y, z) 3.72/1.71 e4(g1(w, w), x1, g2(w, w), x1, g1(w, w), x1, g2(w, w), x1, x, y, z, w) -> e1(x1, x1, x, y, z, w) 3.72/1.71 e4(i, x1, i, x1, i, x1, i, x1, x, y, z, a) -> e5(x1, x, y, z) 3.72/1.71 e4(x, x, x, x, x, x, x, x, x, x, x, a) -> e6(x, x, x) 3.72/1.71 e5(i, x, y, z) -> e6(x, y, z) 3.72/1.71 3.72/1.71 S is empty. 3.72/1.71 Rewrite Strategy: FULL 3.72/1.71 ---------------------------------------- 3.72/1.71 3.72/1.71 (1) NestedDefinedSymbolProof (UPPER BOUND(ID)) 3.72/1.71 The TRS does not nest defined symbols. 3.72/1.71 Hence, the left-hand sides of the following rules are not basic-reachable and can be removed: 3.72/1.71 e1(h1(w), h2(w), x, y, z, w) -> e2(x, x, y, z, z, w) 3.72/1.71 e2(f1(w, w), x, y, z, f2(w, w), w) -> e3(x, y, x, y, y, z, y, z, x, y, z, w) 3.72/1.71 e4(g1(w, w), x1, g2(w, w), x1, g1(w, w), x1, g2(w, w), x1, x, y, z, w) -> e1(x1, x1, x, y, z, w) 3.72/1.71 3.72/1.71 ---------------------------------------- 3.72/1.71 3.72/1.71 (2) 3.72/1.71 Obligation: 3.72/1.71 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, 1). 3.72/1.71 3.72/1.71 3.72/1.71 The TRS R consists of the following rules: 3.72/1.71 3.72/1.71 f1(a, x) -> g1(x, x) 3.72/1.71 f1(x, a) -> g2(x, x) 3.72/1.71 f2(a, x) -> g1(x, x) 3.72/1.71 f2(x, a) -> g2(x, x) 3.72/1.71 g1(a, x) -> h1(x) 3.72/1.71 g1(x, a) -> h2(x) 3.72/1.71 g2(a, x) -> h1(x) 3.72/1.71 g2(x, a) -> h2(x) 3.72/1.71 h1(a) -> i 3.72/1.71 h2(a) -> i 3.72/1.71 e1(x1, x1, x, y, z, a) -> e5(x1, x, y, z) 3.72/1.71 e2(x, x, y, z, z, a) -> e6(x, y, z) 3.72/1.71 e2(i, x, y, z, i, a) -> e6(x, y, z) 3.72/1.71 e3(x1, x1, x2, x2, x3, x3, x4, x4, x, y, z, w) -> e4(x1, x1, x2, x2, x3, x3, x4, x4, x, y, z, w) 3.72/1.71 e3(x, y, x, y, y, z, y, z, x, y, z, a) -> e6(x, y, z) 3.72/1.71 e4(i, x1, i, x1, i, x1, i, x1, x, y, z, a) -> e5(x1, x, y, z) 3.72/1.71 e4(x, x, x, x, x, x, x, x, x, x, x, a) -> e6(x, x, x) 3.72/1.71 e5(i, x, y, z) -> e6(x, y, z) 3.72/1.71 3.72/1.71 S is empty. 3.72/1.71 Rewrite Strategy: FULL 3.72/1.71 ---------------------------------------- 3.72/1.71 3.72/1.71 (3) NarrowingOnBasicTermsTerminatesProof (FINISHED) 3.72/1.71 Constant runtime complexity proven by termination of constructor-based narrowing. 3.72/1.71 3.72/1.71 The maximal most general narrowing sequences give rise to the following rewrite sequences: 3.72/1.71 3.72/1.71 h2(a) ->^* i 3.72/1.71 3.72/1.71 g2(a, a) ->^* i 3.72/1.71 3.72/1.71 e4(x0, x0, x0, x0, x0, x0, x0, x0, x0, x0, x0, a) ->^* e6(x0, x0, x0) 3.72/1.71 3.72/1.71 e4(i, i, i, i, i, i, i, i, x0, x1, x2, a) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 e3(x0, x1, x0, x1, x1, x2, x1, x2, x0, x1, x2, a) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 e3(x0, x0, x0, x0, x0, x0, x0, x0, x0, x0, x0, a) ->^* e6(x0, x0, x0) 3.72/1.71 3.72/1.71 e3(i, i, i, i, i, i, i, i, x0, x1, x2, a) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 e2(i, x0, x1, x2, i, a) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 e2(x0, x0, x1, x2, x2, a) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 e1(i, i, x0, x1, x2, a) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 e5(i, x0, x1, x2) ->^* e6(x0, x1, x2) 3.72/1.71 3.72/1.71 h1(a) ->^* i 3.72/1.71 3.72/1.71 f2(a, a) ->^* i 3.72/1.71 3.72/1.71 g1(a, a) ->^* i 3.72/1.71 3.72/1.71 f1(a, a) ->^* i 3.72/1.71 3.72/1.71 3.72/1.71 3.72/1.71 3.72/1.71 ---------------------------------------- 3.72/1.71 3.72/1.71 (4) 3.72/1.71 BOUNDS(1, 1) 3.89/1.78 EOF