20.36/7.30 WORST_CASE(Omega(n^1), O(n^1)) 20.36/7.31 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 20.36/7.31 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 20.36/7.31 20.36/7.31 20.36/7.31 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.36/7.31 20.36/7.31 (0) CpxTRS 20.36/7.31 (1) NestedDefinedSymbolProof [UPPER BOUND(ID), 0 ms] 20.36/7.31 (2) CpxTRS 20.36/7.31 (3) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] 20.36/7.31 (4) CpxTRS 20.36/7.31 (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] 20.36/7.31 (6) CpxWeightedTrs 20.36/7.31 (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] 20.36/7.31 (8) CpxTypedWeightedTrs 20.36/7.31 (9) CompletionProof [UPPER BOUND(ID), 0 ms] 20.36/7.31 (10) CpxTypedWeightedCompleteTrs 20.36/7.31 (11) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] 20.36/7.31 (12) CpxTypedWeightedCompleteTrs 20.36/7.31 (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] 20.36/7.31 (14) CpxRNTS 20.36/7.31 (15) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] 20.36/7.31 (16) CpxRNTS 20.36/7.31 (17) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] 20.36/7.31 (18) CpxRNTS 20.36/7.31 (19) ResultPropagationProof [UPPER BOUND(ID), 0 ms] 20.36/7.31 (20) CpxRNTS 20.36/7.31 (21) IntTrsBoundProof [UPPER BOUND(ID), 1093 ms] 20.36/7.31 (22) CpxRNTS 20.36/7.31 (23) IntTrsBoundProof [UPPER BOUND(ID), 202 ms] 20.36/7.31 (24) CpxRNTS 20.36/7.31 (25) FinalProof [FINISHED, 0 ms] 20.36/7.31 (26) BOUNDS(1, n^1) 20.36/7.31 (27) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 20.36/7.31 (28) TRS for Loop Detection 20.36/7.31 (29) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 20.36/7.31 (30) BEST 20.36/7.31 (31) proven lower bound 20.36/7.31 (32) LowerBoundPropagationProof [FINISHED, 0 ms] 20.36/7.31 (33) BOUNDS(n^1, INF) 20.36/7.31 (34) TRS for Loop Detection 20.36/7.31 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (0) 20.36/7.31 Obligation: 20.36/7.31 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y 20.36/7.31 f(x, 0) -> x 20.36/7.31 f(i(x), y) -> i(x) 20.36/7.31 f(f(x, y), z) -> f(x, f(y, z)) 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) 20.36/7.31 f(1, g(x, y)) -> x 20.36/7.31 f(2, g(x, y)) -> y 20.36/7.31 20.36/7.31 S is empty. 20.36/7.31 Rewrite Strategy: FULL 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (1) NestedDefinedSymbolProof (UPPER BOUND(ID)) 20.36/7.31 The TRS does not nest defined symbols. 20.36/7.31 Hence, the left-hand sides of the following rules are not basic-reachable and can be removed: 20.36/7.31 f(f(x, y), z) -> f(x, f(y, z)) 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (2) 20.36/7.31 Obligation: 20.36/7.31 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y 20.36/7.31 f(x, 0) -> x 20.36/7.31 f(i(x), y) -> i(x) 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) 20.36/7.31 f(1, g(x, y)) -> x 20.36/7.31 f(2, g(x, y)) -> y 20.36/7.31 20.36/7.31 S is empty. 20.36/7.31 Rewrite Strategy: FULL 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (3) RcToIrcProof (BOTH BOUNDS(ID, ID)) 20.36/7.31 Converted rc-obligation to irc-obligation. 20.36/7.31 20.36/7.31 As the TRS does not nest defined symbols, we have rc = irc. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (4) 20.36/7.31 Obligation: 20.36/7.31 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y 20.36/7.31 f(x, 0) -> x 20.36/7.31 f(i(x), y) -> i(x) 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) 20.36/7.31 f(1, g(x, y)) -> x 20.36/7.31 f(2, g(x, y)) -> y 20.36/7.31 20.36/7.31 S is empty. 20.36/7.31 Rewrite Strategy: INNERMOST 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) 20.36/7.31 Transformed relative TRS to weighted TRS 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (6) 20.36/7.31 Obligation: 20.36/7.31 The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y [1] 20.36/7.31 f(x, 0) -> x [1] 20.36/7.31 f(i(x), y) -> i(x) [1] 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) [1] 20.36/7.31 f(1, g(x, y)) -> x [1] 20.36/7.31 f(2, g(x, y)) -> y [1] 20.36/7.31 20.36/7.31 Rewrite Strategy: INNERMOST 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) 20.36/7.31 Infered types. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (8) 20.36/7.31 Obligation: 20.36/7.31 Runtime Complexity Weighted TRS with Types. 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y [1] 20.36/7.31 f(x, 0) -> x [1] 20.36/7.31 f(i(x), y) -> i(x) [1] 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) [1] 20.36/7.31 f(1, g(x, y)) -> x [1] 20.36/7.31 f(2, g(x, y)) -> y [1] 20.36/7.31 20.36/7.31 The TRS has the following type information: 20.36/7.31 f :: 0:i:g:1:2 -> 0:i:g:1:2 -> 0:i:g:1:2 20.36/7.31 0 :: 0:i:g:1:2 20.36/7.31 i :: a -> 0:i:g:1:2 20.36/7.31 g :: 0:i:g:1:2 -> 0:i:g:1:2 -> 0:i:g:1:2 20.36/7.31 1 :: 0:i:g:1:2 20.36/7.31 2 :: 0:i:g:1:2 20.36/7.31 20.36/7.31 Rewrite Strategy: INNERMOST 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (9) CompletionProof (UPPER BOUND(ID)) 20.36/7.31 The transformation into a RNTS is sound, since: 20.36/7.31 20.36/7.31 (a) The obligation is a constructor system where every type has a constant constructor, 20.36/7.31 20.36/7.31 (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: 20.36/7.31 20.36/7.31 f_2 20.36/7.31 20.36/7.31 (c) The following functions are completely defined: 20.36/7.31 none 20.36/7.31 20.36/7.31 Due to the following rules being added: 20.36/7.31 none 20.36/7.31 20.36/7.31 And the following fresh constants: const 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (10) 20.36/7.31 Obligation: 20.36/7.31 Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: 20.36/7.31 20.36/7.31 Runtime Complexity Weighted TRS with Types. 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y [1] 20.36/7.31 f(x, 0) -> x [1] 20.36/7.31 f(i(x), y) -> i(x) [1] 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) [1] 20.36/7.31 f(1, g(x, y)) -> x [1] 20.36/7.31 f(2, g(x, y)) -> y [1] 20.36/7.31 20.36/7.31 The TRS has the following type information: 20.36/7.31 f :: 0:i:g:1:2 -> 0:i:g:1:2 -> 0:i:g:1:2 20.36/7.31 0 :: 0:i:g:1:2 20.36/7.31 i :: a -> 0:i:g:1:2 20.36/7.31 g :: 0:i:g:1:2 -> 0:i:g:1:2 -> 0:i:g:1:2 20.36/7.31 1 :: 0:i:g:1:2 20.36/7.31 2 :: 0:i:g:1:2 20.36/7.31 const :: a 20.36/7.31 20.36/7.31 Rewrite Strategy: INNERMOST 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (11) NarrowingProof (BOTH BOUNDS(ID, ID)) 20.36/7.31 Narrowed the inner basic terms of all right-hand sides by a single narrowing step. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (12) 20.36/7.31 Obligation: 20.36/7.31 Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: 20.36/7.31 20.36/7.31 Runtime Complexity Weighted TRS with Types. 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y [1] 20.36/7.31 f(x, 0) -> x [1] 20.36/7.31 f(i(x), y) -> i(x) [1] 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) [1] 20.36/7.31 f(1, g(x, y)) -> x [1] 20.36/7.31 f(2, g(x, y)) -> y [1] 20.36/7.31 20.36/7.31 The TRS has the following type information: 20.36/7.31 f :: 0:i:g:1:2 -> 0:i:g:1:2 -> 0:i:g:1:2 20.36/7.31 0 :: 0:i:g:1:2 20.36/7.31 i :: a -> 0:i:g:1:2 20.36/7.31 g :: 0:i:g:1:2 -> 0:i:g:1:2 -> 0:i:g:1:2 20.36/7.31 1 :: 0:i:g:1:2 20.36/7.31 2 :: 0:i:g:1:2 20.36/7.31 const :: a 20.36/7.31 20.36/7.31 Rewrite Strategy: INNERMOST 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (13) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) 20.36/7.31 Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. 20.36/7.31 The constant constructors are abstracted as follows: 20.36/7.31 20.36/7.31 0 => 0 20.36/7.31 1 => 1 20.36/7.31 2 => 2 20.36/7.31 const => 0 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (14) 20.36/7.31 Obligation: 20.36/7.31 Complexity RNTS consisting of the following rules: 20.36/7.31 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 0, z' = x, x >= 0 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 1 + x + y, x >= 0, y >= 0, z' = 1 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z'' = y, y >= 0, z' = 0 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z' = 2, z'' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + x :|: z' = 1 + x, z'' = y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + f(x, z) + f(y, z) :|: z'' = z, z >= 0, z' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (15) SimplificationProof (BOTH BOUNDS(ID, ID)) 20.36/7.31 Simplified the RNTS by moving equalities from the constraints into the right-hand sides. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (16) 20.36/7.31 Obligation: 20.36/7.31 Complexity RNTS consisting of the following rules: 20.36/7.31 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 1 + x + y, x >= 0, y >= 0, z' = 1 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z' = 2, z'' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + (z' - 1) :|: z' - 1 >= 0, z'' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + f(x, z'') + f(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (17) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) 20.36/7.31 Found the following analysis order by SCC decomposition: 20.36/7.31 20.36/7.31 { f } 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (18) 20.36/7.31 Obligation: 20.36/7.31 Complexity RNTS consisting of the following rules: 20.36/7.31 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 1 + x + y, x >= 0, y >= 0, z' = 1 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z' = 2, z'' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + (z' - 1) :|: z' - 1 >= 0, z'' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + f(x, z'') + f(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 20.36/7.31 Function symbols to be analyzed: {f} 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (19) ResultPropagationProof (UPPER BOUND(ID)) 20.36/7.31 Applied inner abstraction using the recently inferred runtime/size bounds where possible. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (20) 20.36/7.31 Obligation: 20.36/7.31 Complexity RNTS consisting of the following rules: 20.36/7.31 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 1 + x + y, x >= 0, y >= 0, z' = 1 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z' = 2, z'' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + (z' - 1) :|: z' - 1 >= 0, z'' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + f(x, z'') + f(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 20.36/7.31 Function symbols to be analyzed: {f} 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (21) IntTrsBoundProof (UPPER BOUND(ID)) 20.36/7.31 20.36/7.31 Computed SIZE bound using CoFloCo for: f 20.36/7.31 after applying outer abstraction to obtain an ITS, 20.36/7.31 resulting in: O(n^2) with polynomial bound: 2 + 8*z' + 4*z'*z'' + 2*z'' 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (22) 20.36/7.31 Obligation: 20.36/7.31 Complexity RNTS consisting of the following rules: 20.36/7.31 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 1 + x + y, x >= 0, y >= 0, z' = 1 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z' = 2, z'' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + (z' - 1) :|: z' - 1 >= 0, z'' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + f(x, z'') + f(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 20.36/7.31 Function symbols to be analyzed: {f} 20.36/7.31 Previous analysis results are: 20.36/7.31 f: runtime: ?, size: O(n^2) [2 + 8*z' + 4*z'*z'' + 2*z''] 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (23) IntTrsBoundProof (UPPER BOUND(ID)) 20.36/7.31 20.36/7.31 Computed RUNTIME bound using CoFloCo for: f 20.36/7.31 after applying outer abstraction to obtain an ITS, 20.36/7.31 resulting in: O(n^1) with polynomial bound: 1 + 2*z' 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (24) 20.36/7.31 Obligation: 20.36/7.31 Complexity RNTS consisting of the following rules: 20.36/7.31 20.36/7.31 f(z', z'') -{ 1 }-> x :|: z'' = 1 + x + y, x >= 0, y >= 0, z' = 1 20.36/7.31 f(z', z'') -{ 1 }-> y :|: z' = 2, z'' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + (z' - 1) :|: z' - 1 >= 0, z'' >= 0 20.36/7.31 f(z', z'') -{ 1 }-> 1 + f(x, z'') + f(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 20.36/7.31 20.36/7.31 Function symbols to be analyzed: 20.36/7.31 Previous analysis results are: 20.36/7.31 f: runtime: O(n^1) [1 + 2*z'], size: O(n^2) [2 + 8*z' + 4*z'*z'' + 2*z''] 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (25) FinalProof (FINISHED) 20.36/7.31 Computed overall runtime complexity 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (26) 20.36/7.31 BOUNDS(1, n^1) 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (27) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 20.36/7.31 Transformed a relative TRS into a decreasing-loop problem. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (28) 20.36/7.31 Obligation: 20.36/7.31 Analyzing the following TRS for decreasing loops: 20.36/7.31 20.36/7.31 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y 20.36/7.31 f(x, 0) -> x 20.36/7.31 f(i(x), y) -> i(x) 20.36/7.31 f(f(x, y), z) -> f(x, f(y, z)) 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) 20.36/7.31 f(1, g(x, y)) -> x 20.36/7.31 f(2, g(x, y)) -> y 20.36/7.31 20.36/7.31 S is empty. 20.36/7.31 Rewrite Strategy: FULL 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (29) DecreasingLoopProof (LOWER BOUND(ID)) 20.36/7.31 The following loop(s) give(s) rise to the lower bound Omega(n^1): 20.36/7.31 20.36/7.31 The rewrite sequence 20.36/7.31 20.36/7.31 f(g(x, y), z) ->^+ g(f(x, z), f(y, z)) 20.36/7.31 20.36/7.31 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 20.36/7.31 20.36/7.31 The pumping substitution is [x / g(x, y)]. 20.36/7.31 20.36/7.31 The result substitution is [ ]. 20.36/7.31 20.36/7.31 20.36/7.31 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (30) 20.36/7.31 Complex Obligation (BEST) 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (31) 20.36/7.31 Obligation: 20.36/7.31 Proved the lower bound n^1 for the following obligation: 20.36/7.31 20.36/7.31 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y 20.36/7.31 f(x, 0) -> x 20.36/7.31 f(i(x), y) -> i(x) 20.36/7.31 f(f(x, y), z) -> f(x, f(y, z)) 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) 20.36/7.31 f(1, g(x, y)) -> x 20.36/7.31 f(2, g(x, y)) -> y 20.36/7.31 20.36/7.31 S is empty. 20.36/7.31 Rewrite Strategy: FULL 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (32) LowerBoundPropagationProof (FINISHED) 20.36/7.31 Propagated lower bound. 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (33) 20.36/7.31 BOUNDS(n^1, INF) 20.36/7.31 20.36/7.31 ---------------------------------------- 20.36/7.31 20.36/7.31 (34) 20.36/7.31 Obligation: 20.36/7.31 Analyzing the following TRS for decreasing loops: 20.36/7.31 20.36/7.31 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.36/7.31 20.36/7.31 20.36/7.31 The TRS R consists of the following rules: 20.36/7.31 20.36/7.31 f(0, y) -> y 20.36/7.31 f(x, 0) -> x 20.36/7.31 f(i(x), y) -> i(x) 20.36/7.31 f(f(x, y), z) -> f(x, f(y, z)) 20.36/7.31 f(g(x, y), z) -> g(f(x, z), f(y, z)) 20.36/7.31 f(1, g(x, y)) -> x 20.36/7.31 f(2, g(x, y)) -> y 20.36/7.31 20.36/7.31 S is empty. 20.36/7.31 Rewrite Strategy: FULL 20.52/8.20 EOF