/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), 222 ms] (4) CpxRelTRS (5) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (6) CpxRelTRS (7) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxWeightedTrs (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxTypedWeightedTrs (11) CompletionProof [UPPER BOUND(ID), 0 ms] (12) CpxTypedWeightedCompleteTrs (13) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (14) CpxTypedWeightedCompleteTrs (15) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 4 ms] (16) CpxRNTS (17) InliningProof [UPPER BOUND(ID), 232 ms] (18) CpxRNTS (19) SimplificationProof [BOTH BOUNDS(ID, ID), 9 ms] (20) CpxRNTS (21) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxRNTS (23) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 289 ms] (26) CpxRNTS (27) IntTrsBoundProof [UPPER BOUND(ID), 57 ms] (28) CpxRNTS (29) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 229 ms] (32) CpxRNTS (33) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (34) CpxRNTS (35) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 198 ms] (38) CpxRNTS (39) IntTrsBoundProof [UPPER BOUND(ID), 6 ms] (40) CpxRNTS (41) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 169 ms] (44) CpxRNTS (45) IntTrsBoundProof [UPPER BOUND(ID), 43 ms] (46) CpxRNTS (47) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 21.4 s] (50) CpxRNTS (51) IntTrsBoundProof [UPPER BOUND(ID), 918 ms] (52) CpxRNTS (53) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 1089 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 201 ms] (58) CpxRNTS (59) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (60) CpxRNTS (61) IntTrsBoundProof [UPPER BOUND(ID), 516 ms] (62) CpxRNTS (63) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (64) CpxRNTS (65) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (66) CpxRNTS (67) IntTrsBoundProof [UPPER BOUND(ID), 1086 ms] (68) CpxRNTS (69) IntTrsBoundProof [UPPER BOUND(ID), 128 ms] (70) CpxRNTS (71) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (72) CpxRNTS (73) IntTrsBoundProof [UPPER BOUND(ID), 788 ms] (74) CpxRNTS (75) IntTrsBoundProof [UPPER BOUND(ID), 62 ms] (76) CpxRNTS (77) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (78) CpxRNTS (79) IntTrsBoundProof [UPPER BOUND(ID), 994 ms] (80) CpxRNTS (81) IntTrsBoundProof [UPPER BOUND(ID), 188 ms] (82) CpxRNTS (83) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (84) CpxRNTS (85) IntTrsBoundProof [UPPER BOUND(ID), 717 ms] (86) CpxRNTS (87) IntTrsBoundProof [UPPER BOUND(ID), 62 ms] (88) CpxRNTS (89) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (90) CpxRNTS (91) IntTrsBoundProof [UPPER BOUND(ID), 496 ms] (92) CpxRNTS (93) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (94) CpxRNTS (95) FinalProof [FINISHED, 0 ms] (96) 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: 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) from(X) -> cons(X, n__from(s(X))) cons(X1, X2) -> n__cons(X1, X2) from(X) -> n__from(X) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(n__from(X)) -> from(X) activate(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(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) encArg(n__from(x_1)) -> n__from(encArg(x_1)) encArg(s(x_1)) -> s(encArg(x_1)) encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_2nd(x_1) -> 2nd(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) encode_activate(x_1) -> activate(encArg(x_1)) encode_from(x_1) -> from(encArg(x_1)) encode_n__from(x_1) -> n__from(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) from(X) -> cons(X, n__from(s(X))) cons(X1, X2) -> n__cons(X1, X2) from(X) -> n__from(X) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(n__from(X)) -> from(X) activate(X) -> X The (relative) TRS S consists of the following rules: encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) encArg(n__from(x_1)) -> n__from(encArg(x_1)) encArg(s(x_1)) -> s(encArg(x_1)) encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_2nd(x_1) -> 2nd(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) encode_activate(x_1) -> activate(encArg(x_1)) encode_from(x_1) -> from(encArg(x_1)) encode_n__from(x_1) -> n__from(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) from(X) -> cons(X, n__from(s(X))) cons(X1, X2) -> n__cons(X1, X2) from(X) -> n__from(X) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(n__from(X)) -> from(X) activate(X) -> X The (relative) TRS S consists of the following rules: encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) encArg(n__from(x_1)) -> n__from(encArg(x_1)) encArg(s(x_1)) -> s(encArg(x_1)) encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_2nd(x_1) -> 2nd(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) encode_activate(x_1) -> activate(encArg(x_1)) encode_from(x_1) -> from(encArg(x_1)) encode_n__from(x_1) -> n__from(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (6) 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: from(X) -> cons(X, n__from(s(X))) cons(X1, X2) -> n__cons(X1, X2) from(X) -> n__from(X) activate(n__cons(X1, X2)) -> cons(X1, X2) activate(n__from(X)) -> from(X) activate(X) -> X 2nd(c_cons(X, n__cons(Y, Z))) -> activate(Y) The (relative) TRS S consists of the following rules: encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) encArg(n__from(x_1)) -> n__from(encArg(x_1)) encArg(s(x_1)) -> s(encArg(x_1)) encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) encArg(cons_from(x_1)) -> from(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_2nd(x_1) -> 2nd(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) encode_activate(x_1) -> activate(encArg(x_1)) encode_from(x_1) -> from(encArg(x_1)) encode_n__from(x_1) -> n__from(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) cons(x0, x1) -> c_cons(x0, x1) Rewrite Strategy: INNERMOST ---------------------------------------- (7) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) [1] cons(X1, X2) -> n__cons(X1, X2) [1] from(X) -> n__from(X) [1] activate(n__cons(X1, X2)) -> cons(X1, X2) [1] activate(n__from(X)) -> from(X) [1] activate(X) -> X [1] 2nd(c_cons(X, n__cons(Y, Z))) -> activate(Y) [1] encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) [0] encArg(n__from(x_1)) -> n__from(encArg(x_1)) [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(x_1)) -> activate(encArg(x_1)) [0] encode_2nd(x_1) -> 2nd(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) [0] encode_activate(x_1) -> activate(encArg(x_1)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] encode_n__from(x_1) -> n__from(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] cons(x0, x1) -> c_cons(x0, x1) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) [1] cons(X1, X2) -> n__cons(X1, X2) [1] from(X) -> n__from(X) [1] activate(n__cons(X1, X2)) -> cons(X1, X2) [1] activate(n__from(X)) -> from(X) [1] activate(X) -> X [1] 2nd(c_cons(X, n__cons(Y, Z))) -> activate(Y) [1] encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) [0] encArg(n__from(x_1)) -> n__from(encArg(x_1)) [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(x_1)) -> activate(encArg(x_1)) [0] encode_2nd(x_1) -> 2nd(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) [0] encode_activate(x_1) -> activate(encArg(x_1)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] encode_n__from(x_1) -> n__from(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] cons(x0, x1) -> c_cons(x0, x1) [0] The TRS has the following type information: from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate n__from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate s :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate n__cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate 2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate c_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encArg :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate cons_2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate cons_from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate cons_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate cons_activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_n__cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_n__from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate encode_s :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate Rewrite Strategy: INNERMOST ---------------------------------------- (11) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: 2nd_1 from_1 activate_1 encArg_1 encode_2nd_1 encode_cons_2 encode_n__cons_2 encode_activate_1 encode_from_1 encode_n__from_1 encode_s_1 cons_2 Due to the following rules being added: encArg(v0) -> const [0] encode_2nd(v0) -> const [0] encode_cons(v0, v1) -> const [0] encode_n__cons(v0, v1) -> const [0] encode_activate(v0) -> const [0] encode_from(v0) -> const [0] encode_n__from(v0) -> const [0] encode_s(v0) -> const [0] cons(v0, v1) -> const [0] 2nd(v0) -> const [0] And the following fresh constants: const ---------------------------------------- (12) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) [1] cons(X1, X2) -> n__cons(X1, X2) [1] from(X) -> n__from(X) [1] activate(n__cons(X1, X2)) -> cons(X1, X2) [1] activate(n__from(X)) -> from(X) [1] activate(X) -> X [1] 2nd(c_cons(X, n__cons(Y, Z))) -> activate(Y) [1] encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) [0] encArg(n__from(x_1)) -> n__from(encArg(x_1)) [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_2nd(x_1)) -> 2nd(encArg(x_1)) [0] encArg(cons_from(x_1)) -> from(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(x_1)) -> activate(encArg(x_1)) [0] encode_2nd(x_1) -> 2nd(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) [0] encode_activate(x_1) -> activate(encArg(x_1)) [0] encode_from(x_1) -> from(encArg(x_1)) [0] encode_n__from(x_1) -> n__from(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] cons(x0, x1) -> c_cons(x0, x1) [0] encArg(v0) -> const [0] encode_2nd(v0) -> const [0] encode_cons(v0, v1) -> const [0] encode_n__cons(v0, v1) -> const [0] encode_activate(v0) -> const [0] encode_from(v0) -> const [0] encode_n__from(v0) -> const [0] encode_s(v0) -> const [0] cons(v0, v1) -> const [0] 2nd(v0) -> const [0] The TRS has the following type information: from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const n__from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const s :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const n__cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const 2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const c_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encArg :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_n__cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_n__from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_s :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const const :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const Rewrite Strategy: INNERMOST ---------------------------------------- (13) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (14) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: from(X) -> cons(X, n__from(s(X))) [1] cons(X1, X2) -> n__cons(X1, X2) [1] from(X) -> n__from(X) [1] activate(n__cons(X1, X2)) -> cons(X1, X2) [1] activate(n__from(X)) -> from(X) [1] activate(X) -> X [1] 2nd(c_cons(X, n__cons(Y, Z))) -> activate(Y) [1] encArg(n__cons(x_1, x_2)) -> n__cons(encArg(x_1), encArg(x_2)) [0] encArg(n__from(x_1)) -> n__from(encArg(x_1)) [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_2nd(n__cons(x_1', x_2'))) -> 2nd(n__cons(encArg(x_1'), encArg(x_2'))) [0] encArg(cons_2nd(n__from(x_1''))) -> 2nd(n__from(encArg(x_1''))) [0] encArg(cons_2nd(s(x_11))) -> 2nd(s(encArg(x_11))) [0] encArg(cons_2nd(cons_2nd(x_12))) -> 2nd(2nd(encArg(x_12))) [0] encArg(cons_2nd(cons_from(x_13))) -> 2nd(from(encArg(x_13))) [0] encArg(cons_2nd(cons_cons(x_14, x_2''))) -> 2nd(cons(encArg(x_14), encArg(x_2''))) [0] encArg(cons_2nd(cons_activate(x_15))) -> 2nd(activate(encArg(x_15))) [0] encArg(cons_2nd(x_1)) -> 2nd(const) [0] encArg(cons_from(n__cons(x_16, x_21))) -> from(n__cons(encArg(x_16), encArg(x_21))) [0] encArg(cons_from(n__from(x_17))) -> from(n__from(encArg(x_17))) [0] encArg(cons_from(s(x_18))) -> from(s(encArg(x_18))) [0] encArg(cons_from(cons_2nd(x_19))) -> from(2nd(encArg(x_19))) [0] encArg(cons_from(cons_from(x_110))) -> from(from(encArg(x_110))) [0] encArg(cons_from(cons_cons(x_111, x_22))) -> from(cons(encArg(x_111), encArg(x_22))) [0] encArg(cons_from(cons_activate(x_112))) -> from(activate(encArg(x_112))) [0] encArg(cons_from(x_1)) -> from(const) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(n__cons(x_176, x_221))) -> activate(n__cons(encArg(x_176), encArg(x_221))) [0] encArg(cons_activate(n__from(x_177))) -> activate(n__from(encArg(x_177))) [0] encArg(cons_activate(s(x_178))) -> activate(s(encArg(x_178))) [0] encArg(cons_activate(cons_2nd(x_179))) -> activate(2nd(encArg(x_179))) [0] encArg(cons_activate(cons_from(x_180))) -> activate(from(encArg(x_180))) [0] encArg(cons_activate(cons_cons(x_181, x_222))) -> activate(cons(encArg(x_181), encArg(x_222))) [0] encArg(cons_activate(cons_activate(x_182))) -> activate(activate(encArg(x_182))) [0] encArg(cons_activate(x_1)) -> activate(const) [0] encode_2nd(n__cons(x_183, x_223)) -> 2nd(n__cons(encArg(x_183), encArg(x_223))) [0] encode_2nd(n__from(x_184)) -> 2nd(n__from(encArg(x_184))) [0] encode_2nd(s(x_185)) -> 2nd(s(encArg(x_185))) [0] encode_2nd(cons_2nd(x_186)) -> 2nd(2nd(encArg(x_186))) [0] encode_2nd(cons_from(x_187)) -> 2nd(from(encArg(x_187))) [0] encode_2nd(cons_cons(x_188, x_224)) -> 2nd(cons(encArg(x_188), encArg(x_224))) [0] encode_2nd(cons_activate(x_189)) -> 2nd(activate(encArg(x_189))) [0] encode_2nd(x_1) -> 2nd(const) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_n__cons(x_1, x_2) -> n__cons(encArg(x_1), encArg(x_2)) [0] encode_activate(n__cons(x_1153, x_243)) -> activate(n__cons(encArg(x_1153), encArg(x_243))) [0] encode_activate(n__from(x_1154)) -> activate(n__from(encArg(x_1154))) [0] encode_activate(s(x_1155)) -> activate(s(encArg(x_1155))) [0] encode_activate(cons_2nd(x_1156)) -> activate(2nd(encArg(x_1156))) [0] encode_activate(cons_from(x_1157)) -> activate(from(encArg(x_1157))) [0] encode_activate(cons_cons(x_1158, x_244)) -> activate(cons(encArg(x_1158), encArg(x_244))) [0] encode_activate(cons_activate(x_1159)) -> activate(activate(encArg(x_1159))) [0] encode_activate(x_1) -> activate(const) [0] encode_from(n__cons(x_1160, x_245)) -> from(n__cons(encArg(x_1160), encArg(x_245))) [0] encode_from(n__from(x_1161)) -> from(n__from(encArg(x_1161))) [0] encode_from(s(x_1162)) -> from(s(encArg(x_1162))) [0] encode_from(cons_2nd(x_1163)) -> from(2nd(encArg(x_1163))) [0] encode_from(cons_from(x_1164)) -> from(from(encArg(x_1164))) [0] encode_from(cons_cons(x_1165, x_246)) -> from(cons(encArg(x_1165), encArg(x_246))) [0] encode_from(cons_activate(x_1166)) -> from(activate(encArg(x_1166))) [0] encode_from(x_1) -> from(const) [0] encode_n__from(x_1) -> n__from(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] cons(x0, x1) -> c_cons(x0, x1) [0] encArg(v0) -> const [0] encode_2nd(v0) -> const [0] encode_cons(v0, v1) -> const [0] encode_n__cons(v0, v1) -> const [0] encode_activate(v0) -> const [0] encode_from(v0) -> const [0] encode_n__from(v0) -> const [0] encode_s(v0) -> const [0] cons(v0, v1) -> const [0] 2nd(v0) -> const [0] The TRS has the following type information: from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const n__from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const s :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const n__cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const 2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const c_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encArg :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const cons_activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_2nd :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_n__cons :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_activate :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_n__from :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const encode_s :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const -> s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const const :: s:n__from:n__cons:c_cons:cons_2nd:cons_from:cons_cons:cons_activate:const Rewrite Strategy: INNERMOST ---------------------------------------- (15) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: const => 0 ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 activate(z) -{ 1 }-> X :|: X >= 0, z = X activate(z) -{ 1 }-> from(X) :|: z = 1 + X, X >= 0 activate(z) -{ 1 }-> cons(X1, X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 cons(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 cons(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> from(from(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(x_112))) :|: x_112 >= 0, z = 1 + (1 + x_112) encArg(z) -{ 0 }-> from(2nd(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> from(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_17)) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> from(1 + encArg(x_18)) :|: z = 1 + (1 + x_18), x_18 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(x_180))) :|: z = 1 + (1 + x_180), x_180 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(x_182))) :|: x_182 >= 0, z = 1 + (1 + x_182) encArg(z) -{ 0 }-> activate(2nd(encArg(x_179))) :|: x_179 >= 0, z = 1 + (1 + x_179) encArg(z) -{ 0 }-> activate(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_177)) :|: z = 1 + (1 + x_177), x_177 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_178)) :|: x_178 >= 0, z = 1 + (1 + x_178) encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(x_15))) :|: x_15 >= 0, z = 1 + (1 + x_15) encArg(z) -{ 0 }-> 2nd(2nd(encArg(x_12))) :|: z = 1 + (1 + x_12), x_12 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1'')) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_11)) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(x_187))) :|: x_187 >= 0, z = 1 + x_187 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(x_189))) :|: z = 1 + x_189, x_189 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(x_186))) :|: z = 1 + x_186, x_186 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: x_1 >= 0, z = x_1 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_184)) :|: z = 1 + x_184, x_184 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_185)) :|: z = 1 + x_185, x_185 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_activate(z) -{ 0 }-> activate(from(encArg(x_1157))) :|: x_1157 >= 0, z = 1 + x_1157 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(x_1159))) :|: x_1159 >= 0, z = 1 + x_1159 encode_activate(z) -{ 0 }-> activate(2nd(encArg(x_1156))) :|: x_1156 >= 0, z = 1 + x_1156 encode_activate(z) -{ 0 }-> activate(0) :|: x_1 >= 0, z = x_1 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1154)) :|: x_1154 >= 0, z = 1 + x_1154 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1155)) :|: z = 1 + x_1155, x_1155 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_cons(z, z') -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_from(z) -{ 0 }-> from(from(encArg(x_1164))) :|: z = 1 + x_1164, x_1164 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(x_1166))) :|: z = 1 + x_1166, x_1166 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(x_1163))) :|: x_1163 >= 0, z = 1 + x_1163 encode_from(z) -{ 0 }-> from(0) :|: x_1 >= 0, z = x_1 encode_from(z) -{ 0 }-> from(1 + encArg(x_1161)) :|: x_1161 >= 0, z = 1 + x_1161 encode_from(z) -{ 0 }-> from(1 + encArg(x_1162)) :|: x_1162 >= 0, z = 1 + x_1162 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_n__cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_n__from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_n__from(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: X >= 0, z = X from(z) -{ 1 }-> 1 + X :|: X >= 0, z = X ---------------------------------------- (17) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 cons(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 cons(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: X >= 0, z = X from(z) -{ 1 }-> 1 + X :|: X >= 0, z = X ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 activate(z) -{ 1 }-> X :|: X >= 0, z = X activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z = 1 + X, X >= 0, X' >= 0, X = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z = 1 + X, X >= 0, X' >= 0, X = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 cons(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 cons(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> from(from(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(x_112))) :|: x_112 >= 0, z = 1 + (1 + x_112) encArg(z) -{ 0 }-> from(2nd(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_17)) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> from(1 + encArg(x_18)) :|: z = 1 + (1 + x_18), x_18 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z = 1 + x_1, x_1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(x_180))) :|: z = 1 + (1 + x_180), x_180 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(x_182))) :|: x_182 >= 0, z = 1 + (1 + x_182) encArg(z) -{ 0 }-> activate(2nd(encArg(x_179))) :|: x_179 >= 0, z = 1 + (1 + x_179) encArg(z) -{ 0 }-> activate(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_177)) :|: z = 1 + (1 + x_177), x_177 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_178)) :|: x_178 >= 0, z = 1 + (1 + x_178) encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(x_15))) :|: x_15 >= 0, z = 1 + (1 + x_15) encArg(z) -{ 0 }-> 2nd(2nd(encArg(x_12))) :|: z = 1 + (1 + x_12), x_12 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1'')) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_11)) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 1 }-> 1 + X :|: z = 1 + x_1, x_1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(x_187))) :|: x_187 >= 0, z = 1 + x_187 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(x_189))) :|: z = 1 + x_189, x_189 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(x_186))) :|: z = 1 + x_186, x_186 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: x_1 >= 0, z = x_1 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_184)) :|: z = 1 + x_184, x_184 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_185)) :|: z = 1 + x_185, x_185 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_activate(z) -{ 0 }-> activate(from(encArg(x_1157))) :|: x_1157 >= 0, z = 1 + x_1157 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(x_1159))) :|: x_1159 >= 0, z = 1 + x_1159 encode_activate(z) -{ 0 }-> activate(2nd(encArg(x_1156))) :|: x_1156 >= 0, z = 1 + x_1156 encode_activate(z) -{ 0 }-> activate(0) :|: x_1 >= 0, z = x_1 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1154)) :|: x_1154 >= 0, z = 1 + x_1154 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1155)) :|: z = 1 + x_1155, x_1155 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_cons(z, z') -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_from(z) -{ 0 }-> from(from(encArg(x_1164))) :|: z = 1 + x_1164, x_1164 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(x_1166))) :|: z = 1 + x_1166, x_1166 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(x_1163))) :|: x_1163 >= 0, z = 1 + x_1163 encode_from(z) -{ 0 }-> from(1 + encArg(x_1161)) :|: x_1161 >= 0, z = 1 + x_1161 encode_from(z) -{ 0 }-> from(1 + encArg(x_1162)) :|: x_1162 >= 0, z = 1 + x_1162 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: x_1 >= 0, z = x_1, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_from(z) -{ 1 }-> 1 + X :|: x_1 >= 0, z = x_1, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_n__from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_n__from(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 from(z) -{ 1 }-> 0 :|: X >= 0, z = X, v0 >= 0, v1 >= 0, X = v0, 1 + (1 + X) = v1 from(z) -{ 1 }-> 1 + X :|: X >= 0, z = X from(z) -{ 2 }-> 1 + X1 + X2 :|: X >= 0, z = X, X1 >= 0, X2 >= 0, X = X1, 1 + (1 + X) = X2 from(z) -{ 1 }-> 1 + x0 + x1 :|: X >= 0, z = X, X = x0, x0 >= 0, x1 >= 0, 1 + (1 + X) = x1 ---------------------------------------- (19) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 ---------------------------------------- (21) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { from } { cons } { activate } { 2nd } { encArg } { encode_from } { encode_n__from } { encode_activate } { encode_n__cons } { encode_2nd } { encode_cons } { encode_s } ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {from}, {cons}, {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} ---------------------------------------- (23) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {from}, {cons}, {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: from after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 2*z ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {from}, {cons}, {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: ?, size: O(n^1) [3 + 2*z] ---------------------------------------- (27) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: from after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {cons}, {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] ---------------------------------------- (29) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {cons}, {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: cons after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z + z' ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {cons}, {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: ?, size: O(n^1) [1 + z + z'] ---------------------------------------- (33) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: cons after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 2 }-> cons(X', 1 + (1 + X')) :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 1 }-> cons(X, 1 + (1 + X)) :|: z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] ---------------------------------------- (35) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: activate after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 2*z ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {activate}, {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: ?, size: O(n^1) [1 + 2*z] ---------------------------------------- (39) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: activate after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 10 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 1 }-> activate(Y) :|: z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(0) :|: z >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] ---------------------------------------- (41) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: 2nd after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {2nd}, {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: ?, size: O(n^1) [2*z] ---------------------------------------- (45) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: 2nd after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 11 ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(0) :|: z >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] ---------------------------------------- (47) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encArg after applying outer abstraction to obtain an ITS, resulting in: EXP with polynomial bound: ? ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encArg}, {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: ?, size: EXP ---------------------------------------- (51) 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: 11 + 22*z ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 0 }-> from(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(cons(encArg(x_111), encArg(x_22))) :|: z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> from(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> from(1 + encArg(x_16) + encArg(x_21)) :|: z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(cons(encArg(x_181), encArg(x_222))) :|: z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_176) + encArg(x_221)) :|: x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ 0 }-> 2nd(from(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(cons(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> 2nd(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(2nd(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2nd(1 + encArg(x_1') + encArg(x_2')) :|: z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 0 }-> 2nd(from(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(cons(encArg(x_188), encArg(x_224))) :|: z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 2nd(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_2nd(z) -{ 0 }-> 2nd(1 + encArg(x_183) + encArg(x_223)) :|: x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 0 }-> activate(from(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(cons(encArg(x_1158), encArg(x_244))) :|: x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_1153) + encArg(x_243)) :|: x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 0 }-> from(from(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(cons(encArg(x_1165), encArg(x_246))) :|: x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> from(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(2nd(encArg(z - 1))) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_from(z) -{ 0 }-> from(1 + encArg(x_1160) + encArg(x_245)) :|: z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 0 }-> 1 + encArg(z) + encArg(z') :|: z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP ---------------------------------------- (53) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_from after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_from}, {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: ?, size: INF ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_from after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 9 + 22*z ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF ---------------------------------------- (59) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF ---------------------------------------- (61) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_n__from after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_n__from}, {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: ?, size: INF ---------------------------------------- (63) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_n__from after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 11 + 22*z ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF ---------------------------------------- (65) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF ---------------------------------------- (67) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_activate after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_activate}, {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: ?, size: INF ---------------------------------------- (69) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_activate after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 11 + 22*z ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF ---------------------------------------- (71) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF ---------------------------------------- (73) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_n__cons after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_n__cons}, {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: ?, size: INF ---------------------------------------- (75) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_n__cons after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 22 + 22*z + 22*z' ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF ---------------------------------------- (77) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF ---------------------------------------- (79) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_2nd after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_2nd}, {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: ?, size: INF ---------------------------------------- (81) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_2nd after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 12 + 22*z ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF ---------------------------------------- (83) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF ---------------------------------------- (85) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_cons after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_cons}, {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF encode_cons: runtime: ?, size: INF ---------------------------------------- (87) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_cons after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 23 + 22*z + 22*z' ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF encode_cons: runtime: O(n^1) [23 + 22*z + 22*z'], size: INF ---------------------------------------- (89) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF encode_cons: runtime: O(n^1) [23 + 22*z + 22*z'], size: INF ---------------------------------------- (91) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: {encode_s} Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF encode_cons: runtime: O(n^1) [23 + 22*z + 22*z'], size: INF encode_s: runtime: ?, size: INF ---------------------------------------- (93) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 11 + 22*z ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: 2nd(z) -{ 11 }-> s1 :|: s1 >= 0, s1 <= 2 * Y + 1, z = 1 + X + (1 + Y + Z), Z >= 0, Y >= 0, X >= 0 2nd(z) -{ 0 }-> 0 :|: z >= 0 activate(z) -{ 3 }-> s :|: s >= 0, s <= X' + (1 + (1 + X')) + 1, z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 1 }-> z :|: z >= 0 activate(z) -{ 1 }-> 0 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, v0 >= 0, v1 >= 0, X1 = v0, X2 = v1 activate(z) -{ 2 }-> 1 + X' :|: z - 1 >= 0, X' >= 0, z - 1 = X' activate(z) -{ 2 }-> 1 + X1' + X2' :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1' >= 0, X2' >= 0, X1 = X1', X2 = X2' activate(z) -{ 1 }-> 1 + x0 + x1 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2, X1 = x0, x0 >= 0, x1 >= 0, X2 = x1 cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 cons(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 cons(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 2 }-> s' :|: s' >= 0, s' <= X + (1 + (1 + X)) + 1, z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 33 + 22*x_1' + 22*x_2' }-> s11 :|: s9 >= 0, s9 <= inf1, s10 >= 0, s10 <= inf2, s11 >= 0, s11 <= 2 * (1 + s9 + s10), z = 1 + (1 + x_1' + x_2'), x_2' >= 0, x_1' >= 0 encArg(z) -{ 25 + 22*x_111 + 22*x_22 }-> s122 :|: s119 >= 0, s119 <= inf53, s120 >= 0, s120 <= inf54, s121 >= 0, s121 <= s119 + s120 + 1, s122 >= 0, s122 <= 2 * s121 + 3, z = 1 + (1 + x_111 + x_22), x_22 >= 0, x_111 >= 0 encArg(z) -{ -22 + 22*z }-> s13 :|: s12 >= 0, s12 <= inf3, s13 >= 0, s13 <= 2 * (1 + s12), z - 2 >= 0 encArg(z) -{ -11 + 22*z }-> s16 :|: s14 >= 0, s14 <= inf4, s15 >= 0, s15 <= 2 * s14, s16 >= 0, s16 <= 2 * s15, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s19 :|: s17 >= 0, s17 <= inf5, s18 >= 0, s18 <= 2 * s17 + 1, s19 >= 0, s19 <= 2 * s18, z - 2 >= 0 encArg(z) -{ 10 }-> s2 :|: s2 >= 0, s2 <= 2 * 0 + 1, z - 1 >= 0 encArg(z) -{ 32 + 22*x_176 + 22*x_221 }-> s22 :|: s20 >= 0, s20 <= inf6, s21 >= 0, s21 <= inf7, s22 >= 0, s22 <= 2 * (1 + s20 + s21) + 1, x_176 >= 0, z = 1 + (1 + x_176 + x_221), x_221 >= 0 encArg(z) -{ -23 + 22*z }-> s24 :|: s23 >= 0, s23 <= inf8, s24 >= 0, s24 <= 2 * (1 + s23) + 1, z - 2 >= 0 encArg(z) -{ -12 + 22*z }-> s27 :|: s25 >= 0, s25 <= inf9, s26 >= 0, s26 <= 2 * s25, s27 >= 0, s27 <= 2 * s26 + 1, z - 2 >= 0 encArg(z) -{ -13 + 22*z }-> s30 :|: s28 >= 0, s28 <= inf10, s29 >= 0, s29 <= 2 * s28 + 1, s30 >= 0, s30 <= 2 * s29 + 1, z - 2 >= 0 encArg(z) -{ 11 }-> s4 :|: s4 >= 0, s4 <= 2 * 0, z - 1 >= 0 encArg(z) -{ 34 + 22*x_14 + 22*x_2'' }-> s60 :|: s57 >= 0, s57 <= inf25, s58 >= 0, s58 <= inf26, s59 >= 0, s59 <= s57 + s58 + 1, s60 >= 0, s60 <= 2 * s59, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 23 + 22*x_1 + 22*x_2 }-> s63 :|: s61 >= 0, s61 <= inf27, s62 >= 0, s62 <= inf28, s63 >= 0, s63 <= s61 + s62 + 1, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 33 + 22*x_181 + 22*x_222 }-> s67 :|: s64 >= 0, s64 <= inf29, s65 >= 0, s65 <= inf30, s66 >= 0, s66 <= s64 + s65 + 1, s67 >= 0, s67 <= 2 * s66 + 1, z = 1 + (1 + x_181 + x_222), x_222 >= 0, x_181 >= 0 encArg(z) -{ -20 + 22*z }-> s81 :|: s79 >= 0, s79 <= inf37, s80 >= 0, s80 <= 2 * s79 + 3, s81 >= 0, s81 <= 2 * s80, z - 2 >= 0 encArg(z) -{ 24 + 22*x_16 + 22*x_21 }-> s84 :|: s82 >= 0, s82 <= inf38, s83 >= 0, s83 <= inf39, s84 >= 0, s84 <= 2 * (1 + s82 + s83) + 3, z = 1 + (1 + x_16 + x_21), x_16 >= 0, x_21 >= 0 encArg(z) -{ -31 + 22*z }-> s86 :|: s85 >= 0, s85 <= inf40, s86 >= 0, s86 <= 2 * (1 + s85) + 3, z - 2 >= 0 encArg(z) -{ -20 + 22*z }-> s89 :|: s87 >= 0, s87 <= inf41, s88 >= 0, s88 <= 2 * s87, s89 >= 0, s89 <= 2 * s88 + 3, z - 2 >= 0 encArg(z) -{ -29 + 22*z }-> s92 :|: s90 >= 0, s90 <= inf42, s91 >= 0, s91 <= 2 * s90 + 3, s92 >= 0, s92 <= 2 * s91 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s95 :|: s93 >= 0, s93 <= inf43, s94 >= 0, s94 <= 2 * s93 + 1, s95 >= 0, s95 <= 2 * s94 + 3, z - 2 >= 0 encArg(z) -{ -21 + 22*z }-> s98 :|: s96 >= 0, s96 <= inf44, s97 >= 0, s97 <= 2 * s96 + 3, s98 >= 0, s98 <= 2 * s97 + 1, z - 2 >= 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 1 }-> 1 + X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ -11 + 22*z }-> 1 + s8 :|: s8 >= 0, s8 <= inf'', z - 1 >= 0 encArg(z) -{ 22 + 22*x_1 + 22*x_2 }-> 1 + s6 + s7 :|: s6 >= 0, s6 <= inf, s7 >= 0, s7 <= inf', x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encode_2nd(z) -{ 2 + 22*z }-> s101 :|: s99 >= 0, s99 <= inf45, s100 >= 0, s100 <= 2 * s99 + 3, s101 >= 0, s101 <= 2 * s100, z - 1 >= 0 encode_2nd(z) -{ 33 + 22*x_183 + 22*x_223 }-> s33 :|: s31 >= 0, s31 <= inf11, s32 >= 0, s32 <= inf12, s33 >= 0, s33 <= 2 * (1 + s31 + s32), x_183 >= 0, x_223 >= 0, z = 1 + x_183 + x_223 encode_2nd(z) -{ 22*z }-> s35 :|: s34 >= 0, s34 <= inf13, s35 >= 0, s35 <= 2 * (1 + s34), z - 1 >= 0 encode_2nd(z) -{ 11 + 22*z }-> s38 :|: s36 >= 0, s36 <= inf14, s37 >= 0, s37 <= 2 * s36, s38 >= 0, s38 <= 2 * s37, z - 1 >= 0 encode_2nd(z) -{ 10 + 22*z }-> s41 :|: s39 >= 0, s39 <= inf15, s40 >= 0, s40 <= 2 * s39 + 1, s41 >= 0, s41 <= 2 * s40, z - 1 >= 0 encode_2nd(z) -{ 11 }-> s5 :|: s5 >= 0, s5 <= 2 * 0, z >= 0 encode_2nd(z) -{ 34 + 22*x_188 + 22*x_224 }-> s71 :|: s68 >= 0, s68 <= inf31, s69 >= 0, s69 <= inf32, s70 >= 0, s70 <= s68 + s69 + 1, s71 >= 0, s71 <= 2 * s70, z = 1 + x_188 + x_224, x_224 >= 0, x_188 >= 0 encode_2nd(z) -{ 0 }-> 0 :|: z >= 0 encode_activate(z) -{ 1 + 22*z }-> s104 :|: s102 >= 0, s102 <= inf46, s103 >= 0, s103 <= 2 * s102 + 3, s104 >= 0, s104 <= 2 * s103 + 1, z - 1 >= 0 encode_activate(z) -{ 10 }-> s3 :|: s3 >= 0, s3 <= 2 * 0 + 1, z >= 0 encode_activate(z) -{ 32 + 22*x_1153 + 22*x_243 }-> s46 :|: s44 >= 0, s44 <= inf18, s45 >= 0, s45 <= inf19, s46 >= 0, s46 <= 2 * (1 + s44 + s45) + 1, x_243 >= 0, z = 1 + x_1153 + x_243, x_1153 >= 0 encode_activate(z) -{ -1 + 22*z }-> s48 :|: s47 >= 0, s47 <= inf20, s48 >= 0, s48 <= 2 * (1 + s47) + 1, z - 1 >= 0 encode_activate(z) -{ 10 + 22*z }-> s51 :|: s49 >= 0, s49 <= inf21, s50 >= 0, s50 <= 2 * s49, s51 >= 0, s51 <= 2 * s50 + 1, z - 1 >= 0 encode_activate(z) -{ 9 + 22*z }-> s54 :|: s52 >= 0, s52 <= inf22, s53 >= 0, s53 <= 2 * s52 + 1, s54 >= 0, s54 <= 2 * s53 + 1, z - 1 >= 0 encode_activate(z) -{ 33 + 22*x_1158 + 22*x_244 }-> s78 :|: s75 >= 0, s75 <= inf35, s76 >= 0, s76 <= inf36, s77 >= 0, s77 <= s75 + s76 + 1, s78 >= 0, s78 <= 2 * s77 + 1, x_1158 >= 0, x_244 >= 0, z = 1 + x_1158 + x_244 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_cons(z, z') -{ 23 + 22*z + 22*z' }-> s74 :|: s72 >= 0, s72 <= inf33, s73 >= 0, s73 <= inf34, s74 >= 0, s74 <= s72 + s73 + 1, z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_from(z) -{ 2 }-> s'' :|: s'' >= 0, s'' <= X + (1 + (1 + X)) + 1, z >= 0, X >= 0, 0 = X encode_from(z) -{ 24 + 22*x_1160 + 22*x_245 }-> s107 :|: s105 >= 0, s105 <= inf47, s106 >= 0, s106 <= inf48, s107 >= 0, s107 <= 2 * (1 + s105 + s106) + 3, z = 1 + x_1160 + x_245, x_1160 >= 0, x_245 >= 0 encode_from(z) -{ -9 + 22*z }-> s109 :|: s108 >= 0, s108 <= inf49, s109 >= 0, s109 <= 2 * (1 + s108) + 3, z - 1 >= 0 encode_from(z) -{ 2 + 22*z }-> s112 :|: s110 >= 0, s110 <= inf50, s111 >= 0, s111 <= 2 * s110, s112 >= 0, s112 <= 2 * s111 + 3, z - 1 >= 0 encode_from(z) -{ -7 + 22*z }-> s115 :|: s113 >= 0, s113 <= inf51, s114 >= 0, s114 <= 2 * s113 + 3, s115 >= 0, s115 <= 2 * s114 + 3, z - 1 >= 0 encode_from(z) -{ 1 + 22*z }-> s118 :|: s116 >= 0, s116 <= inf52, s117 >= 0, s117 <= 2 * s116 + 1, s118 >= 0, s118 <= 2 * s117 + 3, z - 1 >= 0 encode_from(z) -{ 25 + 22*x_1165 + 22*x_246 }-> s126 :|: s123 >= 0, s123 <= inf55, s124 >= 0, s124 <= inf56, s125 >= 0, s125 <= s123 + s124 + 1, s126 >= 0, s126 <= 2 * s125 + 3, x_1165 >= 0, x_246 >= 0, z = 1 + x_1165 + x_246 encode_from(z) -{ 0 }-> 0 :|: z >= 0 encode_from(z) -{ 1 }-> 1 + X :|: z >= 0, X >= 0, 0 = X encode_n__cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_n__cons(z, z') -{ 22 + 22*z + 22*z' }-> 1 + s42 + s43 :|: s42 >= 0, s42 <= inf16, s43 >= 0, s43 <= inf17, z >= 0, z' >= 0 encode_n__from(z) -{ 0 }-> 0 :|: z >= 0 encode_n__from(z) -{ 11 + 22*z }-> 1 + s55 :|: s55 >= 0, s55 <= inf23, z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11 + 22*z }-> 1 + s56 :|: s56 >= 0, s56 <= inf24, z >= 0 from(z) -{ 1 }-> 0 :|: z >= 0, v1 >= 0, 1 + (1 + z) = v1 from(z) -{ 1 }-> 1 + z :|: z >= 0 from(z) -{ 2 }-> 1 + z + X2 :|: z >= 0, X2 >= 0, 1 + (1 + z) = X2 from(z) -{ 1 }-> 1 + z + x1 :|: z >= 0, x1 >= 0, 1 + (1 + z) = x1 Function symbols to be analyzed: Previous analysis results are: from: runtime: O(1) [2], size: O(n^1) [3 + 2*z] cons: runtime: O(1) [1], size: O(n^1) [1 + z + z'] activate: runtime: O(1) [10], size: O(n^1) [1 + 2*z] 2nd: runtime: O(1) [11], size: O(n^1) [2*z] encArg: runtime: O(n^1) [11 + 22*z], size: EXP encode_from: runtime: O(n^1) [9 + 22*z], size: INF encode_n__from: runtime: O(n^1) [11 + 22*z], size: INF encode_activate: runtime: O(n^1) [11 + 22*z], size: INF encode_n__cons: runtime: O(n^1) [22 + 22*z + 22*z'], size: INF encode_2nd: runtime: O(n^1) [12 + 22*z], size: INF encode_cons: runtime: O(n^1) [23 + 22*z + 22*z'], size: INF encode_s: runtime: O(n^1) [11 + 22*z], size: INF ---------------------------------------- (95) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (96) BOUNDS(1, n^1)