/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^1)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^1). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 159 ms] (4) CpxRelTRS (5) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (6) CpxRelTRS (7) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxWeightedTrs (11) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CpxTypedWeightedTrs (13) CompletionProof [UPPER BOUND(ID), 0 ms] (14) CpxTypedWeightedCompleteTrs (15) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxTypedWeightedCompleteTrs (17) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (18) CpxRNTS (19) InliningProof [UPPER BOUND(ID), 1170 ms] (20) CpxRNTS (21) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxRNTS (23) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CpxRNTS (25) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (26) CpxRNTS (27) IntTrsBoundProof [UPPER BOUND(ID), 525 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 98 ms] (30) CpxRNTS (31) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (32) CpxRNTS (33) IntTrsBoundProof [UPPER BOUND(ID), 181 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (36) CpxRNTS (37) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (38) CpxRNTS (39) IntTrsBoundProof [UPPER BOUND(ID), 42 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 1 ms] (42) CpxRNTS (43) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (44) CpxRNTS (45) IntTrsBoundProof [UPPER BOUND(ID), 2676 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 951 ms] (48) CpxRNTS (49) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (50) CpxRNTS (51) IntTrsBoundProof [UPPER BOUND(ID), 303 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 78 ms] (54) CpxRNTS (55) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 1612 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 641 ms] (60) CpxRNTS (61) FinalProof [FINISHED, 0 ms] (62) BOUNDS(1, n^1) (63) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CpxRelTRS (65) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (66) typed CpxTrs (67) OrderProof [LOWER BOUND(ID), 0 ms] (68) typed CpxTrs (69) RewriteLemmaProof [LOWER BOUND(ID), 247 ms] (70) proven lower bound (71) LowerBoundPropagationProof [FINISHED, 0 ms] (72) BOUNDS(n^1, INF) ---------------------------------------- (0) Obligation: The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: .(1, x) -> x .(x, 1) -> x .(i(x), x) -> 1 .(x, i(x)) -> 1 i(1) -> 1 i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(1) -> 1 encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1 encode_i(x_1) -> i(encArg(x_1)) ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: .(1, x) -> x .(x, 1) -> x .(i(x), x) -> 1 .(x, i(x)) -> 1 i(1) -> 1 i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z The (relative) TRS S consists of the following rules: encArg(1) -> 1 encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1 encode_i(x_1) -> i(encArg(x_1)) Rewrite Strategy: FULL ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^1). The TRS R consists of the following rules: .(1, x) -> x .(x, 1) -> x .(i(x), x) -> 1 .(x, i(x)) -> 1 i(1) -> 1 i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z The (relative) TRS S consists of the following rules: encArg(1) -> 1 encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1 encode_i(x_1) -> i(encArg(x_1)) Rewrite Strategy: FULL ---------------------------------------- (5) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (6) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: .(1, x) -> x .(x, 1) -> x i(1) -> 1 .(c_i(x), x) -> 1 .(x, c_i(x)) -> 1 i(c_i(x)) -> x .(y, c_.(c_i(y), z)) -> z .(c_i(y), c_.(y, z)) -> z The (relative) TRS S consists of the following rules: encArg(1) -> 1 encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1 encode_i(x_1) -> i(encArg(x_1)) i(x0) -> c_i(x0) .(x0, x1) -> c_.(x0, x1) Rewrite Strategy: FULL ---------------------------------------- (7) RcToIrcProof (BOTH BOUNDS(ID, ID)) Converted rc-obligation to irc-obligation. As the TRS is a non-duplicating overlay system, we have rc = irc. ---------------------------------------- (8) 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: .(1, x) -> x .(x, 1) -> x i(1) -> 1 .(c_i(x), x) -> 1 .(x, c_i(x)) -> 1 i(c_i(x)) -> x .(y, c_.(c_i(y), z)) -> z .(c_i(y), c_.(y, z)) -> z The (relative) TRS S consists of the following rules: encArg(1) -> 1 encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1 encode_i(x_1) -> i(encArg(x_1)) i(x0) -> c_i(x0) .(x0, x1) -> c_.(x0, x1) Rewrite Strategy: INNERMOST ---------------------------------------- (9) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (10) 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: .(1, x) -> x [1] .(x, 1) -> x [1] i(1) -> 1 [1] .(c_i(x), x) -> 1 [1] .(x, c_i(x)) -> 1 [1] i(c_i(x)) -> x [1] .(y, c_.(c_i(y), z)) -> z [1] .(c_i(y), c_.(y, z)) -> z [1] encArg(1) -> 1 [0] encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) [0] encArg(cons_i(x_1)) -> i(encArg(x_1)) [0] encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) [0] encode_1 -> 1 [0] encode_i(x_1) -> i(encArg(x_1)) [0] i(x0) -> c_i(x0) [0] .(x0, x1) -> c_.(x0, x1) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (11) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (12) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: .(1, x) -> x [1] .(x, 1) -> x [1] i(1) -> 1 [1] .(c_i(x), x) -> 1 [1] .(x, c_i(x)) -> 1 [1] i(c_i(x)) -> x [1] .(y, c_.(c_i(y), z)) -> z [1] .(c_i(y), c_.(y, z)) -> z [1] encArg(1) -> 1 [0] encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) [0] encArg(cons_i(x_1)) -> i(encArg(x_1)) [0] encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) [0] encode_1 -> 1 [0] encode_i(x_1) -> i(encArg(x_1)) [0] i(x0) -> c_i(x0) [0] .(x0, x1) -> c_.(x0, x1) [0] The TRS has the following type information: . :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i 1 :: 1:c_i:c_.:cons_.:cons_i i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i c_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i c_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encArg :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i cons_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i cons_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encode_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encode_1 :: 1:c_i:c_.:cons_.:cons_i encode_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i Rewrite Strategy: INNERMOST ---------------------------------------- (13) 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: encArg_1 encode_._2 encode_1 encode_i_1 i_1 ._2 Due to the following rules being added: encArg(v0) -> 1 [0] encode_.(v0, v1) -> 1 [0] encode_1 -> 1 [0] encode_i(v0) -> 1 [0] i(v0) -> 1 [0] .(v0, v1) -> 1 [0] And the following fresh constants: none ---------------------------------------- (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: .(1, x) -> x [1] .(x, 1) -> x [1] i(1) -> 1 [1] .(c_i(x), x) -> 1 [1] .(x, c_i(x)) -> 1 [1] i(c_i(x)) -> x [1] .(y, c_.(c_i(y), z)) -> z [1] .(c_i(y), c_.(y, z)) -> z [1] encArg(1) -> 1 [0] encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) [0] encArg(cons_i(x_1)) -> i(encArg(x_1)) [0] encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) [0] encode_1 -> 1 [0] encode_i(x_1) -> i(encArg(x_1)) [0] i(x0) -> c_i(x0) [0] .(x0, x1) -> c_.(x0, x1) [0] encArg(v0) -> 1 [0] encode_.(v0, v1) -> 1 [0] encode_1 -> 1 [0] encode_i(v0) -> 1 [0] i(v0) -> 1 [0] .(v0, v1) -> 1 [0] The TRS has the following type information: . :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i 1 :: 1:c_i:c_.:cons_.:cons_i i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i c_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i c_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encArg :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i cons_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i cons_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encode_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encode_1 :: 1:c_i:c_.:cons_.:cons_i encode_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i Rewrite Strategy: INNERMOST ---------------------------------------- (15) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (16) 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: .(1, x) -> x [1] .(x, 1) -> x [1] i(1) -> 1 [1] .(c_i(x), x) -> 1 [1] .(x, c_i(x)) -> 1 [1] i(c_i(x)) -> x [1] .(y, c_.(c_i(y), z)) -> z [1] .(c_i(y), c_.(y, z)) -> z [1] encArg(1) -> 1 [0] encArg(cons_.(1, 1)) -> .(1, 1) [0] encArg(cons_.(1, cons_.(x_11, x_2''))) -> .(1, .(encArg(x_11), encArg(x_2''))) [0] encArg(cons_.(1, cons_i(x_12))) -> .(1, i(encArg(x_12))) [0] encArg(cons_.(1, x_2)) -> .(1, 1) [0] encArg(cons_.(cons_.(x_1', x_2'), 1)) -> .(.(encArg(x_1'), encArg(x_2')), 1) [0] encArg(cons_.(cons_.(x_1', x_2'), cons_.(x_13, x_21))) -> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) [0] encArg(cons_.(cons_.(x_1', x_2'), cons_i(x_14))) -> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) [0] encArg(cons_.(cons_.(x_1', x_2'), x_2)) -> .(.(encArg(x_1'), encArg(x_2')), 1) [0] encArg(cons_.(cons_i(x_1''), 1)) -> .(i(encArg(x_1'')), 1) [0] encArg(cons_.(cons_i(x_1''), cons_.(x_15, x_22))) -> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) [0] encArg(cons_.(cons_i(x_1''), cons_i(x_16))) -> .(i(encArg(x_1'')), i(encArg(x_16))) [0] encArg(cons_.(cons_i(x_1''), x_2)) -> .(i(encArg(x_1'')), 1) [0] encArg(cons_.(x_1, 1)) -> .(1, 1) [0] encArg(cons_.(x_1, cons_.(x_17, x_23))) -> .(1, .(encArg(x_17), encArg(x_23))) [0] encArg(cons_.(x_1, cons_i(x_18))) -> .(1, i(encArg(x_18))) [0] encArg(cons_.(x_1, x_2)) -> .(1, 1) [0] encArg(cons_i(1)) -> i(1) [0] encArg(cons_i(cons_.(x_19, x_24))) -> i(.(encArg(x_19), encArg(x_24))) [0] encArg(cons_i(cons_i(x_110))) -> i(i(encArg(x_110))) [0] encArg(cons_i(x_1)) -> i(1) [0] encode_.(1, 1) -> .(1, 1) [0] encode_.(1, cons_.(x_113, x_26)) -> .(1, .(encArg(x_113), encArg(x_26))) [0] encode_.(1, cons_i(x_114)) -> .(1, i(encArg(x_114))) [0] encode_.(1, x_2) -> .(1, 1) [0] encode_.(cons_.(x_111, x_25), 1) -> .(.(encArg(x_111), encArg(x_25)), 1) [0] encode_.(cons_.(x_111, x_25), cons_.(x_115, x_27)) -> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) [0] encode_.(cons_.(x_111, x_25), cons_i(x_116)) -> .(.(encArg(x_111), encArg(x_25)), i(encArg(x_116))) [0] encode_.(cons_.(x_111, x_25), x_2) -> .(.(encArg(x_111), encArg(x_25)), 1) [0] encode_.(cons_i(x_112), 1) -> .(i(encArg(x_112)), 1) [0] encode_.(cons_i(x_112), cons_.(x_117, x_28)) -> .(i(encArg(x_112)), .(encArg(x_117), encArg(x_28))) [0] encode_.(cons_i(x_112), cons_i(x_118)) -> .(i(encArg(x_112)), i(encArg(x_118))) [0] encode_.(cons_i(x_112), x_2) -> .(i(encArg(x_112)), 1) [0] encode_.(x_1, 1) -> .(1, 1) [0] encode_.(x_1, cons_.(x_119, x_29)) -> .(1, .(encArg(x_119), encArg(x_29))) [0] encode_.(x_1, cons_i(x_120)) -> .(1, i(encArg(x_120))) [0] encode_.(x_1, x_2) -> .(1, 1) [0] encode_1 -> 1 [0] encode_i(1) -> i(1) [0] encode_i(cons_.(x_121, x_210)) -> i(.(encArg(x_121), encArg(x_210))) [0] encode_i(cons_i(x_122)) -> i(i(encArg(x_122))) [0] encode_i(x_1) -> i(1) [0] i(x0) -> c_i(x0) [0] .(x0, x1) -> c_.(x0, x1) [0] encArg(v0) -> 1 [0] encode_.(v0, v1) -> 1 [0] encode_1 -> 1 [0] encode_i(v0) -> 1 [0] i(v0) -> 1 [0] .(v0, v1) -> 1 [0] The TRS has the following type information: . :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i 1 :: 1:c_i:c_.:cons_.:cons_i i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i c_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i c_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encArg :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i cons_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i cons_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encode_. :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i encode_1 :: 1:c_i:c_.:cons_.:cons_i encode_i :: 1:c_i:c_.:cons_.:cons_i -> 1:c_i:c_.:cons_.:cons_i Rewrite Strategy: INNERMOST ---------------------------------------- (17) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 1 => 0 ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> x :|: x >= 0, z'' = x, z' = 0 .(z', z'') -{ 1 }-> x :|: z'' = 0, z' = x, x >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + y) + z, y >= 0, z' = y .(z', z'') -{ 1 }-> z :|: z' = 1 + y, z >= 0, y >= 0, z'' = 1 + y + z .(z', z'') -{ 1 }-> 0 :|: z' = 1 + x, x >= 0, z'' = x .(z', z'') -{ 1 }-> 0 :|: z' = x, x >= 0, z'' = 1 + x .(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 .(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = x1, x0 >= 0, x1 >= 0, z' = x0 encArg(z') -{ 0 }-> i(i(encArg(x_110))) :|: z' = 1 + (1 + x_110), x_110 >= 0 encArg(z') -{ 0 }-> i(0) :|: z' = 1 + 0 encArg(z') -{ 0 }-> i(0) :|: x_1 >= 0, z' = 1 + x_1 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + 0, x_1'' >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_12))) :|: z' = 1 + 0 + (1 + x_12), x_12 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, 0) :|: z' = 1 + 0 + 0 encArg(z') -{ 0 }-> .(0, 0) :|: x_2 >= 0, z' = 1 + 0 + x_2 encArg(z') -{ 0 }-> .(0, 0) :|: x_1 >= 0, z' = 1 + x_1 + 0 encArg(z') -{ 0 }-> .(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), i(encArg(x_118))) :|: z'' = 1 + x_118, z' = 1 + x_112, x_112 >= 0, x_118 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), 0) :|: z'' = 0, z' = 1 + x_112, x_112 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), 0) :|: x_2 >= 0, z' = 1 + x_112, z'' = x_2, x_112 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z' = 1 + x_112, z'' = 1 + x_117 + x_28, x_112 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(x_114))) :|: z'' = 1 + x_114, x_114 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(x_120))) :|: x_1 >= 0, x_120 >= 0, z'' = 1 + x_120, z' = x_1 encode_.(z', z'') -{ 0 }-> .(0, 0) :|: z'' = 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, 0) :|: x_2 >= 0, z'' = x_2, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, 0) :|: z'' = 0, x_1 >= 0, z' = x_1 encode_.(z', z'') -{ 0 }-> .(0, 0) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: x_1 >= 0, z'' = 1 + x_119 + x_29, z' = x_1, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(x_116))) :|: z'' = 1 + x_116, x_116 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, x_2 >= 0, z'' = x_2, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(x_122))) :|: z' = 1 + x_122, x_122 >= 0 encode_i(z') -{ 0 }-> i(0) :|: z' = 0 encode_i(z') -{ 0 }-> i(0) :|: x_1 >= 0, z' = x_1 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 i(z') -{ 1 }-> x :|: z' = 1 + x, x >= 0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 i(z') -{ 0 }-> 1 + x0 :|: x0 >= 0, z' = x0 ---------------------------------------- (19) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + y) + z, y >= 0, z' = y .(z', z'') -{ 1 }-> z :|: z' = 1 + y, z >= 0, y >= 0, z'' = 1 + y + z .(z', z'') -{ 1 }-> 0 :|: z' = 1 + x, x >= 0, z'' = x .(z', z'') -{ 1 }-> 0 :|: z' = x, x >= 0, z'' = 1 + x .(z', z'') -{ 1 }-> x :|: x >= 0, z'' = x, z' = 0 .(z', z'') -{ 1 }-> x :|: z'' = 0, z' = x, x >= 0 .(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = x1, x0 >= 0, x1 >= 0, z' = x0 .(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 i(z') -{ 1 }-> x :|: z' = 1 + x, x >= 0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 1 + x0 :|: x0 >= 0, z' = x0 i(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> x :|: x >= 0, z'' = x, z' = 0 .(z', z'') -{ 1 }-> x :|: z'' = 0, z' = x, x >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + y) + z, y >= 0, z' = y .(z', z'') -{ 1 }-> z :|: z' = 1 + y, z >= 0, y >= 0, z'' = 1 + y + z .(z', z'') -{ 1 }-> 0 :|: z' = 1 + x, x >= 0, z'' = x .(z', z'') -{ 1 }-> 0 :|: z' = x, x >= 0, z'' = 1 + x .(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 .(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = x1, x0 >= 0, x1 >= 0, z' = x0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_2 >= 0, z' = 1 + 0 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, z' = 1 + x_1 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(x_110))) :|: z' = 1 + (1 + x_110), x_110 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_2 >= 0, z' = 1 + 0 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, z' = 1 + x_1 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: x_1 >= 0, z' = 1 + x_1, 0 = 0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, z' = 1 + x_1, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + 0, x_1'' >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_12))) :|: z' = 1 + 0 + (1 + x_12), x_12 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: x_1 >= 0, z' = 1 + x_1, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_2 >= 0, z' = 1 + 0 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, z' = 1 + x_1 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: x_2 >= 0, z'' = x_2, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, x_1 >= 0, z' = x_1, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: x_2 >= 0, z'' = x_2, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, x_1 >= 0, z' = x_1, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), i(encArg(x_118))) :|: z'' = 1 + x_118, z' = 1 + x_112, x_112 >= 0, x_118 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), 0) :|: z'' = 0, z' = 1 + x_112, x_112 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), 0) :|: x_2 >= 0, z' = 1 + x_112, z'' = x_2, x_112 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(x_112)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z' = 1 + x_112, z'' = 1 + x_117 + x_28, x_112 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(x_114))) :|: z'' = 1 + x_114, x_114 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(x_120))) :|: x_1 >= 0, x_120 >= 0, z'' = 1 + x_120, z' = x_1 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: x_1 >= 0, z'' = 1 + x_119 + x_29, z' = x_1, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(x_116))) :|: z'' = 1 + x_116, x_116 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, x_2 >= 0, z'' = x_2, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: x_2 >= 0, z'' = x_2, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, x_1 >= 0, z' = x_1, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(x_122))) :|: z' = 1 + x_122, x_122 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: x_1 >= 0, z' = x_1, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: x_1 >= 0, z' = x_1, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: x_1 >= 0, z' = x_1, x0 >= 0, 0 = x0 i(z') -{ 1 }-> x :|: z' = 1 + x, x >= 0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 i(z') -{ 0 }-> 1 + x0 :|: x0 >= 0, z' = x0 ---------------------------------------- (21) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 ---------------------------------------- (23) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { . } { i } { encode_1 } { encArg } { encode_i } { encode_. } ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {.}, {i}, {encode_1}, {encArg}, {encode_i}, {encode_.} ---------------------------------------- (25) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {.}, {i}, {encode_1}, {encArg}, {encode_i}, {encode_.} ---------------------------------------- (27) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: . after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' + z'' ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {.}, {i}, {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: ?, size: O(n^1) [1 + z' + z''] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: . after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {i}, {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] ---------------------------------------- (31) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {i}, {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] ---------------------------------------- (33) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: i after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {i}, {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: ?, size: O(n^1) [1 + z'] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: i after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] ---------------------------------------- (37) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] ---------------------------------------- (39) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_1}, {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: ?, size: O(1) [0] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (43) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (45) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encArg}, {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: ?, size: O(n^1) [1 + z'] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 4 + 5*z' ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> i(i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> i(.(encArg(x_19), encArg(x_24))) :|: z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), i(encArg(x_16))) :|: x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 0 }-> .(i(encArg(x_1'')), 0) :|: z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(i(encArg(x_1'')), .(encArg(x_15), encArg(x_22))) :|: x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ 0 }-> .(i(encArg(z' - 2)), 0) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(x_18))) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> .(0, i(encArg(z' - 2))) :|: z' - 2 >= 0 encArg(z') -{ 0 }-> .(0, .(encArg(x_11), encArg(x_2''))) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 0 }-> .(0, .(encArg(x_17), encArg(x_23))) :|: x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), i(encArg(x_14))) :|: z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), 0) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 0 }-> .(.(encArg(x_1'), encArg(x_2')), .(encArg(x_13), encArg(x_21))) :|: x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), i(encArg(z'' - 1))) :|: z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), 0) :|: z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(i(encArg(z' - 1)), .(encArg(x_117), encArg(x_28))) :|: x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, i(encArg(z'' - 1))) :|: z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_113), encArg(x_26))) :|: z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 0 }-> .(0, .(encArg(x_119), encArg(x_29))) :|: z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), i(encArg(z'' - 1))) :|: z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), 0) :|: x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> .(.(encArg(x_111), encArg(x_25)), .(encArg(x_115), encArg(x_27))) :|: z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 0 }-> i(i(encArg(z' - 1))) :|: z' - 1 >= 0 encode_i(z') -{ 0 }-> i(.(encArg(x_121), encArg(x_210))) :|: z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] ---------------------------------------- (49) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 10 + 5*x_11 + 5*x_2'' }-> s1 :|: s >= 0, s <= x_11 + 1, s' >= 0, s' <= x_2'' + 1, s'' >= 0, s'' <= s + s' + 1, s1 >= 0, s1 <= 0 + s'' + 1, x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 19 + 5*x_1' + 5*x_13 + 5*x_2' + 5*x_21 }-> s12 :|: s6 >= 0, s6 <= x_1' + 1, s7 >= 0, s7 <= x_2' + 1, s8 >= 0, s8 <= s6 + s7 + 1, s9 >= 0, s9 <= x_13 + 1, s10 >= 0, s10 <= x_21 + 1, s11 >= 0, s11 <= s9 + s10 + 1, s12 >= 0, s12 <= s8 + s11 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s16 :|: s13 >= 0, s13 <= x_1' + 1, s14 >= 0, s14 <= x_2' + 1, s15 >= 0, s15 <= s13 + s14 + 1, s16 >= 0, s16 <= s15 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 10 + 5*x_17 + 5*x_23 }-> s20 :|: s17 >= 0, s17 <= x_17 + 1, s18 >= 0, s18 <= x_23 + 1, s19 >= 0, s19 <= s17 + s18 + 1, s20 >= 0, s20 <= 0 + s19 + 1, x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 15 + 5*x_1' + 5*x_14 + 5*x_2' }-> s49 :|: s44 >= 0, s44 <= x_1' + 1, s45 >= 0, s45 <= x_2' + 1, s46 >= 0, s46 <= s44 + s45 + 1, s47 >= 0, s47 <= x_14 + 1, s48 >= 0, s48 <= s47 + 1, s49 >= 0, s49 <= s46 + s48 + 1, z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s5 :|: s2 >= 0, s2 <= x_1' + 1, s3 >= 0, s3 <= x_2' + 1, s4 >= 0, s4 <= s2 + s3 + 1, s5 >= 0, s5 <= s4 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 15 + 5*x_1'' + 5*x_15 + 5*x_22 }-> s55 :|: s50 >= 0, s50 <= x_1'' + 1, s51 >= 0, s51 <= s50 + 1, s52 >= 0, s52 <= x_15 + 1, s53 >= 0, s53 <= x_22 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s51 + s54 + 1, x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ -4 + 5*z' }-> s58 :|: s56 >= 0, s56 <= z' - 2 + 1, s57 >= 0, s57 <= s56 + 1, s58 >= 0, s58 <= s57 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s76 :|: s74 >= 0, s74 <= z' - 2 + 1, s75 >= 0, s75 <= s74 + 1, s76 >= 0, s76 <= 0 + s75 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s79 :|: s77 >= 0, s77 <= z' - 2 + 1, s78 >= 0, s78 <= s77 + 1, s79 >= 0, s79 <= s78 + 0 + 1, z' - 2 >= 0 encArg(z') -{ 11 + 5*x_1'' + 5*x_16 }-> s84 :|: s80 >= 0, s80 <= x_1'' + 1, s81 >= 0, s81 <= s80 + 1, s82 >= 0, s82 <= x_16 + 1, s83 >= 0, s83 <= s82 + 1, s84 >= 0, s84 <= s81 + s83 + 1, x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 6 + 5*x_1'' }-> s87 :|: s85 >= 0, s85 <= x_1'' + 1, s86 >= 0, s86 <= s85 + 1, s87 >= 0, s87 <= s86 + 0 + 1, z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 6 + 5*x_18 }-> s90 :|: s88 >= 0, s88 <= x_18 + 1, s89 >= 0, s89 <= s88 + 1, s90 >= 0, s90 <= 0 + s89 + 1, x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 10 + 5*x_19 + 5*x_24 }-> s94 :|: s91 >= 0, s91 <= x_19 + 1, s92 >= 0, s92 <= x_24 + 1, s93 >= 0, s93 <= s91 + s92 + 1, s94 >= 0, s94 <= s93 + 1, z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 + 5*z' }-> s100 :|: s98 >= 0, s98 <= z' - 1 + 1, s99 >= 0, s99 <= s98 + 1, s100 >= 0, s100 <= s99 + 0 + 1, z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' + 5*z'' }-> s105 :|: s101 >= 0, s101 <= z' - 1 + 1, s102 >= 0, s102 <= s101 + 1, s103 >= 0, s103 <= z'' - 1 + 1, s104 >= 0, s104 <= s103 + 1, s105 >= 0, s105 <= s102 + s104 + 1, z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' }-> s108 :|: s106 >= 0, s106 <= z' - 1 + 1, s107 >= 0, s107 <= s106 + 1, s108 >= 0, s108 <= s107 + 0 + 1, z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s111 :|: s109 >= 0, s109 <= z'' - 1 + 1, s110 >= 0, s110 <= s109 + 1, s111 >= 0, s111 <= 0 + s110 + 1, z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 10 + 5*x_113 + 5*x_26 }-> s24 :|: s21 >= 0, s21 <= x_113 + 1, s22 >= 0, s22 <= x_26 + 1, s23 >= 0, s23 <= s21 + s22 + 1, s24 >= 0, s24 <= 0 + s23 + 1, z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s28 :|: s25 >= 0, s25 <= x_111 + 1, s26 >= 0, s26 <= x_25 + 1, s27 >= 0, s27 <= s25 + s26 + 1, s28 >= 0, s28 <= s27 + 0 + 1, z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 19 + 5*x_111 + 5*x_115 + 5*x_25 + 5*x_27 }-> s35 :|: s29 >= 0, s29 <= x_111 + 1, s30 >= 0, s30 <= x_25 + 1, s31 >= 0, s31 <= s29 + s30 + 1, s32 >= 0, s32 <= x_115 + 1, s33 >= 0, s33 <= x_27 + 1, s34 >= 0, s34 <= s32 + s33 + 1, s35 >= 0, s35 <= s31 + s34 + 1, z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s39 :|: s36 >= 0, s36 <= x_111 + 1, s37 >= 0, s37 <= x_25 + 1, s38 >= 0, s38 <= s36 + s37 + 1, s39 >= 0, s39 <= s38 + 0 + 1, x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_119 + 5*x_29 }-> s43 :|: s40 >= 0, s40 <= x_119 + 1, s41 >= 0, s41 <= x_29 + 1, s42 >= 0, s42 <= s40 + s41 + 1, s43 >= 0, s43 <= 0 + s42 + 1, z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 + 5*z'' }-> s64 :|: s59 >= 0, s59 <= x_111 + 1, s60 >= 0, s60 <= x_25 + 1, s61 >= 0, s61 <= s59 + s60 + 1, s62 >= 0, s62 <= z'' - 1 + 1, s63 >= 0, s63 <= s62 + 1, s64 >= 0, s64 <= s61 + s63 + 1, z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_117 + 5*x_28 + 5*z' }-> s70 :|: s65 >= 0, s65 <= z' - 1 + 1, s66 >= 0, s66 <= s65 + 1, s67 >= 0, s67 <= x_117 + 1, s68 >= 0, s68 <= x_28 + 1, s69 >= 0, s69 <= s67 + s68 + 1, s70 >= 0, s70 <= s66 + s69 + 1, x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s97 :|: s95 >= 0, s95 <= z'' - 1 + 1, s96 >= 0, s96 <= s95 + 1, s97 >= 0, s97 <= 0 + s96 + 1, z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 10 + 5*x_121 + 5*x_210 }-> s115 :|: s112 >= 0, s112 <= x_121 + 1, s113 >= 0, s113 <= x_210 + 1, s114 >= 0, s114 <= s112 + s113 + 1, s115 >= 0, s115 <= s114 + 1, z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 1 + 5*z' }-> s73 :|: s71 >= 0, s71 <= z' - 1 + 1, s72 >= 0, s72 <= s71 + 1, s73 >= 0, s73 <= s72 + 1, z' - 1 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] ---------------------------------------- (51) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_i after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + z' ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 10 + 5*x_11 + 5*x_2'' }-> s1 :|: s >= 0, s <= x_11 + 1, s' >= 0, s' <= x_2'' + 1, s'' >= 0, s'' <= s + s' + 1, s1 >= 0, s1 <= 0 + s'' + 1, x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 19 + 5*x_1' + 5*x_13 + 5*x_2' + 5*x_21 }-> s12 :|: s6 >= 0, s6 <= x_1' + 1, s7 >= 0, s7 <= x_2' + 1, s8 >= 0, s8 <= s6 + s7 + 1, s9 >= 0, s9 <= x_13 + 1, s10 >= 0, s10 <= x_21 + 1, s11 >= 0, s11 <= s9 + s10 + 1, s12 >= 0, s12 <= s8 + s11 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s16 :|: s13 >= 0, s13 <= x_1' + 1, s14 >= 0, s14 <= x_2' + 1, s15 >= 0, s15 <= s13 + s14 + 1, s16 >= 0, s16 <= s15 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 10 + 5*x_17 + 5*x_23 }-> s20 :|: s17 >= 0, s17 <= x_17 + 1, s18 >= 0, s18 <= x_23 + 1, s19 >= 0, s19 <= s17 + s18 + 1, s20 >= 0, s20 <= 0 + s19 + 1, x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 15 + 5*x_1' + 5*x_14 + 5*x_2' }-> s49 :|: s44 >= 0, s44 <= x_1' + 1, s45 >= 0, s45 <= x_2' + 1, s46 >= 0, s46 <= s44 + s45 + 1, s47 >= 0, s47 <= x_14 + 1, s48 >= 0, s48 <= s47 + 1, s49 >= 0, s49 <= s46 + s48 + 1, z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s5 :|: s2 >= 0, s2 <= x_1' + 1, s3 >= 0, s3 <= x_2' + 1, s4 >= 0, s4 <= s2 + s3 + 1, s5 >= 0, s5 <= s4 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 15 + 5*x_1'' + 5*x_15 + 5*x_22 }-> s55 :|: s50 >= 0, s50 <= x_1'' + 1, s51 >= 0, s51 <= s50 + 1, s52 >= 0, s52 <= x_15 + 1, s53 >= 0, s53 <= x_22 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s51 + s54 + 1, x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ -4 + 5*z' }-> s58 :|: s56 >= 0, s56 <= z' - 2 + 1, s57 >= 0, s57 <= s56 + 1, s58 >= 0, s58 <= s57 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s76 :|: s74 >= 0, s74 <= z' - 2 + 1, s75 >= 0, s75 <= s74 + 1, s76 >= 0, s76 <= 0 + s75 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s79 :|: s77 >= 0, s77 <= z' - 2 + 1, s78 >= 0, s78 <= s77 + 1, s79 >= 0, s79 <= s78 + 0 + 1, z' - 2 >= 0 encArg(z') -{ 11 + 5*x_1'' + 5*x_16 }-> s84 :|: s80 >= 0, s80 <= x_1'' + 1, s81 >= 0, s81 <= s80 + 1, s82 >= 0, s82 <= x_16 + 1, s83 >= 0, s83 <= s82 + 1, s84 >= 0, s84 <= s81 + s83 + 1, x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 6 + 5*x_1'' }-> s87 :|: s85 >= 0, s85 <= x_1'' + 1, s86 >= 0, s86 <= s85 + 1, s87 >= 0, s87 <= s86 + 0 + 1, z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 6 + 5*x_18 }-> s90 :|: s88 >= 0, s88 <= x_18 + 1, s89 >= 0, s89 <= s88 + 1, s90 >= 0, s90 <= 0 + s89 + 1, x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 10 + 5*x_19 + 5*x_24 }-> s94 :|: s91 >= 0, s91 <= x_19 + 1, s92 >= 0, s92 <= x_24 + 1, s93 >= 0, s93 <= s91 + s92 + 1, s94 >= 0, s94 <= s93 + 1, z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 + 5*z' }-> s100 :|: s98 >= 0, s98 <= z' - 1 + 1, s99 >= 0, s99 <= s98 + 1, s100 >= 0, s100 <= s99 + 0 + 1, z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' + 5*z'' }-> s105 :|: s101 >= 0, s101 <= z' - 1 + 1, s102 >= 0, s102 <= s101 + 1, s103 >= 0, s103 <= z'' - 1 + 1, s104 >= 0, s104 <= s103 + 1, s105 >= 0, s105 <= s102 + s104 + 1, z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' }-> s108 :|: s106 >= 0, s106 <= z' - 1 + 1, s107 >= 0, s107 <= s106 + 1, s108 >= 0, s108 <= s107 + 0 + 1, z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s111 :|: s109 >= 0, s109 <= z'' - 1 + 1, s110 >= 0, s110 <= s109 + 1, s111 >= 0, s111 <= 0 + s110 + 1, z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 10 + 5*x_113 + 5*x_26 }-> s24 :|: s21 >= 0, s21 <= x_113 + 1, s22 >= 0, s22 <= x_26 + 1, s23 >= 0, s23 <= s21 + s22 + 1, s24 >= 0, s24 <= 0 + s23 + 1, z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s28 :|: s25 >= 0, s25 <= x_111 + 1, s26 >= 0, s26 <= x_25 + 1, s27 >= 0, s27 <= s25 + s26 + 1, s28 >= 0, s28 <= s27 + 0 + 1, z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 19 + 5*x_111 + 5*x_115 + 5*x_25 + 5*x_27 }-> s35 :|: s29 >= 0, s29 <= x_111 + 1, s30 >= 0, s30 <= x_25 + 1, s31 >= 0, s31 <= s29 + s30 + 1, s32 >= 0, s32 <= x_115 + 1, s33 >= 0, s33 <= x_27 + 1, s34 >= 0, s34 <= s32 + s33 + 1, s35 >= 0, s35 <= s31 + s34 + 1, z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s39 :|: s36 >= 0, s36 <= x_111 + 1, s37 >= 0, s37 <= x_25 + 1, s38 >= 0, s38 <= s36 + s37 + 1, s39 >= 0, s39 <= s38 + 0 + 1, x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_119 + 5*x_29 }-> s43 :|: s40 >= 0, s40 <= x_119 + 1, s41 >= 0, s41 <= x_29 + 1, s42 >= 0, s42 <= s40 + s41 + 1, s43 >= 0, s43 <= 0 + s42 + 1, z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 + 5*z'' }-> s64 :|: s59 >= 0, s59 <= x_111 + 1, s60 >= 0, s60 <= x_25 + 1, s61 >= 0, s61 <= s59 + s60 + 1, s62 >= 0, s62 <= z'' - 1 + 1, s63 >= 0, s63 <= s62 + 1, s64 >= 0, s64 <= s61 + s63 + 1, z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_117 + 5*x_28 + 5*z' }-> s70 :|: s65 >= 0, s65 <= z' - 1 + 1, s66 >= 0, s66 <= s65 + 1, s67 >= 0, s67 <= x_117 + 1, s68 >= 0, s68 <= x_28 + 1, s69 >= 0, s69 <= s67 + s68 + 1, s70 >= 0, s70 <= s66 + s69 + 1, x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s97 :|: s95 >= 0, s95 <= z'' - 1 + 1, s96 >= 0, s96 <= s95 + 1, s97 >= 0, s97 <= 0 + s96 + 1, z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 10 + 5*x_121 + 5*x_210 }-> s115 :|: s112 >= 0, s112 <= x_121 + 1, s113 >= 0, s113 <= x_210 + 1, s114 >= 0, s114 <= s112 + s113 + 1, s115 >= 0, s115 <= s114 + 1, z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 1 + 5*z' }-> s73 :|: s71 >= 0, s71 <= z' - 1 + 1, s72 >= 0, s72 <= s71 + 1, s73 >= 0, s73 <= s72 + 1, z' - 1 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_i}, {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] encode_i: runtime: ?, size: O(n^1) [3 + z'] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_i after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 5 + 5*z' ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 10 + 5*x_11 + 5*x_2'' }-> s1 :|: s >= 0, s <= x_11 + 1, s' >= 0, s' <= x_2'' + 1, s'' >= 0, s'' <= s + s' + 1, s1 >= 0, s1 <= 0 + s'' + 1, x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 19 + 5*x_1' + 5*x_13 + 5*x_2' + 5*x_21 }-> s12 :|: s6 >= 0, s6 <= x_1' + 1, s7 >= 0, s7 <= x_2' + 1, s8 >= 0, s8 <= s6 + s7 + 1, s9 >= 0, s9 <= x_13 + 1, s10 >= 0, s10 <= x_21 + 1, s11 >= 0, s11 <= s9 + s10 + 1, s12 >= 0, s12 <= s8 + s11 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s16 :|: s13 >= 0, s13 <= x_1' + 1, s14 >= 0, s14 <= x_2' + 1, s15 >= 0, s15 <= s13 + s14 + 1, s16 >= 0, s16 <= s15 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 10 + 5*x_17 + 5*x_23 }-> s20 :|: s17 >= 0, s17 <= x_17 + 1, s18 >= 0, s18 <= x_23 + 1, s19 >= 0, s19 <= s17 + s18 + 1, s20 >= 0, s20 <= 0 + s19 + 1, x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 15 + 5*x_1' + 5*x_14 + 5*x_2' }-> s49 :|: s44 >= 0, s44 <= x_1' + 1, s45 >= 0, s45 <= x_2' + 1, s46 >= 0, s46 <= s44 + s45 + 1, s47 >= 0, s47 <= x_14 + 1, s48 >= 0, s48 <= s47 + 1, s49 >= 0, s49 <= s46 + s48 + 1, z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s5 :|: s2 >= 0, s2 <= x_1' + 1, s3 >= 0, s3 <= x_2' + 1, s4 >= 0, s4 <= s2 + s3 + 1, s5 >= 0, s5 <= s4 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 15 + 5*x_1'' + 5*x_15 + 5*x_22 }-> s55 :|: s50 >= 0, s50 <= x_1'' + 1, s51 >= 0, s51 <= s50 + 1, s52 >= 0, s52 <= x_15 + 1, s53 >= 0, s53 <= x_22 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s51 + s54 + 1, x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ -4 + 5*z' }-> s58 :|: s56 >= 0, s56 <= z' - 2 + 1, s57 >= 0, s57 <= s56 + 1, s58 >= 0, s58 <= s57 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s76 :|: s74 >= 0, s74 <= z' - 2 + 1, s75 >= 0, s75 <= s74 + 1, s76 >= 0, s76 <= 0 + s75 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s79 :|: s77 >= 0, s77 <= z' - 2 + 1, s78 >= 0, s78 <= s77 + 1, s79 >= 0, s79 <= s78 + 0 + 1, z' - 2 >= 0 encArg(z') -{ 11 + 5*x_1'' + 5*x_16 }-> s84 :|: s80 >= 0, s80 <= x_1'' + 1, s81 >= 0, s81 <= s80 + 1, s82 >= 0, s82 <= x_16 + 1, s83 >= 0, s83 <= s82 + 1, s84 >= 0, s84 <= s81 + s83 + 1, x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 6 + 5*x_1'' }-> s87 :|: s85 >= 0, s85 <= x_1'' + 1, s86 >= 0, s86 <= s85 + 1, s87 >= 0, s87 <= s86 + 0 + 1, z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 6 + 5*x_18 }-> s90 :|: s88 >= 0, s88 <= x_18 + 1, s89 >= 0, s89 <= s88 + 1, s90 >= 0, s90 <= 0 + s89 + 1, x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 10 + 5*x_19 + 5*x_24 }-> s94 :|: s91 >= 0, s91 <= x_19 + 1, s92 >= 0, s92 <= x_24 + 1, s93 >= 0, s93 <= s91 + s92 + 1, s94 >= 0, s94 <= s93 + 1, z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 + 5*z' }-> s100 :|: s98 >= 0, s98 <= z' - 1 + 1, s99 >= 0, s99 <= s98 + 1, s100 >= 0, s100 <= s99 + 0 + 1, z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' + 5*z'' }-> s105 :|: s101 >= 0, s101 <= z' - 1 + 1, s102 >= 0, s102 <= s101 + 1, s103 >= 0, s103 <= z'' - 1 + 1, s104 >= 0, s104 <= s103 + 1, s105 >= 0, s105 <= s102 + s104 + 1, z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' }-> s108 :|: s106 >= 0, s106 <= z' - 1 + 1, s107 >= 0, s107 <= s106 + 1, s108 >= 0, s108 <= s107 + 0 + 1, z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s111 :|: s109 >= 0, s109 <= z'' - 1 + 1, s110 >= 0, s110 <= s109 + 1, s111 >= 0, s111 <= 0 + s110 + 1, z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 10 + 5*x_113 + 5*x_26 }-> s24 :|: s21 >= 0, s21 <= x_113 + 1, s22 >= 0, s22 <= x_26 + 1, s23 >= 0, s23 <= s21 + s22 + 1, s24 >= 0, s24 <= 0 + s23 + 1, z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s28 :|: s25 >= 0, s25 <= x_111 + 1, s26 >= 0, s26 <= x_25 + 1, s27 >= 0, s27 <= s25 + s26 + 1, s28 >= 0, s28 <= s27 + 0 + 1, z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 19 + 5*x_111 + 5*x_115 + 5*x_25 + 5*x_27 }-> s35 :|: s29 >= 0, s29 <= x_111 + 1, s30 >= 0, s30 <= x_25 + 1, s31 >= 0, s31 <= s29 + s30 + 1, s32 >= 0, s32 <= x_115 + 1, s33 >= 0, s33 <= x_27 + 1, s34 >= 0, s34 <= s32 + s33 + 1, s35 >= 0, s35 <= s31 + s34 + 1, z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s39 :|: s36 >= 0, s36 <= x_111 + 1, s37 >= 0, s37 <= x_25 + 1, s38 >= 0, s38 <= s36 + s37 + 1, s39 >= 0, s39 <= s38 + 0 + 1, x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_119 + 5*x_29 }-> s43 :|: s40 >= 0, s40 <= x_119 + 1, s41 >= 0, s41 <= x_29 + 1, s42 >= 0, s42 <= s40 + s41 + 1, s43 >= 0, s43 <= 0 + s42 + 1, z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 + 5*z'' }-> s64 :|: s59 >= 0, s59 <= x_111 + 1, s60 >= 0, s60 <= x_25 + 1, s61 >= 0, s61 <= s59 + s60 + 1, s62 >= 0, s62 <= z'' - 1 + 1, s63 >= 0, s63 <= s62 + 1, s64 >= 0, s64 <= s61 + s63 + 1, z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_117 + 5*x_28 + 5*z' }-> s70 :|: s65 >= 0, s65 <= z' - 1 + 1, s66 >= 0, s66 <= s65 + 1, s67 >= 0, s67 <= x_117 + 1, s68 >= 0, s68 <= x_28 + 1, s69 >= 0, s69 <= s67 + s68 + 1, s70 >= 0, s70 <= s66 + s69 + 1, x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s97 :|: s95 >= 0, s95 <= z'' - 1 + 1, s96 >= 0, s96 <= s95 + 1, s97 >= 0, s97 <= 0 + s96 + 1, z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 10 + 5*x_121 + 5*x_210 }-> s115 :|: s112 >= 0, s112 <= x_121 + 1, s113 >= 0, s113 <= x_210 + 1, s114 >= 0, s114 <= s112 + s113 + 1, s115 >= 0, s115 <= s114 + 1, z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 1 + 5*z' }-> s73 :|: s71 >= 0, s71 <= z' - 1 + 1, s72 >= 0, s72 <= s71 + 1, s73 >= 0, s73 <= s72 + 1, z' - 1 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] encode_i: runtime: O(n^1) [5 + 5*z'], size: O(n^1) [3 + z'] ---------------------------------------- (55) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 10 + 5*x_11 + 5*x_2'' }-> s1 :|: s >= 0, s <= x_11 + 1, s' >= 0, s' <= x_2'' + 1, s'' >= 0, s'' <= s + s' + 1, s1 >= 0, s1 <= 0 + s'' + 1, x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 19 + 5*x_1' + 5*x_13 + 5*x_2' + 5*x_21 }-> s12 :|: s6 >= 0, s6 <= x_1' + 1, s7 >= 0, s7 <= x_2' + 1, s8 >= 0, s8 <= s6 + s7 + 1, s9 >= 0, s9 <= x_13 + 1, s10 >= 0, s10 <= x_21 + 1, s11 >= 0, s11 <= s9 + s10 + 1, s12 >= 0, s12 <= s8 + s11 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s16 :|: s13 >= 0, s13 <= x_1' + 1, s14 >= 0, s14 <= x_2' + 1, s15 >= 0, s15 <= s13 + s14 + 1, s16 >= 0, s16 <= s15 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 10 + 5*x_17 + 5*x_23 }-> s20 :|: s17 >= 0, s17 <= x_17 + 1, s18 >= 0, s18 <= x_23 + 1, s19 >= 0, s19 <= s17 + s18 + 1, s20 >= 0, s20 <= 0 + s19 + 1, x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 15 + 5*x_1' + 5*x_14 + 5*x_2' }-> s49 :|: s44 >= 0, s44 <= x_1' + 1, s45 >= 0, s45 <= x_2' + 1, s46 >= 0, s46 <= s44 + s45 + 1, s47 >= 0, s47 <= x_14 + 1, s48 >= 0, s48 <= s47 + 1, s49 >= 0, s49 <= s46 + s48 + 1, z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s5 :|: s2 >= 0, s2 <= x_1' + 1, s3 >= 0, s3 <= x_2' + 1, s4 >= 0, s4 <= s2 + s3 + 1, s5 >= 0, s5 <= s4 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 15 + 5*x_1'' + 5*x_15 + 5*x_22 }-> s55 :|: s50 >= 0, s50 <= x_1'' + 1, s51 >= 0, s51 <= s50 + 1, s52 >= 0, s52 <= x_15 + 1, s53 >= 0, s53 <= x_22 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s51 + s54 + 1, x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ -4 + 5*z' }-> s58 :|: s56 >= 0, s56 <= z' - 2 + 1, s57 >= 0, s57 <= s56 + 1, s58 >= 0, s58 <= s57 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s76 :|: s74 >= 0, s74 <= z' - 2 + 1, s75 >= 0, s75 <= s74 + 1, s76 >= 0, s76 <= 0 + s75 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s79 :|: s77 >= 0, s77 <= z' - 2 + 1, s78 >= 0, s78 <= s77 + 1, s79 >= 0, s79 <= s78 + 0 + 1, z' - 2 >= 0 encArg(z') -{ 11 + 5*x_1'' + 5*x_16 }-> s84 :|: s80 >= 0, s80 <= x_1'' + 1, s81 >= 0, s81 <= s80 + 1, s82 >= 0, s82 <= x_16 + 1, s83 >= 0, s83 <= s82 + 1, s84 >= 0, s84 <= s81 + s83 + 1, x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 6 + 5*x_1'' }-> s87 :|: s85 >= 0, s85 <= x_1'' + 1, s86 >= 0, s86 <= s85 + 1, s87 >= 0, s87 <= s86 + 0 + 1, z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 6 + 5*x_18 }-> s90 :|: s88 >= 0, s88 <= x_18 + 1, s89 >= 0, s89 <= s88 + 1, s90 >= 0, s90 <= 0 + s89 + 1, x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 10 + 5*x_19 + 5*x_24 }-> s94 :|: s91 >= 0, s91 <= x_19 + 1, s92 >= 0, s92 <= x_24 + 1, s93 >= 0, s93 <= s91 + s92 + 1, s94 >= 0, s94 <= s93 + 1, z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 + 5*z' }-> s100 :|: s98 >= 0, s98 <= z' - 1 + 1, s99 >= 0, s99 <= s98 + 1, s100 >= 0, s100 <= s99 + 0 + 1, z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' + 5*z'' }-> s105 :|: s101 >= 0, s101 <= z' - 1 + 1, s102 >= 0, s102 <= s101 + 1, s103 >= 0, s103 <= z'' - 1 + 1, s104 >= 0, s104 <= s103 + 1, s105 >= 0, s105 <= s102 + s104 + 1, z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' }-> s108 :|: s106 >= 0, s106 <= z' - 1 + 1, s107 >= 0, s107 <= s106 + 1, s108 >= 0, s108 <= s107 + 0 + 1, z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s111 :|: s109 >= 0, s109 <= z'' - 1 + 1, s110 >= 0, s110 <= s109 + 1, s111 >= 0, s111 <= 0 + s110 + 1, z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 10 + 5*x_113 + 5*x_26 }-> s24 :|: s21 >= 0, s21 <= x_113 + 1, s22 >= 0, s22 <= x_26 + 1, s23 >= 0, s23 <= s21 + s22 + 1, s24 >= 0, s24 <= 0 + s23 + 1, z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s28 :|: s25 >= 0, s25 <= x_111 + 1, s26 >= 0, s26 <= x_25 + 1, s27 >= 0, s27 <= s25 + s26 + 1, s28 >= 0, s28 <= s27 + 0 + 1, z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 19 + 5*x_111 + 5*x_115 + 5*x_25 + 5*x_27 }-> s35 :|: s29 >= 0, s29 <= x_111 + 1, s30 >= 0, s30 <= x_25 + 1, s31 >= 0, s31 <= s29 + s30 + 1, s32 >= 0, s32 <= x_115 + 1, s33 >= 0, s33 <= x_27 + 1, s34 >= 0, s34 <= s32 + s33 + 1, s35 >= 0, s35 <= s31 + s34 + 1, z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s39 :|: s36 >= 0, s36 <= x_111 + 1, s37 >= 0, s37 <= x_25 + 1, s38 >= 0, s38 <= s36 + s37 + 1, s39 >= 0, s39 <= s38 + 0 + 1, x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_119 + 5*x_29 }-> s43 :|: s40 >= 0, s40 <= x_119 + 1, s41 >= 0, s41 <= x_29 + 1, s42 >= 0, s42 <= s40 + s41 + 1, s43 >= 0, s43 <= 0 + s42 + 1, z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 + 5*z'' }-> s64 :|: s59 >= 0, s59 <= x_111 + 1, s60 >= 0, s60 <= x_25 + 1, s61 >= 0, s61 <= s59 + s60 + 1, s62 >= 0, s62 <= z'' - 1 + 1, s63 >= 0, s63 <= s62 + 1, s64 >= 0, s64 <= s61 + s63 + 1, z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_117 + 5*x_28 + 5*z' }-> s70 :|: s65 >= 0, s65 <= z' - 1 + 1, s66 >= 0, s66 <= s65 + 1, s67 >= 0, s67 <= x_117 + 1, s68 >= 0, s68 <= x_28 + 1, s69 >= 0, s69 <= s67 + s68 + 1, s70 >= 0, s70 <= s66 + s69 + 1, x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s97 :|: s95 >= 0, s95 <= z'' - 1 + 1, s96 >= 0, s96 <= s95 + 1, s97 >= 0, s97 <= 0 + s96 + 1, z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 10 + 5*x_121 + 5*x_210 }-> s115 :|: s112 >= 0, s112 <= x_121 + 1, s113 >= 0, s113 <= x_210 + 1, s114 >= 0, s114 <= s112 + s113 + 1, s115 >= 0, s115 <= s114 + 1, z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 1 + 5*z' }-> s73 :|: s71 >= 0, s71 <= z' - 1 + 1, s72 >= 0, s72 <= s71 + 1, s73 >= 0, s73 <= s72 + 1, z' - 1 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] encode_i: runtime: O(n^1) [5 + 5*z'], size: O(n^1) [3 + z'] ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_. after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 5 + z' + z'' ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 10 + 5*x_11 + 5*x_2'' }-> s1 :|: s >= 0, s <= x_11 + 1, s' >= 0, s' <= x_2'' + 1, s'' >= 0, s'' <= s + s' + 1, s1 >= 0, s1 <= 0 + s'' + 1, x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 19 + 5*x_1' + 5*x_13 + 5*x_2' + 5*x_21 }-> s12 :|: s6 >= 0, s6 <= x_1' + 1, s7 >= 0, s7 <= x_2' + 1, s8 >= 0, s8 <= s6 + s7 + 1, s9 >= 0, s9 <= x_13 + 1, s10 >= 0, s10 <= x_21 + 1, s11 >= 0, s11 <= s9 + s10 + 1, s12 >= 0, s12 <= s8 + s11 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s16 :|: s13 >= 0, s13 <= x_1' + 1, s14 >= 0, s14 <= x_2' + 1, s15 >= 0, s15 <= s13 + s14 + 1, s16 >= 0, s16 <= s15 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 10 + 5*x_17 + 5*x_23 }-> s20 :|: s17 >= 0, s17 <= x_17 + 1, s18 >= 0, s18 <= x_23 + 1, s19 >= 0, s19 <= s17 + s18 + 1, s20 >= 0, s20 <= 0 + s19 + 1, x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 15 + 5*x_1' + 5*x_14 + 5*x_2' }-> s49 :|: s44 >= 0, s44 <= x_1' + 1, s45 >= 0, s45 <= x_2' + 1, s46 >= 0, s46 <= s44 + s45 + 1, s47 >= 0, s47 <= x_14 + 1, s48 >= 0, s48 <= s47 + 1, s49 >= 0, s49 <= s46 + s48 + 1, z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s5 :|: s2 >= 0, s2 <= x_1' + 1, s3 >= 0, s3 <= x_2' + 1, s4 >= 0, s4 <= s2 + s3 + 1, s5 >= 0, s5 <= s4 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 15 + 5*x_1'' + 5*x_15 + 5*x_22 }-> s55 :|: s50 >= 0, s50 <= x_1'' + 1, s51 >= 0, s51 <= s50 + 1, s52 >= 0, s52 <= x_15 + 1, s53 >= 0, s53 <= x_22 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s51 + s54 + 1, x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ -4 + 5*z' }-> s58 :|: s56 >= 0, s56 <= z' - 2 + 1, s57 >= 0, s57 <= s56 + 1, s58 >= 0, s58 <= s57 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s76 :|: s74 >= 0, s74 <= z' - 2 + 1, s75 >= 0, s75 <= s74 + 1, s76 >= 0, s76 <= 0 + s75 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s79 :|: s77 >= 0, s77 <= z' - 2 + 1, s78 >= 0, s78 <= s77 + 1, s79 >= 0, s79 <= s78 + 0 + 1, z' - 2 >= 0 encArg(z') -{ 11 + 5*x_1'' + 5*x_16 }-> s84 :|: s80 >= 0, s80 <= x_1'' + 1, s81 >= 0, s81 <= s80 + 1, s82 >= 0, s82 <= x_16 + 1, s83 >= 0, s83 <= s82 + 1, s84 >= 0, s84 <= s81 + s83 + 1, x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 6 + 5*x_1'' }-> s87 :|: s85 >= 0, s85 <= x_1'' + 1, s86 >= 0, s86 <= s85 + 1, s87 >= 0, s87 <= s86 + 0 + 1, z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 6 + 5*x_18 }-> s90 :|: s88 >= 0, s88 <= x_18 + 1, s89 >= 0, s89 <= s88 + 1, s90 >= 0, s90 <= 0 + s89 + 1, x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 10 + 5*x_19 + 5*x_24 }-> s94 :|: s91 >= 0, s91 <= x_19 + 1, s92 >= 0, s92 <= x_24 + 1, s93 >= 0, s93 <= s91 + s92 + 1, s94 >= 0, s94 <= s93 + 1, z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 + 5*z' }-> s100 :|: s98 >= 0, s98 <= z' - 1 + 1, s99 >= 0, s99 <= s98 + 1, s100 >= 0, s100 <= s99 + 0 + 1, z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' + 5*z'' }-> s105 :|: s101 >= 0, s101 <= z' - 1 + 1, s102 >= 0, s102 <= s101 + 1, s103 >= 0, s103 <= z'' - 1 + 1, s104 >= 0, s104 <= s103 + 1, s105 >= 0, s105 <= s102 + s104 + 1, z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' }-> s108 :|: s106 >= 0, s106 <= z' - 1 + 1, s107 >= 0, s107 <= s106 + 1, s108 >= 0, s108 <= s107 + 0 + 1, z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s111 :|: s109 >= 0, s109 <= z'' - 1 + 1, s110 >= 0, s110 <= s109 + 1, s111 >= 0, s111 <= 0 + s110 + 1, z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 10 + 5*x_113 + 5*x_26 }-> s24 :|: s21 >= 0, s21 <= x_113 + 1, s22 >= 0, s22 <= x_26 + 1, s23 >= 0, s23 <= s21 + s22 + 1, s24 >= 0, s24 <= 0 + s23 + 1, z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s28 :|: s25 >= 0, s25 <= x_111 + 1, s26 >= 0, s26 <= x_25 + 1, s27 >= 0, s27 <= s25 + s26 + 1, s28 >= 0, s28 <= s27 + 0 + 1, z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 19 + 5*x_111 + 5*x_115 + 5*x_25 + 5*x_27 }-> s35 :|: s29 >= 0, s29 <= x_111 + 1, s30 >= 0, s30 <= x_25 + 1, s31 >= 0, s31 <= s29 + s30 + 1, s32 >= 0, s32 <= x_115 + 1, s33 >= 0, s33 <= x_27 + 1, s34 >= 0, s34 <= s32 + s33 + 1, s35 >= 0, s35 <= s31 + s34 + 1, z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s39 :|: s36 >= 0, s36 <= x_111 + 1, s37 >= 0, s37 <= x_25 + 1, s38 >= 0, s38 <= s36 + s37 + 1, s39 >= 0, s39 <= s38 + 0 + 1, x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_119 + 5*x_29 }-> s43 :|: s40 >= 0, s40 <= x_119 + 1, s41 >= 0, s41 <= x_29 + 1, s42 >= 0, s42 <= s40 + s41 + 1, s43 >= 0, s43 <= 0 + s42 + 1, z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 + 5*z'' }-> s64 :|: s59 >= 0, s59 <= x_111 + 1, s60 >= 0, s60 <= x_25 + 1, s61 >= 0, s61 <= s59 + s60 + 1, s62 >= 0, s62 <= z'' - 1 + 1, s63 >= 0, s63 <= s62 + 1, s64 >= 0, s64 <= s61 + s63 + 1, z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_117 + 5*x_28 + 5*z' }-> s70 :|: s65 >= 0, s65 <= z' - 1 + 1, s66 >= 0, s66 <= s65 + 1, s67 >= 0, s67 <= x_117 + 1, s68 >= 0, s68 <= x_28 + 1, s69 >= 0, s69 <= s67 + s68 + 1, s70 >= 0, s70 <= s66 + s69 + 1, x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s97 :|: s95 >= 0, s95 <= z'' - 1 + 1, s96 >= 0, s96 <= s95 + 1, s97 >= 0, s97 <= 0 + s96 + 1, z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 10 + 5*x_121 + 5*x_210 }-> s115 :|: s112 >= 0, s112 <= x_121 + 1, s113 >= 0, s113 <= x_210 + 1, s114 >= 0, s114 <= s112 + s113 + 1, s115 >= 0, s115 <= s114 + 1, z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 1 + 5*z' }-> s73 :|: s71 >= 0, s71 <= z' - 1 + 1, s72 >= 0, s72 <= s71 + 1, s73 >= 0, s73 <= s72 + 1, z' - 1 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: {encode_.} Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] encode_i: runtime: O(n^1) [5 + 5*z'], size: O(n^1) [3 + z'] encode_.: runtime: ?, size: O(n^1) [5 + z' + z''] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_. after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 9 + 5*z' + 5*z'' ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: .(z', z'') -{ 1 }-> z :|: z >= 0, z'' = 1 + (1 + z') + z, z' >= 0 .(z', z'') -{ 1 }-> z :|: z >= 0, z' - 1 >= 0, z'' = 1 + (z' - 1) + z .(z', z'') -{ 1 }-> z' :|: z'' = 0, z' >= 0 .(z', z'') -{ 1 }-> z'' :|: z'' >= 0, z' = 0 .(z', z'') -{ 1 }-> 0 :|: z' - 1 >= 0, z'' = z' - 1 .(z', z'') -{ 1 }-> 0 :|: z' >= 0, z'' = 1 + z' .(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 .(z', z'') -{ 0 }-> 1 + z' + z'' :|: z' >= 0, z'' >= 0 encArg(z') -{ 10 + 5*x_11 + 5*x_2'' }-> s1 :|: s >= 0, s <= x_11 + 1, s' >= 0, s' <= x_2'' + 1, s'' >= 0, s'' <= s + s' + 1, s1 >= 0, s1 <= 0 + s'' + 1, x_11 >= 0, x_2'' >= 0, z' = 1 + 0 + (1 + x_11 + x_2'') encArg(z') -{ 19 + 5*x_1' + 5*x_13 + 5*x_2' + 5*x_21 }-> s12 :|: s6 >= 0, s6 <= x_1' + 1, s7 >= 0, s7 <= x_2' + 1, s8 >= 0, s8 <= s6 + s7 + 1, s9 >= 0, s9 <= x_13 + 1, s10 >= 0, s10 <= x_21 + 1, s11 >= 0, s11 <= s9 + s10 + 1, s12 >= 0, s12 <= s8 + s11 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + (1 + x_13 + x_21), x_13 >= 0, x_1' >= 0, x_21 >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s16 :|: s13 >= 0, s13 <= x_1' + 1, s14 >= 0, s14 <= x_2' + 1, s15 >= 0, s15 <= s13 + s14 + 1, s16 >= 0, s16 <= s15 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + x_2, x_1' >= 0, x_2 >= 0 encArg(z') -{ 10 + 5*x_17 + 5*x_23 }-> s20 :|: s17 >= 0, s17 <= x_17 + 1, s18 >= 0, s18 <= x_23 + 1, s19 >= 0, s19 <= s17 + s18 + 1, s20 >= 0, s20 <= 0 + s19 + 1, x_1 >= 0, x_17 >= 0, x_23 >= 0, z' = 1 + x_1 + (1 + x_17 + x_23) encArg(z') -{ 15 + 5*x_1' + 5*x_14 + 5*x_2' }-> s49 :|: s44 >= 0, s44 <= x_1' + 1, s45 >= 0, s45 <= x_2' + 1, s46 >= 0, s46 <= s44 + s45 + 1, s47 >= 0, s47 <= x_14 + 1, s48 >= 0, s48 <= s47 + 1, s49 >= 0, s49 <= s46 + s48 + 1, z' = 1 + (1 + x_1' + x_2') + (1 + x_14), x_14 >= 0, x_2' >= 0, x_1' >= 0 encArg(z') -{ 10 + 5*x_1' + 5*x_2' }-> s5 :|: s2 >= 0, s2 <= x_1' + 1, s3 >= 0, s3 <= x_2' + 1, s4 >= 0, s4 <= s2 + s3 + 1, s5 >= 0, s5 <= s4 + 0 + 1, x_2' >= 0, z' = 1 + (1 + x_1' + x_2') + 0, x_1' >= 0 encArg(z') -{ 15 + 5*x_1'' + 5*x_15 + 5*x_22 }-> s55 :|: s50 >= 0, s50 <= x_1'' + 1, s51 >= 0, s51 <= s50 + 1, s52 >= 0, s52 <= x_15 + 1, s53 >= 0, s53 <= x_22 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s51 + s54 + 1, x_15 >= 0, x_1'' >= 0, z' = 1 + (1 + x_1'') + (1 + x_15 + x_22), x_22 >= 0 encArg(z') -{ -4 + 5*z' }-> s58 :|: s56 >= 0, s56 <= z' - 2 + 1, s57 >= 0, s57 <= s56 + 1, s58 >= 0, s58 <= s57 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s76 :|: s74 >= 0, s74 <= z' - 2 + 1, s75 >= 0, s75 <= s74 + 1, s76 >= 0, s76 <= 0 + s75 + 1, z' - 2 >= 0 encArg(z') -{ -4 + 5*z' }-> s79 :|: s77 >= 0, s77 <= z' - 2 + 1, s78 >= 0, s78 <= s77 + 1, s79 >= 0, s79 <= s78 + 0 + 1, z' - 2 >= 0 encArg(z') -{ 11 + 5*x_1'' + 5*x_16 }-> s84 :|: s80 >= 0, s80 <= x_1'' + 1, s81 >= 0, s81 <= s80 + 1, s82 >= 0, s82 <= x_16 + 1, s83 >= 0, s83 <= s82 + 1, s84 >= 0, s84 <= s81 + s83 + 1, x_1'' >= 0, x_16 >= 0, z' = 1 + (1 + x_1'') + (1 + x_16) encArg(z') -{ 6 + 5*x_1'' }-> s87 :|: s85 >= 0, s85 <= x_1'' + 1, s86 >= 0, s86 <= s85 + 1, s87 >= 0, s87 <= s86 + 0 + 1, z' = 1 + (1 + x_1'') + x_2, x_1'' >= 0, x_2 >= 0 encArg(z') -{ 6 + 5*x_18 }-> s90 :|: s88 >= 0, s88 <= x_18 + 1, s89 >= 0, s89 <= s88 + 1, s90 >= 0, s90 <= 0 + s89 + 1, x_1 >= 0, z' = 1 + x_1 + (1 + x_18), x_18 >= 0 encArg(z') -{ 10 + 5*x_19 + 5*x_24 }-> s94 :|: s91 >= 0, s91 <= x_19 + 1, s92 >= 0, s92 <= x_24 + 1, s93 >= 0, s93 <= s91 + s92 + 1, s94 >= 0, s94 <= s93 + 1, z' = 1 + (1 + x_19 + x_24), x_24 >= 0, x_19 >= 0 encArg(z') -{ 1 }-> x :|: z' = 1 + 0 + 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: z' - 1 >= 0, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 1 }-> x :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, x >= 0, 0 = x, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0 + 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 0 }-> 0 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' = 1 + 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' = 1 + 0, v0 >= 0, 0 = v0 encArg(z') -{ 1 }-> 0 :|: z' - 1 >= 0, 0 = 0 encArg(z') -{ 0 }-> 0 :|: z' - 1 >= 0, v0 >= 0, 0 = v0 encArg(z') -{ 0 }-> 1 + x0 :|: z' = 1 + 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 :|: z' - 1 >= 0, x0 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' = 1 + 0 + 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: z' - 1 >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encArg(z') -{ 0 }-> 1 + x0 + x1 :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 1 + 5*z' }-> s100 :|: s98 >= 0, s98 <= z' - 1 + 1, s99 >= 0, s99 <= s98 + 1, s100 >= 0, s100 <= s99 + 0 + 1, z'' = 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' + 5*z'' }-> s105 :|: s101 >= 0, s101 <= z' - 1 + 1, s102 >= 0, s102 <= s101 + 1, s103 >= 0, s103 <= z'' - 1 + 1, s104 >= 0, s104 <= s103 + 1, s105 >= 0, s105 <= s102 + s104 + 1, z' - 1 >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z' }-> s108 :|: s106 >= 0, s106 <= z' - 1 + 1, s107 >= 0, s107 <= s106 + 1, s108 >= 0, s108 <= s107 + 0 + 1, z'' >= 0, z' - 1 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s111 :|: s109 >= 0, s109 <= z'' - 1 + 1, s110 >= 0, s110 <= s109 + 1, s111 >= 0, s111 <= 0 + s110 + 1, z' >= 0, z'' - 1 >= 0 encode_.(z', z'') -{ 10 + 5*x_113 + 5*x_26 }-> s24 :|: s21 >= 0, s21 <= x_113 + 1, s22 >= 0, s22 <= x_26 + 1, s23 >= 0, s23 <= s21 + s22 + 1, s24 >= 0, s24 <= 0 + s23 + 1, z'' = 1 + x_113 + x_26, x_113 >= 0, x_26 >= 0, z' = 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s28 :|: s25 >= 0, s25 <= x_111 + 1, s26 >= 0, s26 <= x_25 + 1, s27 >= 0, s27 <= s25 + s26 + 1, s28 >= 0, s28 <= s27 + 0 + 1, z'' = 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 19 + 5*x_111 + 5*x_115 + 5*x_25 + 5*x_27 }-> s35 :|: s29 >= 0, s29 <= x_111 + 1, s30 >= 0, s30 <= x_25 + 1, s31 >= 0, s31 <= s29 + s30 + 1, s32 >= 0, s32 <= x_115 + 1, s33 >= 0, s33 <= x_27 + 1, s34 >= 0, s34 <= s32 + s33 + 1, s35 >= 0, s35 <= s31 + s34 + 1, z'' = 1 + x_115 + x_27, x_25 >= 0, x_115 >= 0, z' = 1 + x_111 + x_25, x_27 >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 }-> s39 :|: s36 >= 0, s36 <= x_111 + 1, s37 >= 0, s37 <= x_25 + 1, s38 >= 0, s38 <= s36 + s37 + 1, s39 >= 0, s39 <= s38 + 0 + 1, x_25 >= 0, z' = 1 + x_111 + x_25, z'' >= 0, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_119 + 5*x_29 }-> s43 :|: s40 >= 0, s40 <= x_119 + 1, s41 >= 0, s41 <= x_29 + 1, s42 >= 0, s42 <= s40 + s41 + 1, s43 >= 0, s43 <= 0 + s42 + 1, z' >= 0, z'' = 1 + x_119 + x_29, x_119 >= 0, x_29 >= 0 encode_.(z', z'') -{ 10 + 5*x_111 + 5*x_25 + 5*z'' }-> s64 :|: s59 >= 0, s59 <= x_111 + 1, s60 >= 0, s60 <= x_25 + 1, s61 >= 0, s61 <= s59 + s60 + 1, s62 >= 0, s62 <= z'' - 1 + 1, s63 >= 0, s63 <= s62 + 1, s64 >= 0, s64 <= s61 + s63 + 1, z'' - 1 >= 0, x_25 >= 0, z' = 1 + x_111 + x_25, x_111 >= 0 encode_.(z', z'') -{ 10 + 5*x_117 + 5*x_28 + 5*z' }-> s70 :|: s65 >= 0, s65 <= z' - 1 + 1, s66 >= 0, s66 <= s65 + 1, s67 >= 0, s67 <= x_117 + 1, s68 >= 0, s68 <= x_28 + 1, s69 >= 0, s69 <= s67 + s68 + 1, s70 >= 0, s70 <= s66 + s69 + 1, x_117 >= 0, z'' = 1 + x_117 + x_28, z' - 1 >= 0, x_28 >= 0 encode_.(z', z'') -{ 1 + 5*z'' }-> s97 :|: s95 >= 0, s95 <= z'' - 1 + 1, s96 >= 0, s96 <= s95 + 1, s97 >= 0, s97 <= 0 + s96 + 1, z'' - 1 >= 0, z' = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' >= 0, z' = 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z'' = 0, z' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 1 }-> x :|: z' >= 0, z'' >= 0, x >= 0, 0 = x, 0 = 0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' >= 0, z' = 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z'' = 0, z' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0, v0 >= 0, v1 >= 0, 0 = v1, 0 = v0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' >= 0, z' = 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z'' = 0, z' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_.(z', z'') -{ 0 }-> 1 + x0 + x1 :|: z' >= 0, z'' >= 0, 0 = x1, x0 >= 0, x1 >= 0, 0 = x0 encode_1 -{ 0 }-> 0 :|: encode_i(z') -{ 10 + 5*x_121 + 5*x_210 }-> s115 :|: s112 >= 0, s112 <= x_121 + 1, s113 >= 0, s113 <= x_210 + 1, s114 >= 0, s114 <= s112 + s113 + 1, s115 >= 0, s115 <= s114 + 1, z' = 1 + x_121 + x_210, x_121 >= 0, x_210 >= 0 encode_i(z') -{ 1 + 5*z' }-> s73 :|: s71 >= 0, s71 <= z' - 1 + 1, s72 >= 0, s72 <= s71 + 1, s73 >= 0, s73 <= s72 + 1, z' - 1 >= 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0 encode_i(z') -{ 1 }-> 0 :|: z' = 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' = 0, v0 >= 0, 0 = v0 encode_i(z') -{ 1 }-> 0 :|: z' >= 0, 0 = 0 encode_i(z') -{ 0 }-> 0 :|: z' >= 0, v0 >= 0, 0 = v0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' = 0, x0 >= 0, 0 = x0 encode_i(z') -{ 0 }-> 1 + x0 :|: z' >= 0, x0 >= 0, 0 = x0 i(z') -{ 1 }-> 0 :|: z' = 0 i(z') -{ 0 }-> 0 :|: z' >= 0 i(z') -{ 1 }-> z' - 1 :|: z' - 1 >= 0 i(z') -{ 0 }-> 1 + z' :|: z' >= 0 Function symbols to be analyzed: Previous analysis results are: .: runtime: O(1) [1], size: O(n^1) [1 + z' + z''] i: runtime: O(1) [1], size: O(n^1) [1 + z'] encode_1: runtime: O(1) [0], size: O(1) [0] encArg: runtime: O(n^1) [4 + 5*z'], size: O(n^1) [1 + z'] encode_i: runtime: O(n^1) [5 + 5*z'], size: O(n^1) [3 + z'] encode_.: runtime: O(n^1) [9 + 5*z' + 5*z''], size: O(n^1) [5 + z' + z''] ---------------------------------------- (61) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (62) BOUNDS(1, n^1) ---------------------------------------- (63) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (64) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: .(1', x) -> x .(x, 1') -> x .(i(x), x) -> 1' .(x, i(x)) -> 1' i(1') -> 1' i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z The (relative) TRS S consists of the following rules: encArg(1') -> 1' encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1' encode_i(x_1) -> i(encArg(x_1)) Rewrite Strategy: FULL ---------------------------------------- (65) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (66) Obligation: TRS: Rules: .(1', x) -> x .(x, 1') -> x .(i(x), x) -> 1' .(x, i(x)) -> 1' i(1') -> 1' i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z encArg(1') -> 1' encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1' encode_i(x_1) -> i(encArg(x_1)) Types: . :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i 1' :: 1':cons_.:cons_i i :: 1':cons_.:cons_i -> 1':cons_.:cons_i encArg :: 1':cons_.:cons_i -> 1':cons_.:cons_i cons_. :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i cons_i :: 1':cons_.:cons_i -> 1':cons_.:cons_i encode_. :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i encode_1 :: 1':cons_.:cons_i encode_i :: 1':cons_.:cons_i -> 1':cons_.:cons_i hole_1':cons_.:cons_i1_0 :: 1':cons_.:cons_i gen_1':cons_.:cons_i2_0 :: Nat -> 1':cons_.:cons_i ---------------------------------------- (67) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: encArg ---------------------------------------- (68) Obligation: TRS: Rules: .(1', x) -> x .(x, 1') -> x .(i(x), x) -> 1' .(x, i(x)) -> 1' i(1') -> 1' i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z encArg(1') -> 1' encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1' encode_i(x_1) -> i(encArg(x_1)) Types: . :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i 1' :: 1':cons_.:cons_i i :: 1':cons_.:cons_i -> 1':cons_.:cons_i encArg :: 1':cons_.:cons_i -> 1':cons_.:cons_i cons_. :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i cons_i :: 1':cons_.:cons_i -> 1':cons_.:cons_i encode_. :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i encode_1 :: 1':cons_.:cons_i encode_i :: 1':cons_.:cons_i -> 1':cons_.:cons_i hole_1':cons_.:cons_i1_0 :: 1':cons_.:cons_i gen_1':cons_.:cons_i2_0 :: Nat -> 1':cons_.:cons_i Generator Equations: gen_1':cons_.:cons_i2_0(0) <=> 1' gen_1':cons_.:cons_i2_0(+(x, 1)) <=> cons_.(1', gen_1':cons_.:cons_i2_0(x)) The following defined symbols remain to be analysed: encArg ---------------------------------------- (69) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_1':cons_.:cons_i2_0(n4_0)) -> gen_1':cons_.:cons_i2_0(0), rt in Omega(n4_0) Induction Base: encArg(gen_1':cons_.:cons_i2_0(0)) ->_R^Omega(0) 1' Induction Step: encArg(gen_1':cons_.:cons_i2_0(+(n4_0, 1))) ->_R^Omega(0) .(encArg(1'), encArg(gen_1':cons_.:cons_i2_0(n4_0))) ->_R^Omega(0) .(1', encArg(gen_1':cons_.:cons_i2_0(n4_0))) ->_IH .(1', gen_1':cons_.:cons_i2_0(0)) ->_R^Omega(1) gen_1':cons_.:cons_i2_0(0) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (70) Obligation: Proved the lower bound n^1 for the following obligation: TRS: Rules: .(1', x) -> x .(x, 1') -> x .(i(x), x) -> 1' .(x, i(x)) -> 1' i(1') -> 1' i(i(x)) -> x .(i(y), .(y, z)) -> z .(y, .(i(y), z)) -> z encArg(1') -> 1' encArg(cons_.(x_1, x_2)) -> .(encArg(x_1), encArg(x_2)) encArg(cons_i(x_1)) -> i(encArg(x_1)) encode_.(x_1, x_2) -> .(encArg(x_1), encArg(x_2)) encode_1 -> 1' encode_i(x_1) -> i(encArg(x_1)) Types: . :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i 1' :: 1':cons_.:cons_i i :: 1':cons_.:cons_i -> 1':cons_.:cons_i encArg :: 1':cons_.:cons_i -> 1':cons_.:cons_i cons_. :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i cons_i :: 1':cons_.:cons_i -> 1':cons_.:cons_i encode_. :: 1':cons_.:cons_i -> 1':cons_.:cons_i -> 1':cons_.:cons_i encode_1 :: 1':cons_.:cons_i encode_i :: 1':cons_.:cons_i -> 1':cons_.:cons_i hole_1':cons_.:cons_i1_0 :: 1':cons_.:cons_i gen_1':cons_.:cons_i2_0 :: Nat -> 1':cons_.:cons_i Generator Equations: gen_1':cons_.:cons_i2_0(0) <=> 1' gen_1':cons_.:cons_i2_0(+(x, 1)) <=> cons_.(1', gen_1':cons_.:cons_i2_0(x)) The following defined symbols remain to be analysed: encArg ---------------------------------------- (71) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (72) BOUNDS(n^1, INF)