/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^2)) proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 141 ms] (4) CpxRelTRS (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 3 ms] (14) CpxRNTS (15) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxRNTS (17) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxRNTS (19) ResultPropagationProof [UPPER BOUND(ID), 4 ms] (20) CpxRNTS (21) IntTrsBoundProof [UPPER BOUND(ID), 544 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 159 ms] (24) CpxRNTS (25) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (26) CpxRNTS (27) IntTrsBoundProof [UPPER BOUND(ID), 3351 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 2599 ms] (30) CpxRNTS (31) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (32) CpxRNTS (33) IntTrsBoundProof [UPPER BOUND(ID), 211 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (36) CpxRNTS (37) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (38) CpxRNTS (39) IntTrsBoundProof [UPPER BOUND(ID), 1869 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 1523 ms] (42) CpxRNTS (43) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (44) CpxRNTS (45) IntTrsBoundProof [UPPER BOUND(ID), 158 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (48) CpxRNTS (49) FinalProof [FINISHED, 0 ms] (50) BOUNDS(1, n^2) (51) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 4 ms] (52) TRS for Loop Detection (53) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] (54) BEST (55) proven lower bound (56) LowerBoundPropagationProof [FINISHED, 0 ms] (57) BOUNDS(n^1, INF) (58) TRS for Loop Detection ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) implies(not(x), or(y, z)) -> implies(y, or(x, z)) implies(x, or(y, z)) -> or(y, implies(x, z)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(not(x_1)) -> not(encArg(x_1)) encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) encode_not(x_1) -> not(encArg(x_1)) encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) implies(not(x), or(y, z)) -> implies(y, or(x, z)) implies(x, or(y, z)) -> or(y, implies(x, z)) The (relative) TRS S consists of the following rules: encArg(not(x_1)) -> not(encArg(x_1)) encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) encode_not(x_1) -> not(encArg(x_1)) encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) implies(not(x), or(y, z)) -> implies(y, or(x, z)) implies(x, or(y, z)) -> or(y, implies(x, z)) The (relative) TRS S consists of the following rules: encArg(not(x_1)) -> not(encArg(x_1)) encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) encode_not(x_1) -> not(encArg(x_1)) encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) [1] implies(not(x), or(y, z)) -> implies(y, or(x, z)) [1] implies(x, or(y, z)) -> or(y, implies(x, z)) [1] encArg(not(x_1)) -> not(encArg(x_1)) [0] encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) [0] encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) [0] encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) [0] encode_not(x_1) -> not(encArg(x_1)) [0] encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) [1] implies(not(x), or(y, z)) -> implies(y, or(x, z)) [1] implies(x, or(y, z)) -> or(y, implies(x, z)) [1] encArg(not(x_1)) -> not(encArg(x_1)) [0] encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) [0] encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) [0] encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) [0] encode_not(x_1) -> not(encArg(x_1)) [0] encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) [0] The TRS has the following type information: implies :: not:or:cons_implies -> not:or:cons_implies -> not:or:cons_implies not :: not:or:cons_implies -> not:or:cons_implies or :: not:or:cons_implies -> not:or:cons_implies -> not:or:cons_implies encArg :: not:or:cons_implies -> not:or:cons_implies cons_implies :: not:or:cons_implies -> not:or:cons_implies -> not:or:cons_implies encode_implies :: not:or:cons_implies -> not:or:cons_implies -> not:or:cons_implies encode_not :: not:or:cons_implies -> not:or:cons_implies encode_or :: not:or:cons_implies -> not:or:cons_implies -> not:or:cons_implies Rewrite Strategy: INNERMOST ---------------------------------------- (9) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: implies_2 encArg_1 encode_implies_2 encode_not_1 encode_or_2 Due to the following rules being added: encArg(v0) -> const [0] encode_implies(v0, v1) -> const [0] encode_not(v0) -> const [0] encode_or(v0, v1) -> const [0] implies(v0, v1) -> const [0] And the following fresh constants: const ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) [1] implies(not(x), or(y, z)) -> implies(y, or(x, z)) [1] implies(x, or(y, z)) -> or(y, implies(x, z)) [1] encArg(not(x_1)) -> not(encArg(x_1)) [0] encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) [0] encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) [0] encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) [0] encode_not(x_1) -> not(encArg(x_1)) [0] encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) [0] encArg(v0) -> const [0] encode_implies(v0, v1) -> const [0] encode_not(v0) -> const [0] encode_or(v0, v1) -> const [0] implies(v0, v1) -> const [0] The TRS has the following type information: implies :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const not :: not:or:cons_implies:const -> not:or:cons_implies:const or :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const encArg :: not:or:cons_implies:const -> not:or:cons_implies:const cons_implies :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const encode_implies :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const encode_not :: not:or:cons_implies:const -> not:or:cons_implies:const encode_or :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const const :: not:or:cons_implies:const Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (12) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) [1] implies(not(x), or(y, z)) -> implies(y, or(x, z)) [1] implies(x, or(y, z)) -> or(y, implies(x, z)) [1] encArg(not(x_1)) -> not(encArg(x_1)) [0] encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) [0] encArg(cons_implies(not(x_1'), not(x_12))) -> implies(not(encArg(x_1')), not(encArg(x_12))) [0] encArg(cons_implies(not(x_1'), or(x_13, x_21))) -> implies(not(encArg(x_1')), or(encArg(x_13), encArg(x_21))) [0] encArg(cons_implies(not(x_1'), cons_implies(x_14, x_22))) -> implies(not(encArg(x_1')), implies(encArg(x_14), encArg(x_22))) [0] encArg(cons_implies(not(x_1'), x_2)) -> implies(not(encArg(x_1')), const) [0] encArg(cons_implies(or(x_1'', x_2'), not(x_15))) -> implies(or(encArg(x_1''), encArg(x_2')), not(encArg(x_15))) [0] encArg(cons_implies(or(x_1'', x_2'), or(x_16, x_23))) -> implies(or(encArg(x_1''), encArg(x_2')), or(encArg(x_16), encArg(x_23))) [0] encArg(cons_implies(or(x_1'', x_2'), cons_implies(x_17, x_24))) -> implies(or(encArg(x_1''), encArg(x_2')), implies(encArg(x_17), encArg(x_24))) [0] encArg(cons_implies(or(x_1'', x_2'), x_2)) -> implies(or(encArg(x_1''), encArg(x_2')), const) [0] encArg(cons_implies(cons_implies(x_11, x_2''), not(x_18))) -> implies(implies(encArg(x_11), encArg(x_2'')), not(encArg(x_18))) [0] encArg(cons_implies(cons_implies(x_11, x_2''), or(x_19, x_25))) -> implies(implies(encArg(x_11), encArg(x_2'')), or(encArg(x_19), encArg(x_25))) [0] encArg(cons_implies(cons_implies(x_11, x_2''), cons_implies(x_110, x_26))) -> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) [0] encArg(cons_implies(cons_implies(x_11, x_2''), x_2)) -> implies(implies(encArg(x_11), encArg(x_2'')), const) [0] encArg(cons_implies(x_1, not(x_111))) -> implies(const, not(encArg(x_111))) [0] encArg(cons_implies(x_1, or(x_112, x_27))) -> implies(const, or(encArg(x_112), encArg(x_27))) [0] encArg(cons_implies(x_1, cons_implies(x_113, x_28))) -> implies(const, implies(encArg(x_113), encArg(x_28))) [0] encArg(cons_implies(x_1, x_2)) -> implies(const, const) [0] encode_implies(not(x_114), not(x_117)) -> implies(not(encArg(x_114)), not(encArg(x_117))) [0] encode_implies(not(x_114), or(x_118, x_211)) -> implies(not(encArg(x_114)), or(encArg(x_118), encArg(x_211))) [0] encode_implies(not(x_114), cons_implies(x_119, x_212)) -> implies(not(encArg(x_114)), implies(encArg(x_119), encArg(x_212))) [0] encode_implies(not(x_114), x_2) -> implies(not(encArg(x_114)), const) [0] encode_implies(or(x_115, x_29), not(x_120)) -> implies(or(encArg(x_115), encArg(x_29)), not(encArg(x_120))) [0] encode_implies(or(x_115, x_29), or(x_121, x_213)) -> implies(or(encArg(x_115), encArg(x_29)), or(encArg(x_121), encArg(x_213))) [0] encode_implies(or(x_115, x_29), cons_implies(x_122, x_214)) -> implies(or(encArg(x_115), encArg(x_29)), implies(encArg(x_122), encArg(x_214))) [0] encode_implies(or(x_115, x_29), x_2) -> implies(or(encArg(x_115), encArg(x_29)), const) [0] encode_implies(cons_implies(x_116, x_210), not(x_123)) -> implies(implies(encArg(x_116), encArg(x_210)), not(encArg(x_123))) [0] encode_implies(cons_implies(x_116, x_210), or(x_124, x_215)) -> implies(implies(encArg(x_116), encArg(x_210)), or(encArg(x_124), encArg(x_215))) [0] encode_implies(cons_implies(x_116, x_210), cons_implies(x_125, x_216)) -> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) [0] encode_implies(cons_implies(x_116, x_210), x_2) -> implies(implies(encArg(x_116), encArg(x_210)), const) [0] encode_implies(x_1, not(x_126)) -> implies(const, not(encArg(x_126))) [0] encode_implies(x_1, or(x_127, x_217)) -> implies(const, or(encArg(x_127), encArg(x_217))) [0] encode_implies(x_1, cons_implies(x_128, x_218)) -> implies(const, implies(encArg(x_128), encArg(x_218))) [0] encode_implies(x_1, x_2) -> implies(const, const) [0] encode_not(x_1) -> not(encArg(x_1)) [0] encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) [0] encArg(v0) -> const [0] encode_implies(v0, v1) -> const [0] encode_not(v0) -> const [0] encode_or(v0, v1) -> const [0] implies(v0, v1) -> const [0] The TRS has the following type information: implies :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const not :: not:or:cons_implies:const -> not:or:cons_implies:const or :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const encArg :: not:or:cons_implies:const -> not:or:cons_implies:const cons_implies :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const encode_implies :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const encode_not :: not:or:cons_implies:const -> not:or:cons_implies:const encode_or :: not:or:cons_implies:const -> not:or:cons_implies:const -> not:or:cons_implies:const const :: not:or:cons_implies:const Rewrite Strategy: INNERMOST ---------------------------------------- (13) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: const => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encArg(z') -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z' = 1 + x_1 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, x_2 >= 0, z'' = x_2, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_123)) :|: x_123 >= 0, x_116 >= 0, z'' = 1 + x_123, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: x_1 >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, z' = x_1, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_126)) :|: x_1 >= 0, z' = x_1, z'' = 1 + x_126, x_126 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: x_1 >= 0, x_127 >= 0, z' = x_1, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_114), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, x_114 >= 0, z'' = 1 + x_119 + x_212, z' = 1 + x_114, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_114), 0) :|: x_114 >= 0, x_2 >= 0, z'' = x_2, z' = 1 + x_114 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_114), 1 + encArg(x_117)) :|: z'' = 1 + x_117, x_117 >= 0, x_114 >= 0, z' = 1 + x_114 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_114), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, x_114 >= 0, x_118 >= 0, x_211 >= 0, z' = 1 + x_114 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, x_2 >= 0, z'' = x_2, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_120)) :|: x_120 >= 0, z'' = 1 + x_120, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_not(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 encode_not(z') -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z' = x_1 encode_or(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 encode_or(z', z'') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, z' = x_1, x_2 >= 0, z'' = x_2 implies(z', z'') -{ 1 }-> implies(y, 1 + x + z) :|: z' = 1 + x, z >= 0, x >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 implies(z', z'') -{ 1 }-> 1 + x + y :|: z' = 1 + x, z'' = y, x >= 0, y >= 0 implies(z', z'') -{ 1 }-> 1 + y + implies(x, z) :|: z >= 0, z' = x, x >= 0, y >= 0, z'' = 1 + y + z ---------------------------------------- (15) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 0) :|: z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> implies(y, 1 + (z' - 1) + z) :|: z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> 1 + y + implies(z', z) :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 ---------------------------------------- (17) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { implies } { encArg } { encode_not } { encode_implies } { encode_or } ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 0) :|: z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> implies(y, 1 + (z' - 1) + z) :|: z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> 1 + y + implies(z', z) :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {implies}, {encArg}, {encode_not}, {encode_implies}, {encode_or} ---------------------------------------- (19) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 0) :|: z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> implies(y, 1 + (z' - 1) + z) :|: z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> 1 + y + implies(z', z) :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {implies}, {encArg}, {encode_not}, {encode_implies}, {encode_or} ---------------------------------------- (21) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: implies after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' + z'' ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 0) :|: z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> implies(y, 1 + (z' - 1) + z) :|: z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> 1 + y + implies(z', z) :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {implies}, {encArg}, {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: ?, size: O(n^1) [z' + z''] ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: implies after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' + z'' ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 0) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 0) :|: z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> implies(y, 1 + (z' - 1) + z) :|: z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 1 }-> 1 + y + implies(z', z) :|: z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encArg}, {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] ---------------------------------------- (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: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encArg}, {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] ---------------------------------------- (27) 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: 8*z' ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encArg}, {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: ?, size: O(n^1) [8*z'] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 2 + 97*z' + 32*z'^2 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), implies(encArg(x_110), encArg(x_26))) :|: x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 0) :|: x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_18)) :|: x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 0 }-> implies(implies(encArg(x_11), encArg(x_2'')), 1 + encArg(x_19) + encArg(x_25)) :|: x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 0 }-> implies(0, implies(encArg(x_113), encArg(x_28))) :|: x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_111)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 0 }-> implies(0, 1 + encArg(x_112) + encArg(x_27)) :|: x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), implies(encArg(x_14), encArg(x_22))) :|: z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 0) :|: x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_12)) :|: z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'), 1 + encArg(x_13) + encArg(x_21)) :|: x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), implies(encArg(x_17), encArg(x_24))) :|: x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 0) :|: x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_15)) :|: x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 0 }-> implies(1 + encArg(x_1'') + encArg(x_2'), 1 + encArg(x_16) + encArg(x_23)) :|: x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ 0 }-> 1 + encArg(z' - 1) :|: z' - 1 >= 0 encArg(z') -{ 0 }-> 1 + encArg(x_1) + encArg(x_2) :|: x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), implies(encArg(x_125), encArg(x_216))) :|: x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 0) :|: x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(implies(encArg(x_116), encArg(x_210)), 1 + encArg(x_124) + encArg(x_215)) :|: x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, implies(encArg(x_128), encArg(x_218))) :|: z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(z'' - 1)) :|: z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(0, 1 + encArg(x_127) + encArg(x_217)) :|: z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), implies(encArg(x_119), encArg(x_212))) :|: x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 0) :|: z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(z' - 1), 1 + encArg(x_118) + encArg(x_211)) :|: z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), implies(encArg(x_122), encArg(x_214))) :|: x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 0) :|: x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(z'' - 1)) :|: z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> implies(1 + encArg(x_115) + encArg(x_29), 1 + encArg(x_121) + encArg(x_213)) :|: z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 0 }-> 1 + encArg(z') :|: z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 0 }-> 1 + encArg(z') + encArg(z'') :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*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: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] ---------------------------------------- (33) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_not after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 8*z' ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_not}, {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: ?, size: O(n^1) [1 + 8*z'] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_not after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 2 + 97*z' + 32*z'^2 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*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: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*z'] ---------------------------------------- (39) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encode_implies after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 8*z' + 8*z'' ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_implies}, {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*z'] encode_implies: runtime: ?, size: O(n^1) [8*z' + 8*z''] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_implies after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 84 + 1900*z' + 640*z'^2 + 1900*z'' + 640*z''^2 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*z'] encode_implies: runtime: O(n^2) [84 + 1900*z' + 640*z'^2 + 1900*z'' + 640*z''^2], size: O(n^1) [8*z' + 8*z''] ---------------------------------------- (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: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*z'] encode_implies: runtime: O(n^2) [84 + 1900*z' + 640*z'^2 + 1900*z'' + 640*z''^2], size: O(n^1) [8*z' + 8*z''] ---------------------------------------- (45) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_or after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 8*z' + 8*z'' ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: {encode_or} Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*z'] encode_implies: runtime: O(n^2) [84 + 1900*z' + 640*z'^2 + 1900*z'' + 640*z''^2], size: O(n^1) [8*z' + 8*z''] encode_or: runtime: ?, size: O(n^1) [1 + 8*z' + 8*z''] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_or after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: encArg(z') -{ 2 }-> s'' :|: s'' >= 0, s'' <= 0 + 0, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encArg(z') -{ 10 + s10 + s8 + s9 + 97*x_1' + 32*x_1'^2 + 97*x_13 + 32*x_13^2 + 97*x_21 + 32*x_21^2 }-> s11 :|: s8 >= 0, s8 <= 8 * x_1', s9 >= 0, s9 <= 8 * x_13, s10 >= 0, s10 <= 8 * x_21, s11 >= 0, s11 <= 1 + s8 + (1 + s9 + s10), x_13 >= 0, x_1' >= 0, x_21 >= 0, z' = 1 + (1 + x_1') + (1 + x_13 + x_21) encArg(z') -{ 11 + s12 + s13 + s14 + s15 + 97*x_1' + 32*x_1'^2 + 97*x_14 + 32*x_14^2 + 97*x_22 + 32*x_22^2 }-> s16 :|: s12 >= 0, s12 <= 8 * x_1', s13 >= 0, s13 <= 8 * x_14, s14 >= 0, s14 <= 8 * x_22, s15 >= 0, s15 <= s13 + s14, s16 >= 0, s16 <= 1 + s12 + s15, z' = 1 + (1 + x_1') + (1 + x_14 + x_22), x_14 >= 0, x_1' >= 0, x_22 >= 0 encArg(z') -{ 5 + s17 + 97*x_1' + 32*x_1'^2 }-> s18 :|: s17 >= 0, s17 <= 8 * x_1', s18 >= 0, s18 <= 1 + s17 + 0, x_1' >= 0, x_2 >= 0, z' = 1 + (1 + x_1') + x_2 encArg(z') -{ 10 + s19 + s20 + s21 + 97*x_1'' + 32*x_1''^2 + 97*x_15 + 32*x_15^2 + 97*x_2' + 32*x_2'^2 }-> s22 :|: s19 >= 0, s19 <= 8 * x_1'', s20 >= 0, s20 <= 8 * x_2', s21 >= 0, s21 <= 8 * x_15, s22 >= 0, s22 <= 1 + s19 + s20 + (1 + s21), x_15 >= 0, x_1'' >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_15) encArg(z') -{ 12 + s23 + s24 + s25 + s26 + 97*x_1'' + 32*x_1''^2 + 97*x_16 + 32*x_16^2 + 97*x_2' + 32*x_2'^2 + 97*x_23 + 32*x_23^2 }-> s27 :|: s23 >= 0, s23 <= 8 * x_1'', s24 >= 0, s24 <= 8 * x_2', s25 >= 0, s25 <= 8 * x_16, s26 >= 0, s26 <= 8 * x_23, s27 >= 0, s27 <= 1 + s23 + s24 + (1 + s25 + s26), x_1'' >= 0, x_16 >= 0, x_2' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_16 + x_23), x_23 >= 0 encArg(z') -{ 13 + s28 + s29 + s30 + s31 + s32 + 97*x_1'' + 32*x_1''^2 + 97*x_17 + 32*x_17^2 + 97*x_2' + 32*x_2'^2 + 97*x_24 + 32*x_24^2 }-> s33 :|: s28 >= 0, s28 <= 8 * x_1'', s29 >= 0, s29 <= 8 * x_2', s30 >= 0, s30 <= 8 * x_17, s31 >= 0, s31 <= 8 * x_24, s32 >= 0, s32 <= s30 + s31, s33 >= 0, s33 <= 1 + s28 + s29 + s32, x_1'' >= 0, z' = 1 + (1 + x_1'' + x_2') + (1 + x_17 + x_24), x_2' >= 0, x_17 >= 0, x_24 >= 0 encArg(z') -{ 7 + s34 + s35 + 97*x_1'' + 32*x_1''^2 + 97*x_2' + 32*x_2'^2 }-> s36 :|: s34 >= 0, s34 <= 8 * x_1'', s35 >= 0, s35 <= 8 * x_2', s36 >= 0, s36 <= 1 + s34 + s35 + 0, x_1'' >= 0, x_2' >= 0, x_2 >= 0, z' = 1 + (1 + x_1'' + x_2') + x_2 encArg(z') -{ 11 + s37 + s38 + s39 + s40 + 97*x_11 + 32*x_11^2 + 97*x_18 + 32*x_18^2 + 97*x_2'' + 32*x_2''^2 }-> s41 :|: s37 >= 0, s37 <= 8 * x_11, s38 >= 0, s38 <= 8 * x_2'', s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= 8 * x_18, s41 >= 0, s41 <= s39 + (1 + s40), x_11 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_18), x_18 >= 0 encArg(z') -{ 13 + s42 + s43 + s44 + s45 + s46 + 97*x_11 + 32*x_11^2 + 97*x_19 + 32*x_19^2 + 97*x_2'' + 32*x_2''^2 + 97*x_25 + 32*x_25^2 }-> s47 :|: s42 >= 0, s42 <= 8 * x_11, s43 >= 0, s43 <= 8 * x_2'', s44 >= 0, s44 <= s42 + s43, s45 >= 0, s45 <= 8 * x_19, s46 >= 0, s46 <= 8 * x_25, s47 >= 0, s47 <= s44 + (1 + s45 + s46), x_11 >= 0, x_25 >= 0, x_2'' >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_19 + x_25), x_19 >= 0 encArg(z') -{ 14 + s48 + s49 + s50 + s51 + s52 + s53 + 97*x_11 + 32*x_11^2 + 97*x_110 + 32*x_110^2 + 97*x_2'' + 32*x_2''^2 + 97*x_26 + 32*x_26^2 }-> s54 :|: s48 >= 0, s48 <= 8 * x_11, s49 >= 0, s49 <= 8 * x_2'', s50 >= 0, s50 <= s48 + s49, s51 >= 0, s51 <= 8 * x_110, s52 >= 0, s52 <= 8 * x_26, s53 >= 0, s53 <= s51 + s52, s54 >= 0, s54 <= s50 + s53, x_11 >= 0, x_26 >= 0, z' = 1 + (1 + x_11 + x_2'') + (1 + x_110 + x_26), x_2'' >= 0, x_110 >= 0 encArg(z') -{ 8 + s55 + s56 + s57 + 97*x_11 + 32*x_11^2 + 97*x_2'' + 32*x_2''^2 }-> s58 :|: s55 >= 0, s55 <= 8 * x_11, s56 >= 0, s56 <= 8 * x_2'', s57 >= 0, s57 <= s55 + s56, s58 >= 0, s58 <= s57 + 0, x_11 >= 0, x_2'' >= 0, x_2 >= 0, z' = 1 + (1 + x_11 + x_2'') + x_2 encArg(z') -{ 5 + s59 + 97*x_111 + 32*x_111^2 }-> s60 :|: s59 >= 0, s59 <= 8 * x_111, s60 >= 0, s60 <= 0 + (1 + s59), x_1 >= 0, z' = 1 + x_1 + (1 + x_111), x_111 >= 0 encArg(z') -{ 7 + s61 + s62 + 97*x_112 + 32*x_112^2 + 97*x_27 + 32*x_27^2 }-> s63 :|: s61 >= 0, s61 <= 8 * x_112, s62 >= 0, s62 <= 8 * x_27, s63 >= 0, s63 <= 0 + (1 + s61 + s62), x_1 >= 0, z' = 1 + x_1 + (1 + x_112 + x_27), x_27 >= 0, x_112 >= 0 encArg(z') -{ 8 + s64 + s65 + s66 + 97*x_113 + 32*x_113^2 + 97*x_28 + 32*x_28^2 }-> s67 :|: s64 >= 0, s64 <= 8 * x_113, s65 >= 0, s65 <= 8 * x_28, s66 >= 0, s66 <= s64 + s65, s67 >= 0, s67 <= 0 + s66, x_1 >= 0, x_113 >= 0, z' = 1 + x_1 + (1 + x_113 + x_28), x_28 >= 0 encArg(z') -{ 8 + s5 + s6 + 97*x_1' + 32*x_1'^2 + 97*x_12 + 32*x_12^2 }-> s7 :|: s5 >= 0, s5 <= 8 * x_1', s6 >= 0, s6 <= 8 * x_12, s7 >= 0, s7 <= 1 + s5 + (1 + s6), z' = 1 + (1 + x_1') + (1 + x_12), x_1' >= 0, x_12 >= 0 encArg(z') -{ 0 }-> 0 :|: z' >= 0 encArg(z') -{ -63 + 33*z' + 32*z'^2 }-> 1 + s2 :|: s2 >= 0, s2 <= 8 * (z' - 1), z' - 1 >= 0 encArg(z') -{ 4 + 97*x_1 + 32*x_1^2 + 97*x_2 + 32*x_2^2 }-> 1 + s3 + s4 :|: s3 >= 0, s3 <= 8 * x_1, s4 >= 0, s4 <= 8 * x_2, x_1 >= 0, x_2 >= 0, z' = 1 + x_1 + x_2 encode_implies(z', z'') -{ 2 }-> s1 :|: s1 >= 0, s1 <= 0 + 0, z' >= 0, z'' >= 0 encode_implies(z', z'') -{ -54 + s100 + s101 + s102 + s103 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 + 33*z'' + 32*z''^2 }-> s104 :|: s100 >= 0, s100 <= 8 * x_116, s101 >= 0, s101 <= 8 * x_210, s102 >= 0, s102 <= s100 + s101, s103 >= 0, s103 <= 8 * (z'' - 1), s104 >= 0, s104 <= s102 + (1 + s103), z'' - 1 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 13 + s105 + s106 + s107 + s108 + s109 + 97*x_116 + 32*x_116^2 + 97*x_124 + 32*x_124^2 + 97*x_210 + 32*x_210^2 + 97*x_215 + 32*x_215^2 }-> s110 :|: s105 >= 0, s105 <= 8 * x_116, s106 >= 0, s106 <= 8 * x_210, s107 >= 0, s107 <= s105 + s106, s108 >= 0, s108 <= 8 * x_124, s109 >= 0, s109 <= 8 * x_215, s110 >= 0, s110 <= s107 + (1 + s108 + s109), x_124 >= 0, z'' = 1 + x_124 + x_215, x_215 >= 0, x_116 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 14 + s111 + s112 + s113 + s114 + s115 + s116 + 97*x_116 + 32*x_116^2 + 97*x_125 + 32*x_125^2 + 97*x_210 + 32*x_210^2 + 97*x_216 + 32*x_216^2 }-> s117 :|: s111 >= 0, s111 <= 8 * x_116, s112 >= 0, s112 <= 8 * x_210, s113 >= 0, s113 <= s111 + s112, s114 >= 0, s114 <= 8 * x_125, s115 >= 0, s115 <= 8 * x_216, s116 >= 0, s116 <= s114 + s115, s117 >= 0, s117 <= s113 + s116, x_216 >= 0, x_116 >= 0, z'' = 1 + x_125 + x_216, x_125 >= 0, z' = 1 + x_116 + x_210, x_210 >= 0 encode_implies(z', z'') -{ 8 + s118 + s119 + s120 + 97*x_116 + 32*x_116^2 + 97*x_210 + 32*x_210^2 }-> s121 :|: s118 >= 0, s118 <= 8 * x_116, s119 >= 0, s119 <= 8 * x_210, s120 >= 0, s120 <= s118 + s119, s121 >= 0, s121 <= s120 + 0, x_116 >= 0, z' = 1 + x_116 + x_210, z'' >= 0, x_210 >= 0 encode_implies(z', z'') -{ -60 + s122 + 33*z'' + 32*z''^2 }-> s123 :|: s122 >= 0, s122 <= 8 * (z'' - 1), s123 >= 0, s123 <= 0 + (1 + s122), z' >= 0, z'' - 1 >= 0 encode_implies(z', z'') -{ 7 + s124 + s125 + 97*x_127 + 32*x_127^2 + 97*x_217 + 32*x_217^2 }-> s126 :|: s124 >= 0, s124 <= 8 * x_127, s125 >= 0, s125 <= 8 * x_217, s126 >= 0, s126 <= 0 + (1 + s124 + s125), z' >= 0, x_127 >= 0, x_217 >= 0, z'' = 1 + x_127 + x_217 encode_implies(z', z'') -{ 8 + s127 + s128 + s129 + 97*x_128 + 32*x_128^2 + 97*x_218 + 32*x_218^2 }-> s130 :|: s127 >= 0, s127 <= 8 * x_128, s128 >= 0, s128 <= 8 * x_218, s129 >= 0, s129 <= s127 + s128, s130 >= 0, s130 <= 0 + s129, z' >= 0, x_128 >= 0, z'' = 1 + x_128 + x_218, x_218 >= 0 encode_implies(z', z'') -{ -122 + s68 + s69 + 33*z' + 32*z'^2 + 33*z'' + 32*z''^2 }-> s70 :|: s68 >= 0, s68 <= 8 * (z' - 1), s69 >= 0, s69 <= 8 * (z'' - 1), s70 >= 0, s70 <= 1 + s68 + (1 + s69), z'' - 1 >= 0, z' - 1 >= 0 encode_implies(z', z'') -{ -55 + s71 + s72 + s73 + 97*x_118 + 32*x_118^2 + 97*x_211 + 32*x_211^2 + 33*z' + 32*z'^2 }-> s74 :|: s71 >= 0, s71 <= 8 * (z' - 1), s72 >= 0, s72 <= 8 * x_118, s73 >= 0, s73 <= 8 * x_211, s74 >= 0, s74 <= 1 + s71 + (1 + s72 + s73), z'' = 1 + x_118 + x_211, z' - 1 >= 0, x_118 >= 0, x_211 >= 0 encode_implies(z', z'') -{ -54 + s75 + s76 + s77 + s78 + 97*x_119 + 32*x_119^2 + 97*x_212 + 32*x_212^2 + 33*z' + 32*z'^2 }-> s79 :|: s75 >= 0, s75 <= 8 * (z' - 1), s76 >= 0, s76 <= 8 * x_119, s77 >= 0, s77 <= 8 * x_212, s78 >= 0, s78 <= s76 + s77, s79 >= 0, s79 <= 1 + s75 + s78, x_212 >= 0, z' - 1 >= 0, z'' = 1 + x_119 + x_212, x_119 >= 0 encode_implies(z', z'') -{ -60 + s80 + 33*z' + 32*z'^2 }-> s81 :|: s80 >= 0, s80 <= 8 * (z' - 1), s81 >= 0, s81 <= 1 + s80 + 0, z' - 1 >= 0, z'' >= 0 encode_implies(z', z'') -{ -55 + s82 + s83 + s84 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 + 33*z'' + 32*z''^2 }-> s85 :|: s82 >= 0, s82 <= 8 * x_115, s83 >= 0, s83 <= 8 * x_29, s84 >= 0, s84 <= 8 * (z'' - 1), s85 >= 0, s85 <= 1 + s82 + s83 + (1 + s84), z'' - 1 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0 encode_implies(z', z'') -{ 12 + s86 + s87 + s88 + s89 + 97*x_115 + 32*x_115^2 + 97*x_121 + 32*x_121^2 + 97*x_213 + 32*x_213^2 + 97*x_29 + 32*x_29^2 }-> s90 :|: s86 >= 0, s86 <= 8 * x_115, s87 >= 0, s87 <= 8 * x_29, s88 >= 0, s88 <= 8 * x_121, s89 >= 0, s89 <= 8 * x_213, s90 >= 0, s90 <= 1 + s86 + s87 + (1 + s88 + s89), z'' = 1 + x_121 + x_213, x_213 >= 0, x_115 >= 0, z' = 1 + x_115 + x_29, x_29 >= 0, x_121 >= 0 encode_implies(z', z'') -{ 13 + s91 + s92 + s93 + s94 + s95 + 97*x_115 + 32*x_115^2 + 97*x_122 + 32*x_122^2 + 97*x_214 + 32*x_214^2 + 97*x_29 + 32*x_29^2 }-> s96 :|: s91 >= 0, s91 <= 8 * x_115, s92 >= 0, s92 <= 8 * x_29, s93 >= 0, s93 <= 8 * x_122, s94 >= 0, s94 <= 8 * x_214, s95 >= 0, s95 <= s93 + s94, s96 >= 0, s96 <= 1 + s91 + s92 + s95, x_115 >= 0, x_214 >= 0, z' = 1 + x_115 + x_29, x_122 >= 0, z'' = 1 + x_122 + x_214, x_29 >= 0 encode_implies(z', z'') -{ 7 + s97 + s98 + 97*x_115 + 32*x_115^2 + 97*x_29 + 32*x_29^2 }-> s99 :|: s97 >= 0, s97 <= 8 * x_115, s98 >= 0, s98 <= 8 * x_29, s99 >= 0, s99 <= 1 + s97 + s98 + 0, x_115 >= 0, z' = 1 + x_115 + x_29, z'' >= 0, x_29 >= 0 encode_implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_not(z') -{ 0 }-> 0 :|: z' >= 0 encode_not(z') -{ 2 + 97*z' + 32*z'^2 }-> 1 + s131 :|: s131 >= 0, s131 <= 8 * z', z' >= 0 encode_or(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 encode_or(z', z'') -{ 4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2 }-> 1 + s132 + s133 :|: s132 >= 0, s132 <= 8 * z', s133 >= 0, s133 <= 8 * z'', z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + y + z + z' }-> s :|: s >= 0, s <= y + (1 + (z' - 1) + z), z >= 0, z' - 1 >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 0 }-> 0 :|: z' >= 0, z'' >= 0 implies(z', z'') -{ 3 + z + z' }-> 1 + y + s' :|: s' >= 0, s' <= z' + z, z >= 0, z' >= 0, y >= 0, z'' = 1 + y + z implies(z', z'') -{ 1 }-> 1 + (z' - 1) + z'' :|: z' - 1 >= 0, z'' >= 0 Function symbols to be analyzed: Previous analysis results are: implies: runtime: O(n^1) [2 + z' + z''], size: O(n^1) [z' + z''] encArg: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [8*z'] encode_not: runtime: O(n^2) [2 + 97*z' + 32*z'^2], size: O(n^1) [1 + 8*z'] encode_implies: runtime: O(n^2) [84 + 1900*z' + 640*z'^2 + 1900*z'' + 640*z''^2], size: O(n^1) [8*z' + 8*z''] encode_or: runtime: O(n^2) [4 + 97*z' + 32*z'^2 + 97*z'' + 32*z''^2], size: O(n^1) [1 + 8*z' + 8*z''] ---------------------------------------- (49) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (50) BOUNDS(1, n^2) ---------------------------------------- (51) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (52) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) implies(not(x), or(y, z)) -> implies(y, or(x, z)) implies(x, or(y, z)) -> or(y, implies(x, z)) The (relative) TRS S consists of the following rules: encArg(not(x_1)) -> not(encArg(x_1)) encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) encode_not(x_1) -> not(encArg(x_1)) encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (53) DecreasingLoopProof (LOWER BOUND(ID)) The following loop(s) give(s) rise to the lower bound Omega(n^1): The rewrite sequence implies(x, or(y, z)) ->^+ or(y, implies(x, z)) gives rise to a decreasing loop by considering the right hand sides subterm at position [1]. The pumping substitution is [z / or(y, z)]. The result substitution is [ ]. ---------------------------------------- (54) Complex Obligation (BEST) ---------------------------------------- (55) Obligation: Proved the lower bound n^1 for the following obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) implies(not(x), or(y, z)) -> implies(y, or(x, z)) implies(x, or(y, z)) -> or(y, implies(x, z)) The (relative) TRS S consists of the following rules: encArg(not(x_1)) -> not(encArg(x_1)) encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) encode_not(x_1) -> not(encArg(x_1)) encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (56) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (57) BOUNDS(n^1, INF) ---------------------------------------- (58) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: implies(not(x), y) -> or(x, y) implies(not(x), or(y, z)) -> implies(y, or(x, z)) implies(x, or(y, z)) -> or(y, implies(x, z)) The (relative) TRS S consists of the following rules: encArg(not(x_1)) -> not(encArg(x_1)) encArg(or(x_1, x_2)) -> or(encArg(x_1), encArg(x_2)) encArg(cons_implies(x_1, x_2)) -> implies(encArg(x_1), encArg(x_2)) encode_implies(x_1, x_2) -> implies(encArg(x_1), encArg(x_2)) encode_not(x_1) -> not(encArg(x_1)) encode_or(x_1, x_2) -> or(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST