/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^2)) proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 223 ms] (4) CpxRelTRS (5) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxWeightedTrs (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxTypedWeightedTrs (11) CompletionProof [UPPER BOUND(ID), 0 ms] (12) CpxTypedWeightedCompleteTrs (13) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (14) CpxTypedWeightedCompleteTrs (15) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (16) CpxRNTS (17) SimplificationProof [BOTH BOUNDS(ID, ID), 1 ms] (18) CpxRNTS (19) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRNTS (21) ResultPropagationProof [UPPER BOUND(ID), 4 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 623 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 149 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 3500 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 2866 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 170 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 220 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 2127 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 1433 ms] (50) CpxRNTS (51) FinalProof [FINISHED, 0 ms] (52) BOUNDS(1, n^2) (53) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CpxRelTRS (55) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (56) typed CpxTrs (57) OrderProof [LOWER BOUND(ID), 0 ms] (58) typed CpxTrs (59) RewriteLemmaProof [LOWER BOUND(ID), 424 ms] (60) BEST (61) proven lower bound (62) LowerBoundPropagationProof [FINISHED, 0 ms] (63) BOUNDS(n^1, INF) (64) typed CpxTrs (65) RewriteLemmaProof [LOWER BOUND(ID), 423 ms] (66) BOUNDS(1, INF) ---------------------------------------- (0) Obligation: The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) The (relative) TRS S consists of the following rules: encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Rewrite Strategy: FULL ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) The (relative) TRS S consists of the following rules: encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Rewrite Strategy: FULL ---------------------------------------- (5) RcToIrcProof (BOTH BOUNDS(ID, ID)) Converted rc-obligation to irc-obligation. As the TRS is a non-duplicating overlay system, we have rc = irc. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) The (relative) TRS S consists of the following rules: encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) [1] g(h(x, y), z) -> g(x, f(y, z)) [1] g(x, h(y, z)) -> h(g(x, y), z) [1] encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) [0] encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) [0] encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) [1] g(h(x, y), z) -> g(x, f(y, z)) [1] g(x, h(y, z)) -> h(g(x, y), z) [1] encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) [0] encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) [0] encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) [0] The TRS has the following type information: g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encArg :: f:h:cons_g -> f:h:cons_g cons_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g Rewrite Strategy: INNERMOST ---------------------------------------- (11) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: g_2 encArg_1 encode_g_2 encode_f_2 encode_h_2 Due to the following rules being added: encArg(v0) -> const [0] encode_g(v0, v1) -> const [0] encode_f(v0, v1) -> const [0] encode_h(v0, v1) -> const [0] g(v0, v1) -> const [0] And the following fresh constants: const ---------------------------------------- (12) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) [1] g(h(x, y), z) -> g(x, f(y, z)) [1] g(x, h(y, z)) -> h(g(x, y), z) [1] encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) [0] encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) [0] encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) [0] encArg(v0) -> const [0] encode_g(v0, v1) -> const [0] encode_f(v0, v1) -> const [0] encode_h(v0, v1) -> const [0] g(v0, v1) -> const [0] The TRS has the following type information: g :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const f :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const h :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encArg :: f:h:cons_g:const -> f:h:cons_g:const cons_g :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encode_g :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encode_f :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encode_h :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const const :: f:h:cons_g:const Rewrite Strategy: INNERMOST ---------------------------------------- (13) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (14) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) [1] g(h(x, y), z) -> g(x, f(y, z)) [1] g(x, h(y, z)) -> h(g(x, y), z) [1] encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) [0] encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) [0] encArg(cons_g(f(x_1', x_2'), f(x_12, x_22))) -> g(f(encArg(x_1'), encArg(x_2')), f(encArg(x_12), encArg(x_22))) [0] encArg(cons_g(f(x_1', x_2'), h(x_13, x_23))) -> g(f(encArg(x_1'), encArg(x_2')), h(encArg(x_13), encArg(x_23))) [0] encArg(cons_g(f(x_1', x_2'), cons_g(x_14, x_24))) -> g(f(encArg(x_1'), encArg(x_2')), g(encArg(x_14), encArg(x_24))) [0] encArg(cons_g(f(x_1', x_2'), x_2)) -> g(f(encArg(x_1'), encArg(x_2')), const) [0] encArg(cons_g(h(x_1'', x_2''), f(x_15, x_25))) -> g(h(encArg(x_1''), encArg(x_2'')), f(encArg(x_15), encArg(x_25))) [0] encArg(cons_g(h(x_1'', x_2''), h(x_16, x_26))) -> g(h(encArg(x_1''), encArg(x_2'')), h(encArg(x_16), encArg(x_26))) [0] encArg(cons_g(h(x_1'', x_2''), cons_g(x_17, x_27))) -> g(h(encArg(x_1''), encArg(x_2'')), g(encArg(x_17), encArg(x_27))) [0] encArg(cons_g(h(x_1'', x_2''), x_2)) -> g(h(encArg(x_1''), encArg(x_2'')), const) [0] encArg(cons_g(cons_g(x_11, x_21), f(x_18, x_28))) -> g(g(encArg(x_11), encArg(x_21)), f(encArg(x_18), encArg(x_28))) [0] encArg(cons_g(cons_g(x_11, x_21), h(x_19, x_29))) -> g(g(encArg(x_11), encArg(x_21)), h(encArg(x_19), encArg(x_29))) [0] encArg(cons_g(cons_g(x_11, x_21), cons_g(x_110, x_210))) -> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) [0] encArg(cons_g(cons_g(x_11, x_21), x_2)) -> g(g(encArg(x_11), encArg(x_21)), const) [0] encArg(cons_g(x_1, f(x_111, x_211))) -> g(const, f(encArg(x_111), encArg(x_211))) [0] encArg(cons_g(x_1, h(x_112, x_212))) -> g(const, h(encArg(x_112), encArg(x_212))) [0] encArg(cons_g(x_1, cons_g(x_113, x_213))) -> g(const, g(encArg(x_113), encArg(x_213))) [0] encArg(cons_g(x_1, x_2)) -> g(const, const) [0] encode_g(f(x_114, x_214), f(x_117, x_217)) -> g(f(encArg(x_114), encArg(x_214)), f(encArg(x_117), encArg(x_217))) [0] encode_g(f(x_114, x_214), h(x_118, x_218)) -> g(f(encArg(x_114), encArg(x_214)), h(encArg(x_118), encArg(x_218))) [0] encode_g(f(x_114, x_214), cons_g(x_119, x_219)) -> g(f(encArg(x_114), encArg(x_214)), g(encArg(x_119), encArg(x_219))) [0] encode_g(f(x_114, x_214), x_2) -> g(f(encArg(x_114), encArg(x_214)), const) [0] encode_g(h(x_115, x_215), f(x_120, x_220)) -> g(h(encArg(x_115), encArg(x_215)), f(encArg(x_120), encArg(x_220))) [0] encode_g(h(x_115, x_215), h(x_121, x_221)) -> g(h(encArg(x_115), encArg(x_215)), h(encArg(x_121), encArg(x_221))) [0] encode_g(h(x_115, x_215), cons_g(x_122, x_222)) -> g(h(encArg(x_115), encArg(x_215)), g(encArg(x_122), encArg(x_222))) [0] encode_g(h(x_115, x_215), x_2) -> g(h(encArg(x_115), encArg(x_215)), const) [0] encode_g(cons_g(x_116, x_216), f(x_123, x_223)) -> g(g(encArg(x_116), encArg(x_216)), f(encArg(x_123), encArg(x_223))) [0] encode_g(cons_g(x_116, x_216), h(x_124, x_224)) -> g(g(encArg(x_116), encArg(x_216)), h(encArg(x_124), encArg(x_224))) [0] encode_g(cons_g(x_116, x_216), cons_g(x_125, x_225)) -> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) [0] encode_g(cons_g(x_116, x_216), x_2) -> g(g(encArg(x_116), encArg(x_216)), const) [0] encode_g(x_1, f(x_126, x_226)) -> g(const, f(encArg(x_126), encArg(x_226))) [0] encode_g(x_1, h(x_127, x_227)) -> g(const, h(encArg(x_127), encArg(x_227))) [0] encode_g(x_1, cons_g(x_128, x_228)) -> g(const, g(encArg(x_128), encArg(x_228))) [0] encode_g(x_1, x_2) -> g(const, const) [0] encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) [0] encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) [0] encArg(v0) -> const [0] encode_g(v0, v1) -> const [0] encode_f(v0, v1) -> const [0] encode_h(v0, v1) -> const [0] g(v0, v1) -> const [0] The TRS has the following type information: g :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const f :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const h :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encArg :: f:h:cons_g:const -> f:h:cons_g:const cons_g :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encode_g :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encode_f :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const encode_h :: f:h:cons_g:const -> f:h:cons_g:const -> f:h:cons_g:const const :: f:h:cons_g:const Rewrite Strategy: INNERMOST ---------------------------------------- (15) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: const => 0 ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_f(z', z'') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_2 >= 0, z'' = x_2 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: x_1 >= 0, x_128 >= 0, z' = x_1, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 0) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: x_1 >= 0, x_226 >= 0, z' = x_1, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: x_1 >= 0, x_127 >= 0, z' = x_1, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, x_2 >= 0, z' = 1 + x_114 + x_214, z'' = x_2 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_2 >= 0, z'' = x_2 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_h(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_h(z', z'') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 g(z', z'') -{ 1 }-> g(x, 1 + y + z) :|: z'' = z, z >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 g(z', z'') -{ 1 }-> 1 + x + g(y, z) :|: z'' = z, z >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 1 }-> 1 + g(x, y) + z :|: z >= 0, z' = x, x >= 0, y >= 0, z'' = 1 + y + z ---------------------------------------- (17) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 0) :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> g(x, 1 + y + z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> 1 + x + g(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 1 }-> 1 + g(z', y) + z :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z ---------------------------------------- (19) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { g } { encArg } { encode_h } { encode_f } { encode_g } ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 0) :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> g(x, 1 + y + z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> 1 + x + g(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 1 }-> 1 + g(z', y) + z :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z Function symbols to be analyzed: {g}, {encArg}, {encode_h}, {encode_f}, {encode_g} ---------------------------------------- (21) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 0) :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> g(x, 1 + y + z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> 1 + x + g(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 1 }-> 1 + g(z', y) + z :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z Function symbols to be analyzed: {g}, {encArg}, {encode_h}, {encode_f}, {encode_g} ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: g after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' + z'' ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 0) :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> g(x, 1 + y + z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> 1 + x + g(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 1 }-> 1 + g(z', y) + z :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z Function symbols to be analyzed: {g}, {encArg}, {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: ?, size: O(n^1) [z' + z''] ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: g after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z' + z'' ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 0) :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> g(x, 1 + y + z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 }-> 1 + x + g(y, z'') :|: z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 1 }-> 1 + g(z', y) + z :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z Function symbols to be analyzed: {encArg}, {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] ---------------------------------------- (27) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encArg}, {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 13*z' ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encArg}, {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: ?, size: O(n^1) [13*z'] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 156*z' + 52*z'^2 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), g(encArg(x_110), encArg(x_210))) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 0) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_18) + encArg(x_28)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 0 }-> g(g(encArg(x_11), encArg(x_21)), 1 + encArg(x_19) + encArg(x_29)) :|: x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 0 }-> g(0, g(encArg(x_113), encArg(x_213))) :|: x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 0 }-> g(0, 1 + encArg(x_111) + encArg(x_211)) :|: z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 0 }-> g(0, 1 + encArg(x_112) + encArg(x_212)) :|: x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), g(encArg(x_14), encArg(x_24))) :|: x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_12) + encArg(x_22)) :|: x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1') + encArg(x_2'), 1 + encArg(x_13) + encArg(x_23)) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), g(encArg(x_17), encArg(x_27))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 0) :|: z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_15) + encArg(x_25)) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 0 }-> g(1 + encArg(x_1'') + encArg(x_2''), 1 + encArg(x_16) + encArg(x_26)) :|: x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), g(encArg(x_125), encArg(x_225))) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 0) :|: x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_123) + encArg(x_223)) :|: x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 0 }-> g(g(encArg(x_116), encArg(x_216)), 1 + encArg(x_124) + encArg(x_224)) :|: x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 0 }-> g(0, g(encArg(x_128), encArg(x_228))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_126) + encArg(x_226)) :|: z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 0 }-> g(0, 1 + encArg(x_127) + encArg(x_227)) :|: z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), g(encArg(x_119), encArg(x_219))) :|: x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 0) :|: x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_117) + encArg(x_217)) :|: x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_114) + encArg(x_214), 1 + encArg(x_118) + encArg(x_218)) :|: z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), g(encArg(x_122), encArg(x_222))) :|: x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 0) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_120) + encArg(x_220)) :|: x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> g(1 + encArg(x_115) + encArg(x_215), 1 + encArg(x_121) + encArg(x_221)) :|: z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] ---------------------------------------- (33) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_h after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 13*z' + 13*z'' ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_h}, {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: ?, size: O(n^1) [1 + 13*z' + 13*z''] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_h after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] ---------------------------------------- (39) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_f after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 13*z' + 13*z'' ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_f}, {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_f: runtime: ?, size: O(n^1) [1 + 13*z' + 13*z''] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_f after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_f: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] ---------------------------------------- (45) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_f: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encode_g after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 13*z' + 13*z'' ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: {encode_g} Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_f: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_g: runtime: ?, size: O(n^1) [13*z' + 13*z''] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_g after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 24 + 4524*z' + 1248*z'^2 + 4212*z'' + 1248*z''^2 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 3 + 2*s10 + 2*s11 + s12 + s13 + 156*x_1' + 52*x_1'^2 + 156*x_13 + 52*x_13^2 + 156*x_2' + 52*x_2'^2 + 156*x_23 + 52*x_23^2 }-> s14 :|: s10 >= 0, s10 <= 13 * x_1', s11 >= 0, s11 <= 13 * x_2', s12 >= 0, s12 <= 13 * x_13, s13 >= 0, s13 <= 13 * x_23, s14 >= 0, s14 <= 1 + s10 + s11 + (1 + s12 + s13), z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_23), x_2' >= 0, x_13 >= 0, x_1' >= 0, x_23 >= 0 encArg(z') -{ 2 + 2*s15 + 2*s16 + 2*s17 + s18 + s19 + 156*x_1' + 52*x_1'^2 + 156*x_14 + 52*x_14^2 + 156*x_2' + 52*x_2'^2 + 156*x_24 + 52*x_24^2 }-> s20 :|: s15 >= 0, s15 <= 13 * x_1', s16 >= 0, s16 <= 13 * x_2', s17 >= 0, s17 <= 13 * x_14, s18 >= 0, s18 <= 13 * x_24, s19 >= 0, s19 <= s17 + s18, s20 >= 0, s20 <= 1 + s15 + s16 + s19, x_14 >= 0, x_2' >= 0, x_1' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_14 + x_24), x_24 >= 0 encArg(z') -{ 2 + 2*s21 + 2*s22 + 156*x_1' + 52*x_1'^2 + 156*x_2' + 52*x_2'^2 }-> s23 :|: s21 >= 0, s21 <= 13 * x_1', s22 >= 0, s22 <= 13 * x_2', s23 >= 0, s23 <= 1 + s21 + s22 + 0, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 3 + 2*s24 + 2*s25 + s26 + s27 + 156*x_1'' + 52*x_1''^2 + 156*x_15 + 52*x_15^2 + 156*x_2'' + 52*x_2''^2 + 156*x_25 + 52*x_25^2 }-> s28 :|: s24 >= 0, s24 <= 13 * x_1'', s25 >= 0, s25 <= 13 * x_2'', s26 >= 0, s26 <= 13 * x_15, s27 >= 0, s27 <= 13 * x_25, s28 >= 0, s28 <= 1 + s24 + s25 + (1 + s26 + s27), x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_15 + x_25), x_25 >= 0, x_2'' >= 0 encArg(z') -{ 3 + 2*s29 + 2*s30 + s31 + s32 + 156*x_1'' + 52*x_1''^2 + 156*x_16 + 52*x_16^2 + 156*x_2'' + 52*x_2''^2 + 156*x_26 + 52*x_26^2 }-> s33 :|: s29 >= 0, s29 <= 13 * x_1'', s30 >= 0, s30 <= 13 * x_2'', s31 >= 0, s31 <= 13 * x_16, s32 >= 0, s32 <= 13 * x_26, s33 >= 0, s33 <= 1 + s29 + s30 + (1 + s31 + s32), x_1'' >= 0, x_16 >= 0, x_26 >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_16 + x_26), x_2'' >= 0 encArg(z') -{ 2 + 2*s34 + 2*s35 + 2*s36 + s37 + s38 + 156*x_1'' + 52*x_1''^2 + 156*x_17 + 52*x_17^2 + 156*x_2'' + 52*x_2''^2 + 156*x_27 + 52*x_27^2 }-> s39 :|: s34 >= 0, s34 <= 13 * x_1'', s35 >= 0, s35 <= 13 * x_2'', s36 >= 0, s36 <= 13 * x_17, s37 >= 0, s37 <= 13 * x_27, s38 >= 0, s38 <= s36 + s37, s39 >= 0, s39 <= 1 + s34 + s35 + s38, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2'') + (1 + x_17 + x_27), x_17 >= 0, x_2'' >= 0, x_27 >= 0 encArg(z') -{ 2 + 2*s40 + 2*s41 + 156*x_1'' + 52*x_1''^2 + 156*x_2'' + 52*x_2''^2 }-> s42 :|: s40 >= 0, s40 <= 13 * x_1'', s41 >= 0, s41 <= 13 * x_2'', s42 >= 0, s42 <= 1 + s40 + s41 + 0, z' = 1 + (1 + x_1'' + x_2'') + x_2, x_1'' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z') -{ 1 + 2*s43 + s44 + 2*s45 + s46 + s47 + 156*x_11 + 52*x_11^2 + 156*x_18 + 52*x_18^2 + 156*x_21 + 52*x_21^2 + 156*x_28 + 52*x_28^2 }-> s48 :|: s43 >= 0, s43 <= 13 * x_11, s44 >= 0, s44 <= 13 * x_21, s45 >= 0, s45 <= s43 + s44, s46 >= 0, s46 <= 13 * x_18, s47 >= 0, s47 <= 13 * x_28, s48 >= 0, s48 <= s45 + (1 + s46 + s47), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_18 + x_28), x_18 >= 0, x_28 >= 0, x_21 >= 0 encArg(z') -{ 1 + 2*s49 + s50 + 2*s51 + s52 + s53 + 156*x_11 + 52*x_11^2 + 156*x_19 + 52*x_19^2 + 156*x_21 + 52*x_21^2 + 156*x_29 + 52*x_29^2 }-> s54 :|: s49 >= 0, s49 <= 13 * x_11, s50 >= 0, s50 <= 13 * x_21, s51 >= 0, s51 <= s49 + s50, s52 >= 0, s52 <= 13 * x_19, s53 >= 0, s53 <= 13 * x_29, s54 >= 0, s54 <= s51 + (1 + s52 + s53), x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_19 + x_29), x_21 >= 0, x_19 >= 0, x_29 >= 0 encArg(z') -{ 2*s55 + s56 + 2*s57 + 2*s58 + s59 + s60 + 156*x_11 + 52*x_11^2 + 156*x_110 + 52*x_110^2 + 156*x_21 + 52*x_21^2 + 156*x_210 + 52*x_210^2 }-> s61 :|: s55 >= 0, s55 <= 13 * x_11, s56 >= 0, s56 <= 13 * x_21, s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= 13 * x_110, s59 >= 0, s59 <= 13 * x_210, s60 >= 0, s60 <= s58 + s59, s61 >= 0, s61 <= s57 + s60, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + (1 + x_110 + x_210), x_110 >= 0, x_21 >= 0, x_210 >= 0 encArg(z') -{ 2*s62 + s63 + 2*s64 + 156*x_11 + 52*x_11^2 + 156*x_21 + 52*x_21^2 }-> s65 :|: s62 >= 0, s62 <= 13 * x_11, s63 >= 0, s63 <= 13 * x_21, s64 >= 0, s64 <= s62 + s63, s65 >= 0, s65 <= s64 + 0, x_11 >= 0, z' = 1 + (1 + x_11 + x_21) + x_2, x_2 >= 0, x_21 >= 0 encArg(z') -{ 1 + s66 + s67 + 156*x_111 + 52*x_111^2 + 156*x_211 + 52*x_211^2 }-> s68 :|: s66 >= 0, s66 <= 13 * x_111, s67 >= 0, s67 <= 13 * x_211, s68 >= 0, s68 <= 0 + (1 + s66 + s67), z' = 1 + x_1 + (1 + x_111 + x_211), x_1 >= 0, x_211 >= 0, x_111 >= 0 encArg(z') -{ 1 + s69 + s70 + 156*x_112 + 52*x_112^2 + 156*x_212 + 52*x_212^2 }-> s71 :|: s69 >= 0, s69 <= 13 * x_112, s70 >= 0, s70 <= 13 * x_212, s71 >= 0, s71 <= 0 + (1 + s69 + s70), x_1 >= 0, x_212 >= 0, z' = 1 + x_1 + (1 + x_112 + x_212), x_112 >= 0 encArg(z') -{ 2*s72 + s73 + s74 + 156*x_113 + 52*x_113^2 + 156*x_213 + 52*x_213^2 }-> s75 :|: s72 >= 0, s72 <= 13 * x_113, s73 >= 0, s73 <= 13 * x_213, s74 >= 0, s74 <= s72 + s73, s75 >= 0, s75 <= 0 + s74, x_1 >= 0, x_113 >= 0, x_213 >= 0, z' = 1 + x_1 + (1 + x_113 + x_213) encArg(z') -{ 3 + 2*s5 + 2*s6 + s7 + s8 + 156*x_1' + 52*x_1'^2 + 156*x_12 + 52*x_12^2 + 156*x_2' + 52*x_2'^2 + 156*x_22 + 52*x_22^2 }-> s9 :|: s5 >= 0, s5 <= 13 * x_1', s6 >= 0, s6 <= 13 * x_2', s7 >= 0, s7 <= 13 * x_12, s8 >= 0, s8 <= 13 * x_22, s9 >= 0, s9 <= 1 + s5 + s6 + (1 + s7 + s8), x_2' >= 0, x_1' >= 0, x_12 >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_12 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 156*x_1 + 52*x_1^2 + 156*x_2 + 52*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 13 * x_1, s4 >= 0, s4 <= 13 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_f(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_f(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s147 + s148 :|: s147 >= 0, s147 <= 13 * z', s148 >= 0, s148 <= 13 * z'', z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s100 + 2*s101 + s102 + s103 + 156*x_115 + 52*x_115^2 + 156*x_121 + 52*x_121^2 + 156*x_215 + 52*x_215^2 + 156*x_221 + 52*x_221^2 }-> s104 :|: s100 >= 0, s100 <= 13 * x_115, s101 >= 0, s101 <= 13 * x_215, s102 >= 0, s102 <= 13 * x_121, s103 >= 0, s103 <= 13 * x_221, s104 >= 0, s104 <= 1 + s100 + s101 + (1 + s102 + s103), z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_221 >= 0, z'' = 1 + x_121 + x_221, x_121 >= 0 encode_g(z', z'') -{ 2 + 2*s105 + 2*s106 + 2*s107 + s108 + s109 + 156*x_115 + 52*x_115^2 + 156*x_122 + 52*x_122^2 + 156*x_215 + 52*x_215^2 + 156*x_222 + 52*x_222^2 }-> s110 :|: s105 >= 0, s105 <= 13 * x_115, s106 >= 0, s106 <= 13 * x_215, s107 >= 0, s107 <= 13 * x_122, s108 >= 0, s108 <= 13 * x_222, s109 >= 0, s109 <= s107 + s108, s110 >= 0, s110 <= 1 + s105 + s106 + s109, x_222 >= 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, x_122 >= 0, z'' = 1 + x_122 + x_222 encode_g(z', z'') -{ 2 + 2*s111 + 2*s112 + 156*x_115 + 52*x_115^2 + 156*x_215 + 52*x_215^2 }-> s113 :|: s111 >= 0, s111 <= 13 * x_115, s112 >= 0, s112 <= 13 * x_215, s113 >= 0, s113 <= 1 + s111 + s112 + 0, z' = 1 + x_115 + x_215, x_215 >= 0, x_115 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + 2*s114 + s115 + 2*s116 + s117 + s118 + 156*x_116 + 52*x_116^2 + 156*x_123 + 52*x_123^2 + 156*x_216 + 52*x_216^2 + 156*x_223 + 52*x_223^2 }-> s119 :|: s114 >= 0, s114 <= 13 * x_116, s115 >= 0, s115 <= 13 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= 13 * x_123, s118 >= 0, s118 <= 13 * x_223, s119 >= 0, s119 <= s116 + (1 + s117 + s118), x_216 >= 0, x_123 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_223 >= 0, z'' = 1 + x_123 + x_223 encode_g(z', z'') -{ 1 + 2*s120 + s121 + 2*s122 + s123 + s124 + 156*x_116 + 52*x_116^2 + 156*x_124 + 52*x_124^2 + 156*x_216 + 52*x_216^2 + 156*x_224 + 52*x_224^2 }-> s125 :|: s120 >= 0, s120 <= 13 * x_116, s121 >= 0, s121 <= 13 * x_216, s122 >= 0, s122 <= s120 + s121, s123 >= 0, s123 <= 13 * x_124, s124 >= 0, s124 <= 13 * x_224, s125 >= 0, s125 <= s122 + (1 + s123 + s124), x_216 >= 0, x_124 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_224 >= 0, z'' = 1 + x_124 + x_224 encode_g(z', z'') -{ 2*s126 + s127 + 2*s128 + 2*s129 + s130 + s131 + 156*x_116 + 52*x_116^2 + 156*x_125 + 52*x_125^2 + 156*x_216 + 52*x_216^2 + 156*x_225 + 52*x_225^2 }-> s132 :|: s126 >= 0, s126 <= 13 * x_116, s127 >= 0, s127 <= 13 * x_216, s128 >= 0, s128 <= s126 + s127, s129 >= 0, s129 <= 13 * x_125, s130 >= 0, s130 <= 13 * x_225, s131 >= 0, s131 <= s129 + s130, s132 >= 0, s132 <= s128 + s131, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, x_125 >= 0, z'' = 1 + x_125 + x_225, x_225 >= 0 encode_g(z', z'') -{ 2*s133 + s134 + 2*s135 + 156*x_116 + 52*x_116^2 + 156*x_216 + 52*x_216^2 }-> s136 :|: s133 >= 0, s133 <= 13 * x_116, s134 >= 0, s134 <= 13 * x_216, s135 >= 0, s135 <= s133 + s134, s136 >= 0, s136 <= s135 + 0, x_216 >= 0, z' = 1 + x_116 + x_216, x_116 >= 0, z'' >= 0 encode_g(z', z'') -{ 1 + s137 + s138 + 156*x_126 + 52*x_126^2 + 156*x_226 + 52*x_226^2 }-> s139 :|: s137 >= 0, s137 <= 13 * x_126, s138 >= 0, s138 <= 13 * x_226, s139 >= 0, s139 <= 0 + (1 + s137 + s138), z' >= 0, x_226 >= 0, x_126 >= 0, z'' = 1 + x_126 + x_226 encode_g(z', z'') -{ 1 + s140 + s141 + 156*x_127 + 52*x_127^2 + 156*x_227 + 52*x_227^2 }-> s142 :|: s140 >= 0, s140 <= 13 * x_127, s141 >= 0, s141 <= 13 * x_227, s142 >= 0, s142 <= 0 + (1 + s140 + s141), z' >= 0, x_127 >= 0, z'' = 1 + x_127 + x_227, x_227 >= 0 encode_g(z', z'') -{ 2*s143 + s144 + s145 + 156*x_128 + 52*x_128^2 + 156*x_228 + 52*x_228^2 }-> s146 :|: s143 >= 0, s143 <= 13 * x_128, s144 >= 0, s144 <= 13 * x_228, s145 >= 0, s145 <= s143 + s144, s146 >= 0, s146 <= 0 + s145, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_228, x_228 >= 0 encode_g(z', z'') -{ 0 }-> s2 :|: s2 >= 0, s2 <= 0 + 0, z' >= 0, z'' >= 0 encode_g(z', z'') -{ 3 + 2*s76 + 2*s77 + s78 + s79 + 156*x_114 + 52*x_114^2 + 156*x_117 + 52*x_117^2 + 156*x_214 + 52*x_214^2 + 156*x_217 + 52*x_217^2 }-> s80 :|: s76 >= 0, s76 <= 13 * x_114, s77 >= 0, s77 <= 13 * x_214, s78 >= 0, s78 <= 13 * x_117, s79 >= 0, s79 <= 13 * x_217, s80 >= 0, s80 <= 1 + s76 + s77 + (1 + s78 + s79), x_117 >= 0, x_114 >= 0, x_214 >= 0, z' = 1 + x_114 + x_214, x_217 >= 0, z'' = 1 + x_117 + x_217 encode_g(z', z'') -{ 3 + 2*s81 + 2*s82 + s83 + s84 + 156*x_114 + 52*x_114^2 + 156*x_118 + 52*x_118^2 + 156*x_214 + 52*x_214^2 + 156*x_218 + 52*x_218^2 }-> s85 :|: s81 >= 0, s81 <= 13 * x_114, s82 >= 0, s82 <= 13 * x_214, s83 >= 0, s83 <= 13 * x_118, s84 >= 0, s84 <= 13 * x_218, s85 >= 0, s85 <= 1 + s81 + s82 + (1 + s83 + s84), z'' = 1 + x_118 + x_218, x_114 >= 0, x_214 >= 0, x_218 >= 0, z' = 1 + x_114 + x_214, x_118 >= 0 encode_g(z', z'') -{ 2 + 2*s86 + 2*s87 + 2*s88 + s89 + s90 + 156*x_114 + 52*x_114^2 + 156*x_119 + 52*x_119^2 + 156*x_214 + 52*x_214^2 + 156*x_219 + 52*x_219^2 }-> s91 :|: s86 >= 0, s86 <= 13 * x_114, s87 >= 0, s87 <= 13 * x_214, s88 >= 0, s88 <= 13 * x_119, s89 >= 0, s89 <= 13 * x_219, s90 >= 0, s90 <= s88 + s89, s91 >= 0, s91 <= 1 + s86 + s87 + s90, x_114 >= 0, z'' = 1 + x_119 + x_219, x_214 >= 0, z' = 1 + x_114 + x_214, x_219 >= 0, x_119 >= 0 encode_g(z', z'') -{ 2 + 2*s92 + 2*s93 + 156*x_114 + 52*x_114^2 + 156*x_214 + 52*x_214^2 }-> s94 :|: s92 >= 0, s92 <= 13 * x_114, s93 >= 0, s93 <= 13 * x_214, s94 >= 0, s94 <= 1 + s92 + s93 + 0, x_114 >= 0, x_214 >= 0, z'' >= 0, z' = 1 + x_114 + x_214 encode_g(z', z'') -{ 3 + 2*s95 + 2*s96 + s97 + s98 + 156*x_115 + 52*x_115^2 + 156*x_120 + 52*x_120^2 + 156*x_215 + 52*x_215^2 + 156*x_220 + 52*x_220^2 }-> s99 :|: s95 >= 0, s95 <= 13 * x_115, s96 >= 0, s96 <= 13 * x_215, s97 >= 0, s97 <= 13 * x_120, s98 >= 0, s98 <= 13 * x_220, s99 >= 0, s99 <= 1 + s95 + s96 + (1 + s97 + s98), x_120 >= 0, z' = 1 + x_115 + x_215, z'' = 1 + x_120 + x_220, x_215 >= 0, x_115 >= 0, x_220 >= 0 encode_g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_h(z', z'') -{ 156*z' + 52*z'^2 + 156*z'' + 52*z''^2 }-> 1 + s149 + s150 :|: s149 >= 0, s149 <= 13 * z', s150 >= 0, s150 <= 13 * z'', z' >= 0, z'' >= 0 g(z', z'') -{ 2 + 2*x + y + z'' }-> s' :|: s' >= 0, s' <= x + (1 + y + z''), z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 g(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 g(z', z'') -{ 1 + y + 2*z' }-> 1 + s'' + z :|: s'' >= 0, s'' <= z' + y, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z g(z', z'') -{ 1 + 2*y + z'' }-> 1 + x + s :|: s >= 0, s <= y + z'', z'' >= 0, z' = 1 + x + y, x >= 0, y >= 0 Function symbols to be analyzed: Previous analysis results are: g: runtime: O(n^1) [2*z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [156*z' + 52*z'^2], size: O(n^1) [13*z'] encode_h: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_f: runtime: O(n^2) [156*z' + 52*z'^2 + 156*z'' + 52*z''^2], size: O(n^1) [1 + 13*z' + 13*z''] encode_g: runtime: O(n^2) [24 + 4524*z' + 1248*z'^2 + 4212*z'' + 1248*z''^2], size: O(n^1) [13*z' + 13*z''] ---------------------------------------- (51) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (52) BOUNDS(1, n^2) ---------------------------------------- (53) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (54) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) The (relative) TRS S consists of the following rules: encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Rewrite Strategy: FULL ---------------------------------------- (55) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (56) Obligation: TRS: Rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Types: g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encArg :: f:h:cons_g -> f:h:cons_g cons_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g hole_f:h:cons_g1_0 :: f:h:cons_g gen_f:h:cons_g2_0 :: Nat -> f:h:cons_g ---------------------------------------- (57) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: g, encArg They will be analysed ascendingly in the following order: g < encArg ---------------------------------------- (58) Obligation: TRS: Rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Types: g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encArg :: f:h:cons_g -> f:h:cons_g cons_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g hole_f:h:cons_g1_0 :: f:h:cons_g gen_f:h:cons_g2_0 :: Nat -> f:h:cons_g Generator Equations: gen_f:h:cons_g2_0(0) <=> hole_f:h:cons_g1_0 gen_f:h:cons_g2_0(+(x, 1)) <=> f(hole_f:h:cons_g1_0, gen_f:h:cons_g2_0(x)) The following defined symbols remain to be analysed: g, encArg They will be analysed ascendingly in the following order: g < encArg ---------------------------------------- (59) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: g(gen_f:h:cons_g2_0(+(1, n4_0)), gen_f:h:cons_g2_0(b)) -> *3_0, rt in Omega(n4_0) Induction Base: g(gen_f:h:cons_g2_0(+(1, 0)), gen_f:h:cons_g2_0(b)) Induction Step: g(gen_f:h:cons_g2_0(+(1, +(n4_0, 1))), gen_f:h:cons_g2_0(b)) ->_R^Omega(1) f(hole_f:h:cons_g1_0, g(gen_f:h:cons_g2_0(+(1, n4_0)), gen_f:h:cons_g2_0(b))) ->_IH f(hole_f:h:cons_g1_0, *3_0) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (60) Complex Obligation (BEST) ---------------------------------------- (61) Obligation: Proved the lower bound n^1 for the following obligation: TRS: Rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Types: g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encArg :: f:h:cons_g -> f:h:cons_g cons_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g hole_f:h:cons_g1_0 :: f:h:cons_g gen_f:h:cons_g2_0 :: Nat -> f:h:cons_g Generator Equations: gen_f:h:cons_g2_0(0) <=> hole_f:h:cons_g1_0 gen_f:h:cons_g2_0(+(x, 1)) <=> f(hole_f:h:cons_g1_0, gen_f:h:cons_g2_0(x)) The following defined symbols remain to be analysed: g, encArg They will be analysed ascendingly in the following order: g < encArg ---------------------------------------- (62) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (63) BOUNDS(n^1, INF) ---------------------------------------- (64) Obligation: TRS: Rules: g(f(x, y), z) -> f(x, g(y, z)) g(h(x, y), z) -> g(x, f(y, z)) g(x, h(y, z)) -> h(g(x, y), z) encArg(f(x_1, x_2)) -> f(encArg(x_1), encArg(x_2)) encArg(h(x_1, x_2)) -> h(encArg(x_1), encArg(x_2)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2) -> f(encArg(x_1), encArg(x_2)) encode_h(x_1, x_2) -> h(encArg(x_1), encArg(x_2)) Types: g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encArg :: f:h:cons_g -> f:h:cons_g cons_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_g :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_f :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g encode_h :: f:h:cons_g -> f:h:cons_g -> f:h:cons_g hole_f:h:cons_g1_0 :: f:h:cons_g gen_f:h:cons_g2_0 :: Nat -> f:h:cons_g Lemmas: g(gen_f:h:cons_g2_0(+(1, n4_0)), gen_f:h:cons_g2_0(b)) -> *3_0, rt in Omega(n4_0) Generator Equations: gen_f:h:cons_g2_0(0) <=> hole_f:h:cons_g1_0 gen_f:h:cons_g2_0(+(x, 1)) <=> f(hole_f:h:cons_g1_0, gen_f:h:cons_g2_0(x)) The following defined symbols remain to be analysed: encArg ---------------------------------------- (65) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_f:h:cons_g2_0(+(1, n1180_0))) -> *3_0, rt in Omega(0) Induction Base: encArg(gen_f:h:cons_g2_0(+(1, 0))) Induction Step: encArg(gen_f:h:cons_g2_0(+(1, +(n1180_0, 1)))) ->_R^Omega(0) f(encArg(hole_f:h:cons_g1_0), encArg(gen_f:h:cons_g2_0(+(1, n1180_0)))) ->_IH f(encArg(hole_f:h:cons_g1_0), *3_0) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (66) BOUNDS(1, INF)