/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?, O(n^1)) proof of /export/starexec/sandbox2/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), 280 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), 4885 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (14) CpxRNTS (15) InliningProof [UPPER BOUND(ID), 1530 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), 53 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 170 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 188 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 62 ms] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 250 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 29 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 197 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 62 ms] (50) CpxRNTS (51) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 106 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (56) CpxRNTS (57) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 116 ms] (60) CpxRNTS (61) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (62) CpxRNTS (63) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 1391 ms] (66) CpxRNTS (67) IntTrsBoundProof [UPPER BOUND(ID), 976 ms] (68) CpxRNTS (69) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 406 ms] (72) CpxRNTS (73) IntTrsBoundProof [UPPER BOUND(ID), 159 ms] (74) CpxRNTS (75) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 158 ms] (78) CpxRNTS (79) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (80) CpxRNTS (81) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 740 ms] (84) CpxRNTS (85) IntTrsBoundProof [UPPER BOUND(ID), 231 ms] (86) CpxRNTS (87) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 158 ms] (90) CpxRNTS (91) IntTrsBoundProof [UPPER BOUND(ID), 74 ms] (92) CpxRNTS (93) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 136 ms] (96) CpxRNTS (97) IntTrsBoundProof [UPPER BOUND(ID), 51 ms] (98) CpxRNTS (99) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 206 ms] (102) CpxRNTS (103) IntTrsBoundProof [UPPER BOUND(ID), 73 ms] (104) CpxRNTS (105) FinalProof [FINISHED, 0 ms] (106) 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) -> u(h(X), h(X), X) u(d, c(Y), X) -> k(Y) h(d) -> c(a) h(d) -> c(b) f(k(a), k(b), X) -> f(X, X, 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(d) -> d encArg(c(x_1)) -> c(encArg(x_1)) encArg(k(x_1)) -> k(encArg(x_1)) encArg(a) -> a encArg(b) -> b encArg(cons_g(x_1)) -> g(encArg(x_1)) encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_g(x_1) -> g(encArg(x_1)) encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) encode_h(x_1) -> h(encArg(x_1)) encode_d -> d encode_c(x_1) -> c(encArg(x_1)) encode_k(x_1) -> k(encArg(x_1)) encode_a -> a encode_b -> b encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) ---------------------------------------- (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) -> u(h(X), h(X), X) u(d, c(Y), X) -> k(Y) h(d) -> c(a) h(d) -> c(b) f(k(a), k(b), X) -> f(X, X, X) The (relative) TRS S consists of the following rules: encArg(d) -> d encArg(c(x_1)) -> c(encArg(x_1)) encArg(k(x_1)) -> k(encArg(x_1)) encArg(a) -> a encArg(b) -> b encArg(cons_g(x_1)) -> g(encArg(x_1)) encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_g(x_1) -> g(encArg(x_1)) encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) encode_h(x_1) -> h(encArg(x_1)) encode_d -> d encode_c(x_1) -> c(encArg(x_1)) encode_k(x_1) -> k(encArg(x_1)) encode_a -> a encode_b -> b encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) 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) -> u(h(X), h(X), X) u(d, c(Y), X) -> k(Y) h(d) -> c(a) h(d) -> c(b) f(k(a), k(b), X) -> f(X, X, X) The (relative) TRS S consists of the following rules: encArg(d) -> d encArg(c(x_1)) -> c(encArg(x_1)) encArg(k(x_1)) -> k(encArg(x_1)) encArg(a) -> a encArg(b) -> b encArg(cons_g(x_1)) -> g(encArg(x_1)) encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) encode_g(x_1) -> g(encArg(x_1)) encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) encode_h(x_1) -> h(encArg(x_1)) encode_d -> d encode_c(x_1) -> c(encArg(x_1)) encode_k(x_1) -> k(encArg(x_1)) encode_a -> a encode_b -> b encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) 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) -> u(h(X), h(X), X) [1] u(d, c(Y), X) -> k(Y) [1] h(d) -> c(a) [1] h(d) -> c(b) [1] f(k(a), k(b), X) -> f(X, X, X) [1] encArg(d) -> d [0] encArg(c(x_1)) -> c(encArg(x_1)) [0] encArg(k(x_1)) -> k(encArg(x_1)) [0] encArg(a) -> a [0] encArg(b) -> b [0] encArg(cons_g(x_1)) -> g(encArg(x_1)) [0] encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_h(x_1)) -> h(encArg(x_1)) [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) -> g(encArg(x_1)) [0] encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_h(x_1) -> h(encArg(x_1)) [0] encode_d -> d [0] encode_c(x_1) -> c(encArg(x_1)) [0] encode_k(x_1) -> k(encArg(x_1)) [0] encode_a -> a [0] encode_b -> b [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [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) -> u(h(X), h(X), X) [1] u(d, c(Y), X) -> k(Y) [1] h(d) -> c(a) [1] h(d) -> c(b) [1] f(k(a), k(b), X) -> f(X, X, X) [1] encArg(d) -> d [0] encArg(c(x_1)) -> c(encArg(x_1)) [0] encArg(k(x_1)) -> k(encArg(x_1)) [0] encArg(a) -> a [0] encArg(b) -> b [0] encArg(cons_g(x_1)) -> g(encArg(x_1)) [0] encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_h(x_1)) -> h(encArg(x_1)) [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) -> g(encArg(x_1)) [0] encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_h(x_1) -> h(encArg(x_1)) [0] encode_d -> d [0] encode_c(x_1) -> c(encArg(x_1)) [0] encode_k(x_1) -> k(encArg(x_1)) [0] encode_a -> a [0] encode_b -> b [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] The TRS has the following type information: g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encArg :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f cons_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f cons_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f cons_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f cons_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f encode_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f -> d:c:k:a:b:cons_g:cons_u:cons_h: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: h_1 g_1 f_3 u_3 encArg_1 encode_g_1 encode_u_3 encode_h_1 encode_d encode_c_1 encode_k_1 encode_a encode_b encode_f_3 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_g(v0) -> null_encode_g [0] encode_u(v0, v1, v2) -> null_encode_u [0] encode_h(v0) -> null_encode_h [0] encode_d -> null_encode_d [0] encode_c(v0) -> null_encode_c [0] encode_k(v0) -> null_encode_k [0] encode_a -> null_encode_a [0] encode_b -> null_encode_b [0] encode_f(v0, v1, v2) -> null_encode_f [0] h(v0) -> null_h [0] f(v0, v1, v2) -> null_f [0] u(v0, v1, v2) -> null_u [0] And the following fresh constants: null_encArg, null_encode_g, null_encode_u, null_encode_h, null_encode_d, null_encode_c, null_encode_k, null_encode_a, null_encode_b, null_encode_f, null_h, null_f, null_u ---------------------------------------- (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) -> u(h(X), h(X), X) [1] u(d, c(Y), X) -> k(Y) [1] h(d) -> c(a) [1] h(d) -> c(b) [1] f(k(a), k(b), X) -> f(X, X, X) [1] encArg(d) -> d [0] encArg(c(x_1)) -> c(encArg(x_1)) [0] encArg(k(x_1)) -> k(encArg(x_1)) [0] encArg(a) -> a [0] encArg(b) -> b [0] encArg(cons_g(x_1)) -> g(encArg(x_1)) [0] encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_h(x_1)) -> h(encArg(x_1)) [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) -> g(encArg(x_1)) [0] encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_h(x_1) -> h(encArg(x_1)) [0] encode_d -> d [0] encode_c(x_1) -> c(encArg(x_1)) [0] encode_k(x_1) -> k(encArg(x_1)) [0] encode_a -> a [0] encode_b -> b [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(v0) -> null_encArg [0] encode_g(v0) -> null_encode_g [0] encode_u(v0, v1, v2) -> null_encode_u [0] encode_h(v0) -> null_encode_h [0] encode_d -> null_encode_d [0] encode_c(v0) -> null_encode_c [0] encode_k(v0) -> null_encode_k [0] encode_a -> null_encode_a [0] encode_b -> null_encode_b [0] encode_f(v0, v1, v2) -> null_encode_f [0] h(v0) -> null_h [0] f(v0, v1, v2) -> null_f [0] u(v0, v1, v2) -> null_u [0] The TRS has the following type information: g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encArg :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encArg :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u 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(d) -> u(c(a), c(a), d) [3] g(d) -> u(c(a), c(b), d) [3] g(d) -> u(c(a), null_h, d) [2] g(d) -> u(c(b), c(a), d) [3] g(d) -> u(c(b), c(b), d) [3] g(d) -> u(c(b), null_h, d) [2] g(d) -> u(null_h, c(a), d) [2] g(d) -> u(null_h, c(b), d) [2] g(X) -> u(null_h, null_h, X) [1] u(d, c(Y), X) -> k(Y) [1] h(d) -> c(a) [1] h(d) -> c(b) [1] f(k(a), k(b), X) -> f(X, X, X) [1] encArg(d) -> d [0] encArg(c(x_1)) -> c(encArg(x_1)) [0] encArg(k(x_1)) -> k(encArg(x_1)) [0] encArg(a) -> a [0] encArg(b) -> b [0] encArg(cons_g(d)) -> g(d) [0] encArg(cons_g(c(x_1'))) -> g(c(encArg(x_1'))) [0] encArg(cons_g(k(x_1''))) -> g(k(encArg(x_1''))) [0] encArg(cons_g(a)) -> g(a) [0] encArg(cons_g(b)) -> g(b) [0] encArg(cons_g(cons_g(x_11))) -> g(g(encArg(x_11))) [0] encArg(cons_g(cons_u(x_12, x_2', x_3'))) -> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) [0] encArg(cons_g(cons_h(x_13))) -> g(h(encArg(x_13))) [0] encArg(cons_g(cons_f(x_14, x_2'', x_3''))) -> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) [0] encArg(cons_g(x_1)) -> g(null_encArg) [0] encArg(cons_u(x_1, x_2, x_3)) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_h(d)) -> h(d) [0] encArg(cons_h(c(x_1671))) -> h(c(encArg(x_1671))) [0] encArg(cons_h(k(x_1672))) -> h(k(encArg(x_1672))) [0] encArg(cons_h(a)) -> h(a) [0] encArg(cons_h(b)) -> h(b) [0] encArg(cons_h(cons_g(x_1673))) -> h(g(encArg(x_1673))) [0] encArg(cons_h(cons_u(x_1674, x_2223, x_3223))) -> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) [0] encArg(cons_h(cons_h(x_1675))) -> h(h(encArg(x_1675))) [0] encArg(cons_h(cons_f(x_1676, x_2224, x_3224))) -> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) [0] encArg(cons_h(x_1)) -> h(null_encArg) [0] encArg(cons_f(x_1, x_2, x_3)) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_g(d) -> g(d) [0] encode_g(c(x_11343)) -> g(c(encArg(x_11343))) [0] encode_g(k(x_11344)) -> g(k(encArg(x_11344))) [0] encode_g(a) -> g(a) [0] encode_g(b) -> g(b) [0] encode_g(cons_g(x_11345)) -> g(g(encArg(x_11345))) [0] encode_g(cons_u(x_11346, x_2447, x_3447)) -> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) [0] encode_g(cons_h(x_11347)) -> g(h(encArg(x_11347))) [0] encode_g(cons_f(x_11348, x_2448, x_3448)) -> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) [0] encode_g(x_1) -> g(null_encArg) [0] encode_u(x_1, x_2, x_3) -> u(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_h(d) -> h(d) [0] encode_h(c(x_12015)) -> h(c(encArg(x_12015))) [0] encode_h(k(x_12016)) -> h(k(encArg(x_12016))) [0] encode_h(a) -> h(a) [0] encode_h(b) -> h(b) [0] encode_h(cons_g(x_12017)) -> h(g(encArg(x_12017))) [0] encode_h(cons_u(x_12018, x_2671, x_3671)) -> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) [0] encode_h(cons_h(x_12019)) -> h(h(encArg(x_12019))) [0] encode_h(cons_f(x_12020, x_2672, x_3672)) -> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) [0] encode_h(x_1) -> h(null_encArg) [0] encode_d -> d [0] encode_c(x_1) -> c(encArg(x_1)) [0] encode_k(x_1) -> k(encArg(x_1)) [0] encode_a -> a [0] encode_b -> b [0] encode_f(x_1, x_2, x_3) -> f(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(v0) -> null_encArg [0] encode_g(v0) -> null_encode_g [0] encode_u(v0, v1, v2) -> null_encode_u [0] encode_h(v0) -> null_encode_h [0] encode_d -> null_encode_d [0] encode_c(v0) -> null_encode_c [0] encode_k(v0) -> null_encode_k [0] encode_a -> null_encode_a [0] encode_b -> null_encode_b [0] encode_f(v0, v1, v2) -> null_encode_f [0] h(v0) -> null_h [0] f(v0, v1, v2) -> null_f [0] u(v0, v1, v2) -> null_u [0] The TRS has the following type information: g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encArg :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u cons_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u encode_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u -> d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encArg :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_g :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_d :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_c :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_k :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_a :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_b :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_encode_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_h :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_f :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u null_u :: d:c:k:a:b:cons_g:cons_u:cons_h:cons_f:null_encArg:null_encode_g:null_encode_u:null_encode_h:null_encode_d:null_encode_c:null_encode_k:null_encode_a:null_encode_b:null_encode_f:null_h:null_f:null_u 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: d => 2 a => 0 b => 1 null_encArg => 0 null_encode_g => 0 null_encode_u => 0 null_encode_h => 0 null_encode_d => 0 null_encode_c => 0 null_encode_k => 0 null_encode_a => 0 null_encode_b => 0 null_encode_f => 0 null_h => 0 null_f => 0 null_u => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(x_1675))) :|: z = 1 + (1 + x_1675), x_1675 >= 0 encArg(z) -{ 0 }-> h(g(encArg(x_1673))) :|: x_1673 >= 0, z = 1 + (1 + x_1673) encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> h(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> h(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> h(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(x_1671)) :|: x_1671 >= 0, z = 1 + (1 + x_1671) encArg(z) -{ 0 }-> h(1 + encArg(x_1672)) :|: x_1672 >= 0, z = 1 + (1 + x_1672) encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_11))) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> g(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> g(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> g(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1')) :|: z = 1 + (1 + x_1'), x_1' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'')) :|: z = 1 + (1 + x_1''), x_1'' >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_c(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(x_11347))) :|: z = 1 + x_11347, x_11347 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(x_11345))) :|: z = 1 + x_11345, x_11345 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(2) :|: z = 2 encode_g(z) -{ 0 }-> g(1) :|: z = 1 encode_g(z) -{ 0 }-> g(0) :|: z = 0 encode_g(z) -{ 0 }-> g(0) :|: x_1 >= 0, z = x_1 encode_g(z) -{ 0 }-> g(1 + encArg(x_11343)) :|: x_11343 >= 0, z = 1 + x_11343 encode_g(z) -{ 0 }-> g(1 + encArg(x_11344)) :|: x_11344 >= 0, z = 1 + x_11344 encode_g(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(x_12019))) :|: z = 1 + x_12019, x_12019 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(x_12017))) :|: z = 1 + x_12017, x_12017 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(2) :|: z = 2 encode_h(z) -{ 0 }-> h(1) :|: z = 1 encode_h(z) -{ 0 }-> h(0) :|: z = 0 encode_h(z) -{ 0 }-> h(0) :|: x_1 >= 0, z = x_1 encode_h(z) -{ 0 }-> h(1 + encArg(x_12015)) :|: x_12015 >= 0, z = 1 + x_12015 encode_h(z) -{ 0 }-> h(1 + encArg(x_12016)) :|: z = 1 + x_12016, x_12016 >= 0 encode_h(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_k(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_k(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_u(z, z', z'') -{ 0 }-> u(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_u(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 f(z, z', z'') -{ 1 }-> f(X, X, X) :|: z' = 1 + 1, z = 1 + 0, z'' = X, X >= 0 f(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 g(z) -{ 1 }-> u(0, 0, X) :|: X >= 0, z = X g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2 g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2 g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2 g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2 h(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 u(z, z', z'') -{ 1 }-> 1 + Y :|: z = 2, Y >= 0, z' = 1 + Y, z'' = X, X >= 0 ---------------------------------------- (15) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: u(z, z', z'') -{ 1 }-> 1 + Y :|: z = 2, Y >= 0, z' = 1 + Y, z'' = X, X >= 0 u(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 h(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2 g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2 g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2 g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2 g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2 g(z) -{ 1 }-> u(0, 0, X) :|: X >= 0, z = X ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + x_1, x_1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(x_1675))) :|: z = 1 + (1 + x_1675), x_1675 >= 0 encArg(z) -{ 0 }-> h(g(encArg(x_1673))) :|: x_1673 >= 0, z = 1 + (1 + x_1673) encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(x_1671)) :|: x_1671 >= 0, z = 1 + (1 + x_1671) encArg(z) -{ 0 }-> h(1 + encArg(x_1672)) :|: x_1672 >= 0, z = 1 + (1 + x_1672) encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> g(g(encArg(x_11))) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1')) :|: z = 1 + (1 + x_1'), x_1' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(x_1'')) :|: z = 1 + (1 + x_1''), x_1'' >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + x_1, x_1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_c(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: x_1 >= 0, z = x_1, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(x_11347))) :|: z = 1 + x_11347, x_11347 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(x_11345))) :|: z = 1 + x_11345, x_11345 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(x_11343)) :|: x_11343 >= 0, z = 1 + x_11343 encode_g(z) -{ 0 }-> g(1 + encArg(x_11344)) :|: x_11344 >= 0, z = 1 + x_11344 encode_g(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(x_12019))) :|: z = 1 + x_12019, x_12019 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(x_12017))) :|: z = 1 + x_12017, x_12017 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(x_12015)) :|: x_12015 >= 0, z = 1 + x_12015 encode_h(z) -{ 0 }-> h(1 + encArg(x_12016)) :|: z = 1 + x_12016, x_12016 >= 0 encode_h(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: x_1 >= 0, z = x_1, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_k(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_u(z, z', z'') -{ 0 }-> u(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_u(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 f(z, z', z'') -{ 1 }-> f(X, X, X) :|: z' = 1 + 1, z = 1 + 0, z'' = X, X >= 0 f(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: X >= 0, z = X, v0 >= 0, X = v2, v1 >= 0, 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 u(z, z', z'') -{ 1 }-> 1 + Y :|: z = 2, Y >= 0, z' = 1 + Y, z'' = X, X >= 0 ---------------------------------------- (17) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 ---------------------------------------- (19) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { encode_a } { h } { f } { g } { u } { encode_b } { encode_d } { encArg } { encode_h } { encode_k } { encode_g } { encode_f } { encode_c } { encode_u } ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_a}, {h}, {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} ---------------------------------------- (21) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_a}, {h}, {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_a after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_a}, {h}, {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: ?, size: O(1) [0] ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_a after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {h}, {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (27) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {h}, {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: h after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {h}, {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: ?, size: O(1) [2] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: h 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) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] ---------------------------------------- (33) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] ---------------------------------------- (35) 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 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {f}, {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: ?, size: O(1) [0] ---------------------------------------- (37) 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 ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 1 }-> f(z'', z'', z'') :|: z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] ---------------------------------------- (39) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: g after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {g}, {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: ?, size: O(1) [2] ---------------------------------------- (43) 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: 4 ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] ---------------------------------------- (45) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: u after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {u}, {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: u after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> u(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) -{ 1 }-> u(0, 0, X) :|: z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> u(0, 0, X) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 1 + 2, 2 = 2 encArg(z) -{ 0 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 1 }-> u(0, 0, X) :|: z = 2, X >= 0, 2 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 0, X >= 0, 0 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z = 1, X >= 0, 1 = X encode_g(z) -{ 1 }-> u(0, 0, X) :|: z >= 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> u(0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 1, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 1, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 2 }-> u(1 + 0, 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 1, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 3 }-> u(1 + 0, 1 + 0, 2) :|: z = 2, 2 = 2 encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [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 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_b after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_b}, {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: ?, size: O(1) [1] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_b after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (57) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_d after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_d}, {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: ?, size: O(1) [2] ---------------------------------------- (61) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_d after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (63) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encArg}, {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: ?, size: O(n^1) [z] ---------------------------------------- (67) 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: 4 + 8*z ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 0 }-> u(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 }-> h(u(encArg(x_1674), encArg(x_2223), encArg(x_3223))) :|: x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ 0 }-> h(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> h(f(encArg(x_1676), encArg(x_2224), encArg(x_3224))) :|: x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 0 }-> h(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(u(encArg(x_12), encArg(x_2'), encArg(x_3'))) :|: z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> g(h(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(g(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> g(f(encArg(x_14), encArg(x_2''), encArg(x_3''))) :|: x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 0 }-> g(1 + encArg(z - 2)) :|: z - 2 >= 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 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) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 0 }-> g(u(encArg(x_11346), encArg(x_2447), encArg(x_3447))) :|: x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 0 }-> g(h(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(g(encArg(z - 1))) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> g(f(encArg(x_11348), encArg(x_2448), encArg(x_3448))) :|: x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> g(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> h(u(encArg(x_12018), encArg(x_2671), encArg(x_3671))) :|: x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> h(h(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(g(encArg(z - 1))) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> h(f(encArg(x_12020), encArg(x_2672), encArg(x_3672))) :|: x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 0 }-> h(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_u(z, z', z'') -{ 0 }-> u(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] ---------------------------------------- (69) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_h after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_h}, {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: ?, size: O(1) [2] ---------------------------------------- (73) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_h after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 6 + 8*z ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] ---------------------------------------- (75) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_k after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_k}, {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (79) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_k after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 4 + 8*z ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] ---------------------------------------- (81) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_g after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_g}, {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: ?, size: O(1) [2] ---------------------------------------- (85) 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: 9 + 8*z ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] ---------------------------------------- (87) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] ---------------------------------------- (89) 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 ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_f}, {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: ?, size: O(1) [0] ---------------------------------------- (91) 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: 13 + 8*z + 8*z' + 8*z'' ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] ---------------------------------------- (93) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_c after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_c}, {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] encode_c: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (97) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_c after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 4 + 8*z ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] encode_c: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] ---------------------------------------- (99) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] encode_c: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_u after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_u} Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] encode_c: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_u: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (103) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_u after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 13 + 8*z + 8*z' + 8*z'' ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 3 }-> s' :|: s' >= 0, s' <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 3 }-> s'' :|: s'' >= 0, s'' <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 4 }-> s1 :|: s1 >= 0, s1 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s10 :|: s10 >= 0, s10 <= 0, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -7 + 8*z }-> s104 :|: s102 >= 0, s102 <= z - 2, s103 >= 0, s103 <= 2, s104 >= 0, s104 <= 2, z - 2 >= 0 encArg(z) -{ -7 + 8*z }-> s107 :|: s105 >= 0, s105 <= z - 2, s106 >= 0, s106 <= 2, s107 >= 0, s107 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s2 :|: s2 >= 0, s2 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -4 + 8*z }-> s26 :|: s24 >= 0, s24 <= z - 2, s25 >= 0, s25 <= 2, s26 >= 0, s26 <= 2, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 0, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s30 :|: s27 >= 0, s27 <= x_1, s28 >= 0, s28 <= x_2, s29 >= 0, s29 <= x_3, s30 >= 0, s30 <= 0, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 3 }-> s4 :|: s4 >= 0, s4 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ 13 + 8*x_1 + 8*x_2 + 8*x_3 }-> s43 :|: s40 >= 0, s40 <= x_1, s41 >= 0, s41 <= x_2, s42 >= 0, s42 <= x_3, s43 >= 0, s43 <= s41, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ -11 + 8*z }-> s49 :|: s48 >= 0, s48 <= z - 2, s49 >= 0, s49 <= 2, z - 2 >= 0 encArg(z) -{ 4 }-> s5 :|: s5 >= 0, s5 <= 1 + 1, z = 1 + 2, 2 = 2 encArg(z) -{ -10 + 8*z }-> s52 :|: s50 >= 0, s50 <= z - 2, s51 >= 0, s51 <= 2, s52 >= 0, s52 <= 2, z - 2 >= 0 encArg(z) -{ 14 + 8*x_1676 + 8*x_2224 + 8*x_3224 }-> s57 :|: s53 >= 0, s53 <= x_1676, s54 >= 0, s54 <= x_2224, s55 >= 0, s55 <= x_3224, s56 >= 0, s56 <= 0, s57 >= 0, s57 <= 2, x_2224 >= 0, z = 1 + (1 + x_1676 + x_2224 + x_3224), x_3224 >= 0, x_1676 >= 0 encArg(z) -{ 4 }-> s6 :|: s6 >= 0, s6 <= 1 + 0, z = 1 + 2, 2 = 2 encArg(z) -{ 2 }-> s7 :|: s7 >= 0, s7 <= 0, z = 1 + 2, X >= 0, 2 = X encArg(z) -{ 14 + 8*x_1674 + 8*x_2223 + 8*x_3223 }-> s72 :|: s68 >= 0, s68 <= x_1674, s69 >= 0, s69 <= x_2223, s70 >= 0, s70 <= x_3223, s71 >= 0, s71 <= s69, s72 >= 0, s72 <= 2, x_1674 >= 0, x_2223 >= 0, x_3223 >= 0, z = 1 + (1 + x_1674 + x_2223 + x_3223) encArg(z) -{ -8 + 8*z }-> s79 :|: s78 >= 0, s78 <= z - 2, s79 >= 0, s79 <= 2, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 0, z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 17 + 8*x_14 + 8*x_2'' + 8*x_3'' }-> s84 :|: s80 >= 0, s80 <= x_14, s81 >= 0, s81 <= x_2'', s82 >= 0, s82 <= x_3'', s83 >= 0, s83 <= 0, s84 >= 0, s84 <= 2, x_14 >= 0, x_2'' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3''), x_3'' >= 0 encArg(z) -{ 2 }-> s9 :|: s9 >= 0, s9 <= 0, z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 17 + 8*x_12 + 8*x_2' + 8*x_3' }-> s96 :|: s92 >= 0, s92 <= x_12, s93 >= 0, s93 <= x_2', s94 >= 0, s94 <= x_3', s95 >= 0, s95 <= s93, s96 >= 0, s96 <= 2, z = 1 + (1 + x_12 + x_2' + x_3'), x_3' >= 0, x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ -4 + 8*z }-> 1 + s23 :|: s23 >= 0, s23 <= z - 1, z - 1 >= 0 encArg(z) -{ 1 }-> 1 + 1 :|: z = 1 + 2, 2 = 2 encArg(z) -{ 1 }-> 1 + 0 :|: z = 1 + 2, 2 = 2 encode_a -{ 0 }-> 0 :|: encode_b -{ 0 }-> 1 :|: encode_b -{ 0 }-> 0 :|: encode_c(z) -{ 0 }-> 0 :|: z >= 0 encode_c(z) -{ 4 + 8*z }-> 1 + s34 :|: s34 >= 0, s34 <= z, z >= 0 encode_d -{ 0 }-> 2 :|: encode_d -{ 0 }-> 0 :|: encode_f(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s39 :|: s36 >= 0, s36 <= z, s37 >= 0, s37 <= z', s38 >= 0, s38 <= z'', s39 >= 0, s39 <= 0, z >= 0, z'' >= 0, z' >= 0 encode_f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_g(z) -{ 17 + 8*x_11346 + 8*x_2447 + 8*x_3447 }-> s101 :|: s97 >= 0, s97 <= x_11346, s98 >= 0, s98 <= x_2447, s99 >= 0, s99 <= x_3447, s100 >= 0, s100 <= s98, s101 >= 0, s101 <= 2, x_2447 >= 0, x_11346 >= 0, z = 1 + x_11346 + x_2447 + x_3447, x_3447 >= 0 encode_g(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 0, z = 2, 2 = 2 encode_g(z) -{ 1 + 8*z }-> s110 :|: s108 >= 0, s108 <= z - 1, s109 >= 0, s109 <= 2, s110 >= 0, s110 <= 2, z - 1 >= 0 encode_g(z) -{ 3 }-> s12 :|: s12 >= 0, s12 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s14 :|: s14 >= 0, s14 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s15 :|: s15 >= 0, s15 <= 0, z = 2, 2 = 2 encode_g(z) -{ 3 }-> s16 :|: s16 >= 0, s16 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 1 + 1, z = 2, 2 = 2 encode_g(z) -{ 4 }-> s18 :|: s18 >= 0, s18 <= 1 + 0, z = 2, 2 = 2 encode_g(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z = 2, X >= 0, 2 = X encode_g(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0, X >= 0, 0 = X encode_g(z) -{ 2 }-> s21 :|: s21 >= 0, s21 <= 0, z = 1, X >= 0, 1 = X encode_g(z) -{ 2 }-> s22 :|: s22 >= 0, s22 <= 0, z >= 0, X >= 0, 0 = X encode_g(z) -{ 4 + 8*z }-> s33 :|: s31 >= 0, s31 <= z - 1, s32 >= 0, s32 <= 2, s33 >= 0, s33 <= 2, z - 1 >= 0 encode_g(z) -{ 8*z }-> s86 :|: s85 >= 0, s85 <= z - 1, s86 >= 0, s86 <= 2, z - 1 >= 0 encode_g(z) -{ 17 + 8*x_11348 + 8*x_2448 + 8*x_3448 }-> s91 :|: s87 >= 0, s87 <= x_11348, s88 >= 0, s88 <= x_2448, s89 >= 0, s89 <= x_3448, s90 >= 0, s90 <= 0, s91 >= 0, s91 <= 2, x_3448 >= 0, z = 1 + x_11348 + x_2448 + x_3448, x_11348 >= 0, x_2448 >= 0 encode_g(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 1 + 8*z }-> s113 :|: s111 >= 0, s111 <= z - 1, s112 >= 0, s112 <= 2, s113 >= 0, s113 <= 2, z - 1 >= 0 encode_h(z) -{ -3 + 8*z }-> s59 :|: s58 >= 0, s58 <= z - 1, s59 >= 0, s59 <= 2, z - 1 >= 0 encode_h(z) -{ -2 + 8*z }-> s62 :|: s60 >= 0, s60 <= z - 1, s61 >= 0, s61 <= 2, s62 >= 0, s62 <= 2, z - 1 >= 0 encode_h(z) -{ 14 + 8*x_12020 + 8*x_2672 + 8*x_3672 }-> s67 :|: s63 >= 0, s63 <= x_12020, s64 >= 0, s64 <= x_2672, s65 >= 0, s65 <= x_3672, s66 >= 0, s66 <= 0, s67 >= 0, s67 <= 2, x_2672 >= 0, z = 1 + x_12020 + x_2672 + x_3672, x_3672 >= 0, x_12020 >= 0 encode_h(z) -{ 14 + 8*x_12018 + 8*x_2671 + 8*x_3671 }-> s77 :|: s73 >= 0, s73 <= x_12018, s74 >= 0, s74 <= x_2671, s75 >= 0, s75 <= x_3671, s76 >= 0, s76 <= s74, s77 >= 0, s77 <= 2, x_12018 >= 0, z = 1 + x_12018 + x_2671 + x_3671, x_3671 >= 0, x_2671 >= 0 encode_h(z) -{ 0 }-> 0 :|: z >= 0 encode_h(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_h(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_h(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_h(z) -{ 1 }-> 1 + 1 :|: z = 2, 2 = 2 encode_h(z) -{ 1 }-> 1 + 0 :|: z = 2, 2 = 2 encode_k(z) -{ 0 }-> 0 :|: z >= 0 encode_k(z) -{ 4 + 8*z }-> 1 + s35 :|: s35 >= 0, s35 <= z, z >= 0 encode_u(z, z', z'') -{ 13 + 8*z + 8*z' + 8*z'' }-> s47 :|: s44 >= 0, s44 <= z, s45 >= 0, s45 <= z', s46 >= 0, s46 <= z'', s47 >= 0, s47 <= s45, z >= 0, z'' >= 0, z' >= 0 encode_u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 f(z, z', z'') -{ 2 }-> s :|: s >= 0, s <= 0, z' = 1 + 1, z = 1 + 0, z'' >= 0 f(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 0 = v0, 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 3 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 1 + 1 = v0, 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 0 = v1, v2 >= 0 g(z) -{ 2 }-> 0 :|: z = 2, v0 >= 0, 2 = v2, v1 >= 0, 0 = v0, 1 + 1 = v1, v2 >= 0 g(z) -{ 1 }-> 0 :|: z >= 0, v0 >= 0, v1 >= 0, 0 = v0, 0 = v1 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 0 = 1 + Y, 2 = X, X >= 0 g(z) -{ 4 }-> 1 + Y :|: z = 2, 1 + 1 = 2, Y >= 0, 1 + 1 = 1 + Y, 2 = X, X >= 0 h(z) -{ 0 }-> 0 :|: z >= 0 h(z) -{ 1 }-> 1 + 1 :|: z = 2 h(z) -{ 1 }-> 1 + 0 :|: z = 2 u(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 u(z, z', z'') -{ 1 }-> 1 + (z' - 1) :|: z = 2, z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: Previous analysis results are: encode_a: runtime: O(1) [0], size: O(1) [0] h: runtime: O(1) [1], size: O(1) [2] f: runtime: O(1) [1], size: O(1) [0] g: runtime: O(1) [4], size: O(1) [2] u: runtime: O(1) [1], size: O(n^1) [z'] encode_b: runtime: O(1) [0], size: O(1) [1] encode_d: runtime: O(1) [0], size: O(1) [2] encArg: runtime: O(n^1) [4 + 8*z], size: O(n^1) [z] encode_h: runtime: O(n^1) [6 + 8*z], size: O(1) [2] encode_k: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_g: runtime: O(n^1) [9 + 8*z], size: O(1) [2] encode_f: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(1) [0] encode_c: runtime: O(n^1) [4 + 8*z], size: O(n^1) [1 + z] encode_u: runtime: O(n^1) [13 + 8*z + 8*z' + 8*z''], size: O(n^1) [z'] ---------------------------------------- (105) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (106) BOUNDS(1, n^1)