20.54/6.28 WORST_CASE(Omega(n^1), O(n^1)) 20.54/6.29 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 20.54/6.29 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 20.54/6.29 20.54/6.29 20.54/6.29 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.54/6.29 20.54/6.29 (0) CpxTRS 20.54/6.29 (1) NestedDefinedSymbolProof [UPPER BOUND(ID), 0 ms] 20.54/6.29 (2) CpxTRS 20.54/6.29 (3) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (4) CpxTRS 20.54/6.29 (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (6) CpxWeightedTrs 20.54/6.29 (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (8) CpxTypedWeightedTrs 20.54/6.29 (9) CompletionProof [UPPER BOUND(ID), 0 ms] 20.54/6.29 (10) CpxTypedWeightedCompleteTrs 20.54/6.29 (11) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (12) CpxTypedWeightedCompleteTrs 20.54/6.29 (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] 20.54/6.29 (14) CpxRNTS 20.54/6.29 (15) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (16) CpxRNTS 20.54/6.29 (17) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (18) CpxRNTS 20.54/6.29 (19) ResultPropagationProof [UPPER BOUND(ID), 0 ms] 20.54/6.29 (20) CpxRNTS 20.54/6.29 (21) IntTrsBoundProof [UPPER BOUND(ID), 190 ms] 20.54/6.29 (22) CpxRNTS 20.54/6.29 (23) IntTrsBoundProof [UPPER BOUND(ID), 96 ms] 20.54/6.29 (24) CpxRNTS 20.54/6.29 (25) ResultPropagationProof [UPPER BOUND(ID), 0 ms] 20.54/6.29 (26) CpxRNTS 20.54/6.29 (27) IntTrsBoundProof [UPPER BOUND(ID), 271 ms] 20.54/6.29 (28) CpxRNTS 20.54/6.29 (29) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] 20.54/6.29 (30) CpxRNTS 20.54/6.29 (31) FinalProof [FINISHED, 0 ms] 20.54/6.29 (32) BOUNDS(1, n^1) 20.54/6.29 (33) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (34) CpxTRS 20.54/6.29 (35) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] 20.54/6.29 (36) typed CpxTrs 20.54/6.29 (37) OrderProof [LOWER BOUND(ID), 0 ms] 20.54/6.29 (38) typed CpxTrs 20.54/6.29 (39) RewriteLemmaProof [LOWER BOUND(ID), 404 ms] 20.54/6.29 (40) BEST 20.54/6.29 (41) proven lower bound 20.54/6.29 (42) LowerBoundPropagationProof [FINISHED, 0 ms] 20.54/6.29 (43) BOUNDS(n^1, INF) 20.54/6.29 (44) typed CpxTrs 20.54/6.29 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (0) 20.54/6.29 Obligation: 20.54/6.29 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 20.54/6.29 20.54/6.29 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) 20.54/6.29 f(X, Y, g(X, Y)) -> h(0, g(X, Y)) 20.54/6.29 g(0, Y) -> 0 20.54/6.29 g(X, s(Y)) -> g(X, Y) 20.54/6.29 20.54/6.29 S is empty. 20.54/6.29 Rewrite Strategy: FULL 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (1) NestedDefinedSymbolProof (UPPER BOUND(ID)) 20.54/6.29 The TRS does not nest defined symbols. 20.54/6.29 Hence, the left-hand sides of the following rules are not basic-reachable and can be removed: 20.54/6.29 f(X, Y, g(X, Y)) -> h(0, g(X, Y)) 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (2) 20.54/6.29 Obligation: 20.54/6.29 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 20.54/6.29 20.54/6.29 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) 20.54/6.29 g(0, Y) -> 0 20.54/6.29 g(X, s(Y)) -> g(X, Y) 20.54/6.29 20.54/6.29 S is empty. 20.54/6.29 Rewrite Strategy: FULL 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (3) RcToIrcProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Converted rc-obligation to irc-obligation. 20.54/6.29 20.54/6.29 As the TRS does not nest defined symbols, we have rc = irc. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (4) 20.54/6.29 Obligation: 20.54/6.29 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 20.54/6.29 20.54/6.29 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) 20.54/6.29 g(0, Y) -> 0 20.54/6.29 g(X, s(Y)) -> g(X, Y) 20.54/6.29 20.54/6.29 S is empty. 20.54/6.29 Rewrite Strategy: INNERMOST 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Transformed relative TRS to weighted TRS 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (6) 20.54/6.29 Obligation: 20.54/6.29 The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^1). 20.54/6.29 20.54/6.29 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) [1] 20.54/6.29 g(0, Y) -> 0 [1] 20.54/6.29 g(X, s(Y)) -> g(X, Y) [1] 20.54/6.29 20.54/6.29 Rewrite Strategy: INNERMOST 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Infered types. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (8) 20.54/6.29 Obligation: 20.54/6.29 Runtime Complexity Weighted TRS with Types. 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) [1] 20.54/6.29 g(0, Y) -> 0 [1] 20.54/6.29 g(X, s(Y)) -> g(X, Y) [1] 20.54/6.29 20.54/6.29 The TRS has the following type information: 20.54/6.29 h :: s -> a -> f 20.54/6.29 f :: s -> s -> a -> f 20.54/6.29 s :: s -> s 20.54/6.29 g :: 0 -> s -> 0 20.54/6.29 0 :: 0 20.54/6.29 20.54/6.29 Rewrite Strategy: INNERMOST 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (9) CompletionProof (UPPER BOUND(ID)) 20.54/6.29 The transformation into a RNTS is sound, since: 20.54/6.29 20.54/6.29 (a) The obligation is a constructor system where every type has a constant constructor, 20.54/6.29 20.54/6.29 (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: 20.54/6.29 20.54/6.29 h_2 20.54/6.29 g_2 20.54/6.29 20.54/6.29 (c) The following functions are completely defined: 20.54/6.29 none 20.54/6.29 20.54/6.29 Due to the following rules being added: 20.54/6.29 none 20.54/6.29 20.54/6.29 And the following fresh constants: const, const1, const2 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (10) 20.54/6.29 Obligation: 20.54/6.29 Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: 20.54/6.29 20.54/6.29 Runtime Complexity Weighted TRS with Types. 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) [1] 20.54/6.29 g(0, Y) -> 0 [1] 20.54/6.29 g(X, s(Y)) -> g(X, Y) [1] 20.54/6.29 20.54/6.29 The TRS has the following type information: 20.54/6.29 h :: s -> a -> f 20.54/6.29 f :: s -> s -> a -> f 20.54/6.29 s :: s -> s 20.54/6.29 g :: 0 -> s -> 0 20.54/6.29 0 :: 0 20.54/6.29 const :: f 20.54/6.29 const1 :: s 20.54/6.29 const2 :: a 20.54/6.29 20.54/6.29 Rewrite Strategy: INNERMOST 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (11) NarrowingProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Narrowed the inner basic terms of all right-hand sides by a single narrowing step. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (12) 20.54/6.29 Obligation: 20.54/6.29 Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: 20.54/6.29 20.54/6.29 Runtime Complexity Weighted TRS with Types. 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) [1] 20.54/6.29 g(0, Y) -> 0 [1] 20.54/6.29 g(X, s(Y)) -> g(X, Y) [1] 20.54/6.29 20.54/6.29 The TRS has the following type information: 20.54/6.29 h :: s -> a -> f 20.54/6.29 f :: s -> s -> a -> f 20.54/6.29 s :: s -> s 20.54/6.29 g :: 0 -> s -> 0 20.54/6.29 0 :: 0 20.54/6.29 const :: f 20.54/6.29 const1 :: s 20.54/6.29 const2 :: a 20.54/6.29 20.54/6.29 Rewrite Strategy: INNERMOST 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (13) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) 20.54/6.29 Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. 20.54/6.29 The constant constructors are abstracted as follows: 20.54/6.29 20.54/6.29 0 => 0 20.54/6.29 const => 0 20.54/6.29 const1 => 0 20.54/6.29 const2 => 0 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (14) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 }-> g(X, Y) :|: Y >= 0, z' = 1 + Y, X >= 0, z = X 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' = Y, Y >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + X + (1 + X) + Z :|: Z >= 0, X >= 0, z' = Z, z = X 20.54/6.29 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (15) SimplificationProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Simplified the RNTS by moving equalities from the constraints into the right-hand sides. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (16) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 }-> g(z, z' - 1) :|: z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (17) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Found the following analysis order by SCC decomposition: 20.54/6.29 20.54/6.29 { g } 20.54/6.29 { h } 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (18) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 }-> g(z, z' - 1) :|: z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: {g}, {h} 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (19) ResultPropagationProof (UPPER BOUND(ID)) 20.54/6.29 Applied inner abstraction using the recently inferred runtime/size bounds where possible. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (20) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 }-> g(z, z' - 1) :|: z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: {g}, {h} 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (21) IntTrsBoundProof (UPPER BOUND(ID)) 20.54/6.29 20.54/6.29 Computed SIZE bound using CoFloCo for: g 20.54/6.29 after applying outer abstraction to obtain an ITS, 20.54/6.29 resulting in: O(1) with polynomial bound: 0 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (22) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 }-> g(z, z' - 1) :|: z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: {g}, {h} 20.54/6.29 Previous analysis results are: 20.54/6.29 g: runtime: ?, size: O(1) [0] 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (23) IntTrsBoundProof (UPPER BOUND(ID)) 20.54/6.29 20.54/6.29 Computed RUNTIME bound using CoFloCo for: g 20.54/6.29 after applying outer abstraction to obtain an ITS, 20.54/6.29 resulting in: O(n^1) with polynomial bound: 1 + z' 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (24) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 }-> g(z, z' - 1) :|: z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: {h} 20.54/6.29 Previous analysis results are: 20.54/6.29 g: runtime: O(n^1) [1 + z'], size: O(1) [0] 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (25) ResultPropagationProof (UPPER BOUND(ID)) 20.54/6.29 Applied inner abstraction using the recently inferred runtime/size bounds where possible. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (26) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 + z' }-> s :|: s >= 0, s <= 0, z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: {h} 20.54/6.29 Previous analysis results are: 20.54/6.29 g: runtime: O(n^1) [1 + z'], size: O(1) [0] 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (27) IntTrsBoundProof (UPPER BOUND(ID)) 20.54/6.29 20.54/6.29 Computed SIZE bound using CoFloCo for: h 20.54/6.29 after applying outer abstraction to obtain an ITS, 20.54/6.29 resulting in: O(n^1) with polynomial bound: 2 + 2*z + z' 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (28) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 + z' }-> s :|: s >= 0, s <= 0, z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: {h} 20.54/6.29 Previous analysis results are: 20.54/6.29 g: runtime: O(n^1) [1 + z'], size: O(1) [0] 20.54/6.29 h: runtime: ?, size: O(n^1) [2 + 2*z + z'] 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (29) IntTrsBoundProof (UPPER BOUND(ID)) 20.54/6.29 20.54/6.29 Computed RUNTIME bound using CoFloCo for: h 20.54/6.29 after applying outer abstraction to obtain an ITS, 20.54/6.29 resulting in: O(1) with polynomial bound: 1 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (30) 20.54/6.29 Obligation: 20.54/6.29 Complexity RNTS consisting of the following rules: 20.54/6.29 20.54/6.29 g(z, z') -{ 1 + z' }-> s :|: s >= 0, s <= 0, z' - 1 >= 0, z >= 0 20.54/6.29 g(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 20.54/6.29 h(z, z') -{ 1 }-> 1 + z + (1 + z) + z' :|: z' >= 0, z >= 0 20.54/6.29 20.54/6.29 Function symbols to be analyzed: 20.54/6.29 Previous analysis results are: 20.54/6.29 g: runtime: O(n^1) [1 + z'], size: O(1) [0] 20.54/6.29 h: runtime: O(1) [1], size: O(n^1) [2 + 2*z + z'] 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (31) FinalProof (FINISHED) 20.54/6.29 Computed overall runtime complexity 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (32) 20.54/6.29 BOUNDS(1, n^1) 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (33) RenamingProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Renamed function symbols to avoid clashes with predefined symbol. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (34) 20.54/6.29 Obligation: 20.54/6.29 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 20.54/6.29 20.54/6.29 20.54/6.29 The TRS R consists of the following rules: 20.54/6.29 20.54/6.29 h(X, Z) -> f(X, s(X), Z) 20.54/6.29 f(X, Y, g(X, Y)) -> h(0', g(X, Y)) 20.54/6.29 g(0', Y) -> 0' 20.54/6.29 g(X, s(Y)) -> g(X, Y) 20.54/6.29 20.54/6.29 S is empty. 20.54/6.29 Rewrite Strategy: FULL 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (35) TypeInferenceProof (BOTH BOUNDS(ID, ID)) 20.54/6.29 Infered types. 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (36) 20.54/6.29 Obligation: 20.54/6.29 TRS: 20.54/6.29 Rules: 20.54/6.29 h(X, Z) -> f(X, s(X), Z) 20.54/6.29 f(X, Y, g(X, Y)) -> h(0', g(X, Y)) 20.54/6.29 g(0', Y) -> 0' 20.54/6.29 g(X, s(Y)) -> g(X, Y) 20.54/6.29 20.54/6.29 Types: 20.54/6.29 h :: s:0' -> s:0' -> h:f 20.54/6.29 f :: s:0' -> s:0' -> s:0' -> h:f 20.54/6.29 s :: s:0' -> s:0' 20.54/6.29 g :: s:0' -> s:0' -> s:0' 20.54/6.29 0' :: s:0' 20.54/6.29 hole_h:f1_0 :: h:f 20.54/6.29 hole_s:0'2_0 :: s:0' 20.54/6.29 gen_s:0'3_0 :: Nat -> s:0' 20.54/6.29 20.54/6.29 ---------------------------------------- 20.54/6.29 20.54/6.29 (37) OrderProof (LOWER BOUND(ID)) 20.54/6.29 Heuristically decided to analyse the following defined symbols: 20.54/6.30 h, g 20.54/6.30 20.54/6.30 They will be analysed ascendingly in the following order: 20.54/6.30 g < h 20.54/6.30 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (38) 20.54/6.30 Obligation: 20.54/6.30 TRS: 20.54/6.30 Rules: 20.54/6.30 h(X, Z) -> f(X, s(X), Z) 20.54/6.30 f(X, Y, g(X, Y)) -> h(0', g(X, Y)) 20.54/6.30 g(0', Y) -> 0' 20.54/6.30 g(X, s(Y)) -> g(X, Y) 20.54/6.30 20.54/6.30 Types: 20.54/6.30 h :: s:0' -> s:0' -> h:f 20.54/6.30 f :: s:0' -> s:0' -> s:0' -> h:f 20.54/6.30 s :: s:0' -> s:0' 20.54/6.30 g :: s:0' -> s:0' -> s:0' 20.54/6.30 0' :: s:0' 20.54/6.30 hole_h:f1_0 :: h:f 20.54/6.30 hole_s:0'2_0 :: s:0' 20.54/6.30 gen_s:0'3_0 :: Nat -> s:0' 20.54/6.30 20.54/6.30 20.54/6.30 Generator Equations: 20.54/6.30 gen_s:0'3_0(0) <=> 0' 20.54/6.30 gen_s:0'3_0(+(x, 1)) <=> s(gen_s:0'3_0(x)) 20.54/6.30 20.54/6.30 20.54/6.30 The following defined symbols remain to be analysed: 20.54/6.30 g, h 20.54/6.30 20.54/6.30 They will be analysed ascendingly in the following order: 20.54/6.30 g < h 20.54/6.30 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (39) RewriteLemmaProof (LOWER BOUND(ID)) 20.54/6.30 Proved the following rewrite lemma: 20.54/6.30 g(gen_s:0'3_0(a), gen_s:0'3_0(+(1, n5_0))) -> *4_0, rt in Omega(n5_0) 20.54/6.30 20.54/6.30 Induction Base: 20.54/6.30 g(gen_s:0'3_0(a), gen_s:0'3_0(+(1, 0))) 20.54/6.30 20.54/6.30 Induction Step: 20.54/6.30 g(gen_s:0'3_0(a), gen_s:0'3_0(+(1, +(n5_0, 1)))) ->_R^Omega(1) 20.54/6.30 g(gen_s:0'3_0(a), gen_s:0'3_0(+(1, n5_0))) ->_IH 20.54/6.30 *4_0 20.54/6.30 20.54/6.30 We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (40) 20.54/6.30 Complex Obligation (BEST) 20.54/6.30 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (41) 20.54/6.30 Obligation: 20.54/6.30 Proved the lower bound n^1 for the following obligation: 20.54/6.30 20.54/6.30 TRS: 20.54/6.30 Rules: 20.54/6.30 h(X, Z) -> f(X, s(X), Z) 20.54/6.30 f(X, Y, g(X, Y)) -> h(0', g(X, Y)) 20.54/6.30 g(0', Y) -> 0' 20.54/6.30 g(X, s(Y)) -> g(X, Y) 20.54/6.30 20.54/6.30 Types: 20.54/6.30 h :: s:0' -> s:0' -> h:f 20.54/6.30 f :: s:0' -> s:0' -> s:0' -> h:f 20.54/6.30 s :: s:0' -> s:0' 20.54/6.30 g :: s:0' -> s:0' -> s:0' 20.54/6.30 0' :: s:0' 20.54/6.30 hole_h:f1_0 :: h:f 20.54/6.30 hole_s:0'2_0 :: s:0' 20.54/6.30 gen_s:0'3_0 :: Nat -> s:0' 20.54/6.30 20.54/6.30 20.54/6.30 Generator Equations: 20.54/6.30 gen_s:0'3_0(0) <=> 0' 20.54/6.30 gen_s:0'3_0(+(x, 1)) <=> s(gen_s:0'3_0(x)) 20.54/6.30 20.54/6.30 20.54/6.30 The following defined symbols remain to be analysed: 20.54/6.30 g, h 20.54/6.30 20.54/6.30 They will be analysed ascendingly in the following order: 20.54/6.30 g < h 20.54/6.30 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (42) LowerBoundPropagationProof (FINISHED) 20.54/6.30 Propagated lower bound. 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (43) 20.54/6.30 BOUNDS(n^1, INF) 20.54/6.30 20.54/6.30 ---------------------------------------- 20.54/6.30 20.54/6.30 (44) 20.54/6.30 Obligation: 20.54/6.30 TRS: 20.54/6.30 Rules: 20.54/6.30 h(X, Z) -> f(X, s(X), Z) 20.54/6.30 f(X, Y, g(X, Y)) -> h(0', g(X, Y)) 20.54/6.30 g(0', Y) -> 0' 20.54/6.30 g(X, s(Y)) -> g(X, Y) 20.54/6.30 20.54/6.30 Types: 20.54/6.30 h :: s:0' -> s:0' -> h:f 20.54/6.30 f :: s:0' -> s:0' -> s:0' -> h:f 20.54/6.30 s :: s:0' -> s:0' 20.54/6.30 g :: s:0' -> s:0' -> s:0' 20.54/6.30 0' :: s:0' 20.54/6.30 hole_h:f1_0 :: h:f 20.54/6.30 hole_s:0'2_0 :: s:0' 20.54/6.30 gen_s:0'3_0 :: Nat -> s:0' 20.54/6.30 20.54/6.30 20.54/6.30 Lemmas: 20.54/6.30 g(gen_s:0'3_0(a), gen_s:0'3_0(+(1, n5_0))) -> *4_0, rt in Omega(n5_0) 20.54/6.30 20.54/6.30 20.54/6.30 Generator Equations: 20.54/6.30 gen_s:0'3_0(0) <=> 0' 20.54/6.30 gen_s:0'3_0(+(x, 1)) <=> s(gen_s:0'3_0(x)) 20.54/6.30 20.54/6.30 20.54/6.30 The following defined symbols remain to be analysed: 20.54/6.30 h 20.59/8.70 EOF