/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?, O(n^1)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, n^1). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 204 ms] (4) CpxRelTRS (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 18 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (14) CpxRNTS (15) InliningProof [UPPER BOUND(ID), 123 ms] (16) CpxRNTS (17) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxRNTS (19) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRNTS (21) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 256 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 57 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 242 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 73 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 2203 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 2040 ms] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 193 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 73 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 1899 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 1067 ms] (50) CpxRNTS (51) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 161 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (56) CpxRNTS (57) FinalProof [FINISHED, 0 ms] (58) BOUNDS(1, n^1) ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: g(x, y) -> x g(x, y) -> y f(s(x), y, y) -> f(y, x, s(x)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (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(s(x_1)) -> s(encArg(x_1)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_s(x_1) -> s(encArg(x_1)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: g(x, y) -> x g(x, y) -> y f(s(x), y, y) -> f(y, x, s(x)) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_s(x_1) -> s(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: g(x, y) -> x g(x, y) -> y f(s(x), y, y) -> f(y, x, s(x)) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_s(x_1) -> s(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: g(x, y) -> x [1] g(x, y) -> y [1] f(s(x), y, y) -> f(y, x, s(x)) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) [0] encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: g(x, y) -> x [1] g(x, y) -> y [1] f(s(x), y, y) -> f(y, x, s(x)) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) [0] encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] The TRS has the following type information: g :: s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f f :: s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f s :: s:cons_g:cons_f -> s:cons_g:cons_f encArg :: s:cons_g:cons_f -> s:cons_g:cons_f cons_g :: s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f cons_f :: s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f encode_g :: s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f encode_f :: s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f -> s:cons_g:cons_f encode_s :: s:cons_g:cons_f -> s:cons_g:cons_f Rewrite Strategy: INNERMOST ---------------------------------------- (9) 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: f_3 g_2 encArg_1 encode_g_2 encode_f_3 encode_s_1 Due to the following rules being added: encArg(v0) -> const [0] encode_g(v0, v1) -> const [0] encode_f(v0, v1, v2) -> const [0] encode_s(v0) -> const [0] f(v0, v1, v2) -> const [0] And the following fresh constants: const ---------------------------------------- (10) 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(x, y) -> x [1] g(x, y) -> y [1] f(s(x), y, y) -> f(y, x, s(x)) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_g(x_1, x_2)) -> g(encArg(x_1), encArg(x_2)) [0] encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_g(x_1, x_2) -> g(encArg(x_1), encArg(x_2)) [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encArg(v0) -> const [0] encode_g(v0, v1) -> const [0] encode_f(v0, v1, v2) -> const [0] encode_s(v0) -> const [0] f(v0, v1, v2) -> const [0] The TRS has the following type information: g :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const f :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const s :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const encArg :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const cons_g :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const cons_f :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const encode_g :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const encode_f :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const encode_s :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const const :: s:cons_g:cons_f:const Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (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(x, y) -> x [1] g(x, y) -> y [1] f(s(x), y, y) -> f(y, x, s(x)) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_g(s(x_1'), s(x_12))) -> g(s(encArg(x_1')), s(encArg(x_12))) [0] encArg(cons_g(s(x_1'), cons_g(x_13, x_21))) -> g(s(encArg(x_1')), g(encArg(x_13), encArg(x_21))) [0] encArg(cons_g(s(x_1'), cons_f(x_14, x_22, x_3''))) -> g(s(encArg(x_1')), f(encArg(x_14), encArg(x_22), encArg(x_3''))) [0] encArg(cons_g(s(x_1'), x_2)) -> g(s(encArg(x_1')), const) [0] encArg(cons_g(cons_g(x_1'', x_2'), s(x_15))) -> g(g(encArg(x_1''), encArg(x_2')), s(encArg(x_15))) [0] encArg(cons_g(cons_g(x_1'', x_2'), cons_g(x_16, x_23))) -> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) [0] encArg(cons_g(cons_g(x_1'', x_2'), cons_f(x_17, x_24, x_31))) -> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) [0] encArg(cons_g(cons_g(x_1'', x_2'), x_2)) -> g(g(encArg(x_1''), encArg(x_2')), const) [0] encArg(cons_g(cons_f(x_11, x_2'', x_3'), s(x_18))) -> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), s(encArg(x_18))) [0] encArg(cons_g(cons_f(x_11, x_2'', x_3'), cons_g(x_19, x_25))) -> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) [0] encArg(cons_g(cons_f(x_11, x_2'', x_3'), cons_f(x_110, x_26, x_32))) -> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) [0] encArg(cons_g(cons_f(x_11, x_2'', x_3'), x_2)) -> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), const) [0] encArg(cons_g(x_1, s(x_111))) -> g(const, s(encArg(x_111))) [0] encArg(cons_g(x_1, cons_g(x_112, x_27))) -> g(const, g(encArg(x_112), encArg(x_27))) [0] encArg(cons_g(x_1, cons_f(x_113, x_28, x_33))) -> g(const, f(encArg(x_113), encArg(x_28), encArg(x_33))) [0] encArg(cons_g(x_1, x_2)) -> g(const, const) [0] encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_g(s(x_177), s(x_180)) -> g(s(encArg(x_177)), s(encArg(x_180))) [0] encode_g(s(x_177), cons_g(x_181, x_253)) -> g(s(encArg(x_177)), g(encArg(x_181), encArg(x_253))) [0] encode_g(s(x_177), cons_f(x_182, x_254, x_326)) -> g(s(encArg(x_177)), f(encArg(x_182), encArg(x_254), encArg(x_326))) [0] encode_g(s(x_177), x_2) -> g(s(encArg(x_177)), const) [0] encode_g(cons_g(x_178, x_251), s(x_183)) -> g(g(encArg(x_178), encArg(x_251)), s(encArg(x_183))) [0] encode_g(cons_g(x_178, x_251), cons_g(x_184, x_255)) -> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) [0] encode_g(cons_g(x_178, x_251), cons_f(x_185, x_256, x_327)) -> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) [0] encode_g(cons_g(x_178, x_251), x_2) -> g(g(encArg(x_178), encArg(x_251)), const) [0] encode_g(cons_f(x_179, x_252, x_325), s(x_186)) -> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), s(encArg(x_186))) [0] encode_g(cons_f(x_179, x_252, x_325), cons_g(x_187, x_257)) -> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) [0] encode_g(cons_f(x_179, x_252, x_325), cons_f(x_188, x_258, x_328)) -> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) [0] encode_g(cons_f(x_179, x_252, x_325), x_2) -> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), const) [0] encode_g(x_1, s(x_189)) -> g(const, s(encArg(x_189))) [0] encode_g(x_1, cons_g(x_190, x_259)) -> g(const, g(encArg(x_190), encArg(x_259))) [0] encode_g(x_1, cons_f(x_191, x_260, x_329)) -> g(const, f(encArg(x_191), encArg(x_260), encArg(x_329))) [0] encode_g(x_1, x_2) -> g(const, const) [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encArg(v0) -> const [0] encode_g(v0, v1) -> const [0] encode_f(v0, v1, v2) -> const [0] encode_s(v0) -> const [0] f(v0, v1, v2) -> const [0] The TRS has the following type information: g :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const f :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const s :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const encArg :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const cons_g :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const cons_f :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const encode_g :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const encode_f :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const -> s:cons_g:cons_f:const encode_s :: s:cons_g:cons_f:const -> s:cons_g:cons_f:const const :: s:cons_g:cons_f:const Rewrite Strategy: INNERMOST ---------------------------------------- (13) 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 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 0) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_f(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, x_2 >= 0, z' = x_2, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(x_183)) :|: x_183 >= 0, z' = 1 + x_183, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, x_2 >= 0, z = 1 + x_179 + x_252 + x_325, z' = x_2, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(x_186)) :|: x_325 >= 0, x_186 >= 0, z' = 1 + x_186, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: x_1 >= 0, z' = 1 + x_190 + x_259, z = x_1, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: x_1 >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, z = x_1, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 0) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(x_189)) :|: x_1 >= 0, z' = 1 + x_189, z = x_1, x_189 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, x_177 >= 0, z = 1 + x_177, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, x_177 >= 0, z = 1 + x_177, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), 0) :|: x_2 >= 0, z' = x_2, x_177 >= 0, z = 1 + x_177 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), 1 + encArg(x_180)) :|: x_177 >= 0, x_180 >= 0, z = 1 + x_177, z' = 1 + x_180 encode_g(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 f(z, z', z'') -{ 1 }-> f(y, x, 1 + x) :|: z'' = y, x >= 0, y >= 0, z = 1 + x, z' = y f(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 g(z, z') -{ 1 }-> x :|: x >= 0, y >= 0, z = x, z' = y g(z, z') -{ 1 }-> y :|: x >= 0, y >= 0, z = x, z' = y ---------------------------------------- (15) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: g(z, z') -{ 1 }-> y :|: x >= 0, y >= 0, z = x, z' = y g(z, z') -{ 1 }-> x :|: x >= 0, y >= 0, z = x, z' = y ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_f(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_g(z, z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, x_2 >= 0, z' = x_2, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(x_183)) :|: x_183 >= 0, z' = 1 + x_183, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, x_2 >= 0, z = 1 + x_179 + x_252 + x_325, z' = x_2, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(x_186)) :|: x_325 >= 0, x_186 >= 0, z' = 1 + x_186, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: x_1 >= 0, z' = 1 + x_190 + x_259, z = x_1, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: x_1 >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, z = x_1, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(x_189)) :|: x_1 >= 0, z' = 1 + x_189, z = x_1, x_189 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, x_177 >= 0, z = 1 + x_177, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, x_177 >= 0, z = 1 + x_177, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), 0) :|: x_2 >= 0, z' = x_2, x_177 >= 0, z = 1 + x_177 encode_g(z, z') -{ 0 }-> g(1 + encArg(x_177), 1 + encArg(x_180)) :|: x_177 >= 0, x_180 >= 0, z = 1 + x_177, z' = 1 + x_180 encode_g(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 f(z, z', z'') -{ 1 }-> f(y, x, 1 + x) :|: z'' = y, x >= 0, y >= 0, z = 1 + x, z' = y f(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 g(z, z') -{ 1 }-> x :|: x >= 0, y >= 0, z = x, z' = y g(z, z') -{ 1 }-> y :|: x >= 0, y >= 0, z = x, z' = y ---------------------------------------- (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) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 ---------------------------------------- (19) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { g } { f } { encArg } { encode_f } { encode_g } { encode_s } ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {g}, {f}, {encArg}, {encode_f}, {encode_g}, {encode_s} ---------------------------------------- (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) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {g}, {f}, {encArg}, {encode_f}, {encode_g}, {encode_s} ---------------------------------------- (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) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {g}, {f}, {encArg}, {encode_f}, {encode_g}, {encode_s} 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(1) with polynomial bound: 1 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {f}, {encArg}, {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], 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) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {f}, {encArg}, {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: f after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {f}, {encArg}, {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: ?, size: O(1) [0] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: f after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 1 }-> f(z'', z - 1, 1 + (z - 1)) :|: z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] ---------------------------------------- (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) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] ---------------------------------------- (35) 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: 7*z ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: ?, size: O(n^1) [7*z] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 3*z ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), g(encArg(x_16), encArg(x_23))) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), f(encArg(x_17), encArg(x_24), encArg(x_31))) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 0) :|: x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_1''), encArg(x_2')), 1 + encArg(x_15)) :|: x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), g(encArg(x_19), encArg(x_25))) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), f(encArg(x_110), encArg(x_26), encArg(x_32))) :|: x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 0) :|: x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_11), encArg(x_2''), encArg(x_3')), 1 + encArg(x_18)) :|: x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 0 }-> g(0, g(encArg(x_112), encArg(x_27))) :|: x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 0 }-> g(0, f(encArg(x_113), encArg(x_28), encArg(x_33))) :|: x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 0 }-> g(0, 1 + encArg(x_111)) :|: x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), g(encArg(x_13), encArg(x_21))) :|: x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), f(encArg(x_14), encArg(x_22), encArg(x_3''))) :|: x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 0 }-> g(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> f(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_f(z, z', z'') -{ 0 }-> f(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), g(encArg(x_184), encArg(x_255))) :|: x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), f(encArg(x_185), encArg(x_256), encArg(x_327))) :|: z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 0) :|: z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(g(encArg(x_178), encArg(x_251)), 1 + encArg(z' - 1)) :|: z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), g(encArg(x_187), encArg(x_257))) :|: x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), f(encArg(x_188), encArg(x_258), encArg(x_328))) :|: x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 0) :|: x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(f(encArg(x_179), encArg(x_252), encArg(x_325)), 1 + encArg(z' - 1)) :|: x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 0 }-> g(0, g(encArg(x_190), encArg(x_259))) :|: z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 0 }-> g(0, f(encArg(x_191), encArg(x_260), encArg(x_329))) :|: z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ 0 }-> g(0, 1 + encArg(z' - 1)) :|: z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), g(encArg(x_181), encArg(x_253))) :|: x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), f(encArg(x_182), encArg(x_254), encArg(x_326))) :|: x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 0) :|: z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 0 }-> g(1 + encArg(z - 1), 1 + encArg(z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*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) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*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(1) with polynomial bound: 0 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_f}, {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: ?, size: O(1) [0] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_f after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 4 + 3*z + 3*z' + 3*z'' ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] ---------------------------------------- (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) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] ---------------------------------------- (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: 7*z + 7*z' ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_g}, {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] encode_g: runtime: ?, size: O(n^1) [7*z + 7*z'] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_g after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 3*z + 3*z' ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] encode_g: runtime: O(n^1) [3 + 3*z + 3*z'], size: O(n^1) [7*z + 7*z'] ---------------------------------------- (51) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] encode_g: runtime: O(n^1) [3 + 3*z + 3*z'], size: O(n^1) [7*z + 7*z'] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 7*z ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] encode_g: runtime: O(n^1) [3 + 3*z + 3*z'], size: O(n^1) [7*z + 7*z'] encode_s: runtime: ?, size: O(n^1) [1 + 7*z] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 3*z ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 + 3*x_1' + 3*x_12 }-> s11 :|: s9 >= 0, s9 <= 7 * x_1', s10 >= 0, s10 <= 7 * x_12, s11 >= 0, s11 <= 1 + s10 + (1 + s9), z = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z) -{ 5 + 3*x_1' + 3*x_13 + 3*x_21 }-> s16 :|: s12 >= 0, s12 <= 7 * x_1', s13 >= 0, s13 <= 7 * x_13, s14 >= 0, s14 <= 7 * x_21, s15 >= 0, s15 <= s14 + s13, s16 >= 0, s16 <= s15 + (1 + s12), x_13 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_13 + x_21), x_21 >= 0 encArg(z) -{ 6 + 3*x_1' + 3*x_14 + 3*x_22 + 3*x_3'' }-> s22 :|: s17 >= 0, s17 <= 7 * x_1', s18 >= 0, s18 <= 7 * x_14, s19 >= 0, s19 <= 7 * x_22, s20 >= 0, s20 <= 7 * x_3'', s21 >= 0, s21 <= 0, s22 >= 0, s22 <= s21 + (1 + s17), x_14 >= 0, x_1' >= 0, z = 1 + (1 + x_1') + (1 + x_14 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 2 + 3*x_1' }-> s24 :|: s23 >= 0, s23 <= 7 * x_1', s24 >= 0, s24 <= 0 + (1 + s23), x_1' >= 0, x_2 >= 0, z = 1 + (1 + x_1') + x_2 encArg(z) -{ 5 + 3*x_1'' + 3*x_15 + 3*x_2' }-> s29 :|: s25 >= 0, s25 <= 7 * x_1'', s26 >= 0, s26 <= 7 * x_2', s27 >= 0, s27 <= s26 + s25, s28 >= 0, s28 <= 7 * x_15, s29 >= 0, s29 <= 1 + s28 + s27, x_15 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_15), x_1'' >= 0, x_2' >= 0 encArg(z) -{ 4 + 3*x_1 + 3*x_2 + 3*x_3 }-> s3 :|: s'' >= 0, s'' <= 7 * x_1, s1 >= 0, s1 <= 7 * x_2, s2 >= 0, s2 <= 7 * x_3, s3 >= 0, s3 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 7 + 3*x_1'' + 3*x_16 + 3*x_2' + 3*x_23 }-> s36 :|: s30 >= 0, s30 <= 7 * x_1'', s31 >= 0, s31 <= 7 * x_2', s32 >= 0, s32 <= s31 + s30, s33 >= 0, s33 <= 7 * x_16, s34 >= 0, s34 <= 7 * x_23, s35 >= 0, s35 <= s34 + s33, s36 >= 0, s36 <= s35 + s32, x_1'' >= 0, x_16 >= 0, x_2' >= 0, x_23 >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23) encArg(z) -{ 8 + 3*x_1'' + 3*x_17 + 3*x_2' + 3*x_24 + 3*x_31 }-> s44 :|: s37 >= 0, s37 <= 7 * x_1'', s38 >= 0, s38 <= 7 * x_2', s39 >= 0, s39 <= s38 + s37, s40 >= 0, s40 <= 7 * x_17, s41 >= 0, s41 <= 7 * x_24, s42 >= 0, s42 <= 7 * x_31, s43 >= 0, s43 <= 0, s44 >= 0, s44 <= s43 + s39, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24 + x_31), x_17 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 4 + 3*x_1'' + 3*x_2' }-> s48 :|: s45 >= 0, s45 <= 7 * x_1'', s46 >= 0, s46 <= 7 * x_2', s47 >= 0, s47 <= s46 + s45, s48 >= 0, s48 <= 0 + s47, x_1'' >= 0, x_2' >= 0, z = 1 + (1 + x_1'' + x_2') + x_2, x_2 >= 0 encArg(z) -{ 6 + 3*x_11 + 3*x_18 + 3*x_2'' + 3*x_3' }-> s54 :|: s49 >= 0, s49 <= 7 * x_11, s50 >= 0, s50 <= 7 * x_2'', s51 >= 0, s51 <= 7 * x_3', s52 >= 0, s52 <= 0, s53 >= 0, s53 <= 7 * x_18, s54 >= 0, s54 <= 1 + s53 + s52, x_11 >= 0, x_3' >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_18), x_2'' >= 0, x_18 >= 0 encArg(z) -{ 8 + 3*x_11 + 3*x_19 + 3*x_2'' + 3*x_25 + 3*x_3' }-> s62 :|: s55 >= 0, s55 <= 7 * x_11, s56 >= 0, s56 <= 7 * x_2'', s57 >= 0, s57 <= 7 * x_3', s58 >= 0, s58 <= 0, s59 >= 0, s59 <= 7 * x_19, s60 >= 0, s60 <= 7 * x_25, s61 >= 0, s61 <= s60 + s59, s62 >= 0, s62 <= s61 + s58, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_19 + x_25), x_3' >= 0, x_25 >= 0, x_2'' >= 0, x_19 >= 0 encArg(z) -{ 9 + 3*x_11 + 3*x_110 + 3*x_2'' + 3*x_26 + 3*x_3' + 3*x_32 }-> s71 :|: s63 >= 0, s63 <= 7 * x_11, s64 >= 0, s64 <= 7 * x_2'', s65 >= 0, s65 <= 7 * x_3', s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 7 * x_110, s68 >= 0, s68 <= 7 * x_26, s69 >= 0, s69 <= 7 * x_32, s70 >= 0, s70 <= 0, s71 >= 0, s71 <= s70 + s66, x_11 >= 0, x_32 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + (1 + x_110 + x_26 + x_32), x_3' >= 0, x_26 >= 0, x_2'' >= 0, x_110 >= 0 encArg(z) -{ 5 + 3*x_11 + 3*x_2'' + 3*x_3' }-> s76 :|: s72 >= 0, s72 <= 7 * x_11, s73 >= 0, s73 <= 7 * x_2'', s74 >= 0, s74 <= 7 * x_3', s75 >= 0, s75 <= 0, s76 >= 0, s76 <= 0 + s75, x_11 >= 0, z = 1 + (1 + x_11 + x_2'' + x_3') + x_2, x_3' >= 0, x_2'' >= 0, x_2 >= 0 encArg(z) -{ 2 + 3*x_111 }-> s78 :|: s77 >= 0, s77 <= 7 * x_111, s78 >= 0, s78 <= 1 + s77 + 0, x_1 >= 0, z = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 4 + 3*x_112 + 3*x_27 }-> s82 :|: s79 >= 0, s79 <= 7 * x_112, s80 >= 0, s80 <= 7 * x_27, s81 >= 0, s81 <= s80 + s79, s82 >= 0, s82 <= s81 + 0, x_1 >= 0, x_27 >= 0, z = 1 + x_1 + (1 + x_112 + x_27), x_112 >= 0 encArg(z) -{ 5 + 3*x_113 + 3*x_28 + 3*x_33 }-> s87 :|: s83 >= 0, s83 <= 7 * x_113, s84 >= 0, s84 <= 7 * x_28, s85 >= 0, s85 <= 7 * x_33, s86 >= 0, s86 <= 0, s87 >= 0, s87 <= s86 + 0, x_1 >= 0, x_113 >= 0, z = 1 + x_1 + (1 + x_113 + x_28 + x_33), x_33 >= 0, x_28 >= 0 encArg(z) -{ 1 }-> x :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 1 }-> y :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0, x >= 0, y >= 0, 0 = x, 0 = y encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -2 + 3*z }-> 1 + s' :|: s' >= 0, s' <= 7 * (z - 1), z - 1 >= 0 encode_f(z, z', z'') -{ 4 + 3*z + 3*z' + 3*z'' }-> s7 :|: s4 >= 0, s4 <= 7 * z, s5 >= 0, s5 <= 7 * z', s6 >= 0, s6 <= 7 * z'', s7 >= 0, s7 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z, z') -{ 3 + 3*x_182 + 3*x_254 + 3*x_326 + 3*z }-> s101 :|: s96 >= 0, s96 <= 7 * (z - 1), s97 >= 0, s97 <= 7 * x_182, s98 >= 0, s98 <= 7 * x_254, s99 >= 0, s99 <= 7 * x_326, s100 >= 0, s100 <= 0, s101 >= 0, s101 <= s100 + (1 + s96), x_254 >= 0, x_182 >= 0, z' = 1 + x_182 + x_254 + x_326, z - 1 >= 0, x_326 >= 0 encode_g(z, z') -{ -1 + 3*z }-> s103 :|: s102 >= 0, s102 <= 7 * (z - 1), s103 >= 0, s103 <= 0 + (1 + s102), z' >= 0, z - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_178 + 3*x_251 + 3*z' }-> s108 :|: s104 >= 0, s104 <= 7 * x_178, s105 >= 0, s105 <= 7 * x_251, s106 >= 0, s106 <= s105 + s104, s107 >= 0, s107 <= 7 * (z' - 1), s108 >= 0, s108 <= 1 + s107 + s106, z' - 1 >= 0, z = 1 + x_178 + x_251, x_178 >= 0, x_251 >= 0 encode_g(z, z') -{ 7 + 3*x_178 + 3*x_184 + 3*x_251 + 3*x_255 }-> s115 :|: s109 >= 0, s109 <= 7 * x_178, s110 >= 0, s110 <= 7 * x_251, s111 >= 0, s111 <= s110 + s109, s112 >= 0, s112 <= 7 * x_184, s113 >= 0, s113 <= 7 * x_255, s114 >= 0, s114 <= s113 + s112, s115 >= 0, s115 <= s114 + s111, x_255 >= 0, z = 1 + x_178 + x_251, x_184 >= 0, x_178 >= 0, z' = 1 + x_184 + x_255, x_251 >= 0 encode_g(z, z') -{ 8 + 3*x_178 + 3*x_185 + 3*x_251 + 3*x_256 + 3*x_327 }-> s123 :|: s116 >= 0, s116 <= 7 * x_178, s117 >= 0, s117 <= 7 * x_251, s118 >= 0, s118 <= s117 + s116, s119 >= 0, s119 <= 7 * x_185, s120 >= 0, s120 <= 7 * x_256, s121 >= 0, s121 <= 7 * x_327, s122 >= 0, s122 <= 0, s123 >= 0, s123 <= s122 + s118, z = 1 + x_178 + x_251, x_185 >= 0, x_178 >= 0, x_256 >= 0, z' = 1 + x_185 + x_256 + x_327, x_251 >= 0, x_327 >= 0 encode_g(z, z') -{ 4 + 3*x_178 + 3*x_251 }-> s127 :|: s124 >= 0, s124 <= 7 * x_178, s125 >= 0, s125 <= 7 * x_251, s126 >= 0, s126 <= s125 + s124, s127 >= 0, s127 <= 0 + s126, z = 1 + x_178 + x_251, x_178 >= 0, z' >= 0, x_251 >= 0 encode_g(z, z') -{ 3 + 3*x_179 + 3*x_252 + 3*x_325 + 3*z' }-> s133 :|: s128 >= 0, s128 <= 7 * x_179, s129 >= 0, s129 <= 7 * x_252, s130 >= 0, s130 <= 7 * x_325, s131 >= 0, s131 <= 0, s132 >= 0, s132 <= 7 * (z' - 1), s133 >= 0, s133 <= 1 + s132 + s131, x_325 >= 0, z' - 1 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ 8 + 3*x_179 + 3*x_187 + 3*x_252 + 3*x_257 + 3*x_325 }-> s141 :|: s134 >= 0, s134 <= 7 * x_179, s135 >= 0, s135 <= 7 * x_252, s136 >= 0, s136 <= 7 * x_325, s137 >= 0, s137 <= 0, s138 >= 0, s138 <= 7 * x_187, s139 >= 0, s139 <= 7 * x_257, s140 >= 0, s140 <= s139 + s138, s141 >= 0, s141 <= s140 + s137, x_325 >= 0, x_187 >= 0, x_252 >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_257 >= 0, z' = 1 + x_187 + x_257 encode_g(z, z') -{ 9 + 3*x_179 + 3*x_188 + 3*x_252 + 3*x_258 + 3*x_325 + 3*x_328 }-> s150 :|: s142 >= 0, s142 <= 7 * x_179, s143 >= 0, s143 <= 7 * x_252, s144 >= 0, s144 <= 7 * x_325, s145 >= 0, s145 <= 0, s146 >= 0, s146 <= 7 * x_188, s147 >= 0, s147 <= 7 * x_258, s148 >= 0, s148 <= 7 * x_328, s149 >= 0, s149 <= 0, s150 >= 0, s150 <= s149 + s145, x_258 >= 0, x_325 >= 0, x_252 >= 0, x_328 >= 0, z' = 1 + x_188 + x_258 + x_328, z = 1 + x_179 + x_252 + x_325, x_179 >= 0, x_188 >= 0 encode_g(z, z') -{ 5 + 3*x_179 + 3*x_252 + 3*x_325 }-> s155 :|: s151 >= 0, s151 <= 7 * x_179, s152 >= 0, s152 <= 7 * x_252, s153 >= 0, s153 <= 7 * x_325, s154 >= 0, s154 <= 0, s155 >= 0, s155 <= 0 + s154, x_325 >= 0, x_252 >= 0, z' >= 0, z = 1 + x_179 + x_252 + x_325, x_179 >= 0 encode_g(z, z') -{ -1 + 3*z' }-> s157 :|: s156 >= 0, s156 <= 7 * (z' - 1), s157 >= 0, s157 <= 1 + s156 + 0, z >= 0, z' - 1 >= 0 encode_g(z, z') -{ 4 + 3*x_190 + 3*x_259 }-> s161 :|: s158 >= 0, s158 <= 7 * x_190, s159 >= 0, s159 <= 7 * x_259, s160 >= 0, s160 <= s159 + s158, s161 >= 0, s161 <= s160 + 0, z >= 0, z' = 1 + x_190 + x_259, x_259 >= 0, x_190 >= 0 encode_g(z, z') -{ 5 + 3*x_191 + 3*x_260 + 3*x_329 }-> s166 :|: s162 >= 0, s162 <= 7 * x_191, s163 >= 0, s163 <= 7 * x_260, s164 >= 0, s164 <= 7 * x_329, s165 >= 0, s165 <= 0, s166 >= 0, s166 <= s165 + 0, z >= 0, x_329 >= 0, z' = 1 + x_191 + x_260 + x_329, x_191 >= 0, x_260 >= 0 encode_g(z, z') -{ -3 + 3*z + 3*z' }-> s90 :|: s88 >= 0, s88 <= 7 * (z - 1), s89 >= 0, s89 <= 7 * (z' - 1), s90 >= 0, s90 <= 1 + s89 + (1 + s88), z - 1 >= 0, z' - 1 >= 0 encode_g(z, z') -{ 2 + 3*x_181 + 3*x_253 + 3*z }-> s95 :|: s91 >= 0, s91 <= 7 * (z - 1), s92 >= 0, s92 <= 7 * x_181, s93 >= 0, s93 <= 7 * x_253, s94 >= 0, s94 <= s93 + s92, s95 >= 0, s95 <= s94 + (1 + s91), x_253 >= 0, z' = 1 + x_181 + x_253, z - 1 >= 0, x_181 >= 0 encode_g(z, z') -{ 1 }-> x :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 1 }-> y :|: z >= 0, z' >= 0, x >= 0, y >= 0, 0 = x, 0 = y encode_g(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 3*z }-> 1 + s8 :|: s8 >= 0, s8 <= 7 * z, z >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z - 1 >= 0, z'' >= 0, z' = z'' f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z, z') -{ 1 }-> z :|: z >= 0, z' >= 0 g(z, z') -{ 1 }-> z' :|: z >= 0, z' >= 0 Function symbols to be analyzed: Previous analysis results are: g: runtime: O(1) [1], size: O(n^1) [z + z'] f: runtime: O(1) [1], size: O(1) [0] encArg: runtime: O(n^1) [1 + 3*z], size: O(n^1) [7*z] encode_f: runtime: O(n^1) [4 + 3*z + 3*z' + 3*z''], size: O(1) [0] encode_g: runtime: O(n^1) [3 + 3*z + 3*z'], size: O(n^1) [7*z + 7*z'] encode_s: runtime: O(n^1) [1 + 3*z], size: O(n^1) [1 + 7*z] ---------------------------------------- (57) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (58) BOUNDS(1, n^1)