/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^2)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 219 ms] (4) CpxRelTRS (5) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxWeightedTrs (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxTypedWeightedTrs (11) CompletionProof [UPPER BOUND(ID), 0 ms] (12) CpxTypedWeightedCompleteTrs (13) NarrowingProof [BOTH BOUNDS(ID, ID), 2651 ms] (14) CpxTypedWeightedCompleteTrs (15) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (16) CpxRNTS (17) InliningProof [UPPER BOUND(ID), 143 ms] (18) CpxRNTS (19) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRNTS (21) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxRNTS (23) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 75 ms] (26) CpxRNTS (27) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 117 ms] (32) CpxRNTS (33) IntTrsBoundProof [UPPER BOUND(ID), 22 ms] (34) CpxRNTS (35) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 96 ms] (38) CpxRNTS (39) IntTrsBoundProof [UPPER BOUND(ID), 11 ms] (40) CpxRNTS (41) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 764 ms] (44) CpxRNTS (45) IntTrsBoundProof [UPPER BOUND(ID), 326 ms] (46) CpxRNTS (47) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 1221 ms] (50) CpxRNTS (51) IntTrsBoundProof [UPPER BOUND(ID), 893 ms] (52) CpxRNTS (53) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 620 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 68 ms] (58) CpxRNTS (59) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (60) CpxRNTS (61) IntTrsBoundProof [UPPER BOUND(ID), 159 ms] (62) CpxRNTS (63) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (64) CpxRNTS (65) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (66) CpxRNTS (67) IntTrsBoundProof [UPPER BOUND(ID), 248 ms] (68) CpxRNTS (69) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (70) CpxRNTS (71) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (72) CpxRNTS (73) IntTrsBoundProof [UPPER BOUND(ID), 189 ms] (74) CpxRNTS (75) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (76) CpxRNTS (77) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (78) CpxRNTS (79) IntTrsBoundProof [UPPER BOUND(ID), 168 ms] (80) CpxRNTS (81) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (82) CpxRNTS (83) FinalProof [FINISHED, 0 ms] (84) BOUNDS(1, n^2) (85) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CpxRelTRS (87) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (88) typed CpxTrs (89) OrderProof [LOWER BOUND(ID), 0 ms] (90) typed CpxTrs (91) RewriteLemmaProof [LOWER BOUND(ID), 273 ms] (92) BEST (93) proven lower bound (94) LowerBoundPropagationProof [FINISHED, 0 ms] (95) BOUNDS(n^1, INF) (96) typed CpxTrs (97) RewriteLemmaProof [LOWER BOUND(ID), 58 ms] (98) typed CpxTrs (99) RewriteLemmaProof [LOWER BOUND(ID), 64 ms] (100) typed CpxTrs (101) RewriteLemmaProof [LOWER BOUND(ID), 58 ms] (102) typed CpxTrs (103) RewriteLemmaProof [LOWER BOUND(ID), 58 ms] (104) typed CpxTrs (105) RewriteLemmaProof [LOWER BOUND(ID), 29 ms] (106) BOUNDS(1, INF) ---------------------------------------- (0) Obligation: The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0) -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0 ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0) -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0 Rewrite Strategy: FULL ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0) -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0 Rewrite Strategy: FULL ---------------------------------------- (5) RcToIrcProof (BOTH BOUNDS(ID, ID)) Converted rc-obligation to irc-obligation. As the TRS is a non-duplicating overlay system, we have rc = irc. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0) -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0 Rewrite Strategy: INNERMOST ---------------------------------------- (7) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) [1] U12(tt, M, N) -> s(plus(activate(N), activate(M))) [1] plus(N, 0) -> N [1] plus(N, s(M)) -> U11(tt, M, N) [1] activate(X) -> X [1] encArg(tt) -> tt [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(x_1)) -> activate(encArg(x_1)) [0] encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_tt -> tt [0] encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_activate(x_1) -> activate(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) [1] U12(tt, M, N) -> s(plus(activate(N), activate(M))) [1] plus(N, 0) -> N [1] plus(N, s(M)) -> U11(tt, M, N) [1] activate(X) -> X [1] encArg(tt) -> tt [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(x_1)) -> activate(encArg(x_1)) [0] encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_tt -> tt [0] encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_activate(x_1) -> activate(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] The TRS has the following type information: U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate 0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate Rewrite Strategy: INNERMOST ---------------------------------------- (11) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: activate_1 U12_3 plus_2 U11_3 encArg_1 encode_U11_3 encode_tt encode_U12_3 encode_activate_1 encode_s_1 encode_plus_2 encode_0 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_U11(v0, v1, v2) -> null_encode_U11 [0] encode_tt -> null_encode_tt [0] encode_U12(v0, v1, v2) -> null_encode_U12 [0] encode_activate(v0) -> null_encode_activate [0] encode_s(v0) -> null_encode_s [0] encode_plus(v0, v1) -> null_encode_plus [0] encode_0 -> null_encode_0 [0] U12(v0, v1, v2) -> null_U12 [0] plus(v0, v1) -> null_plus [0] U11(v0, v1, v2) -> null_U11 [0] And the following fresh constants: null_encArg, null_encode_U11, null_encode_tt, null_encode_U12, null_encode_activate, null_encode_s, null_encode_plus, null_encode_0, null_U12, null_plus, null_U11 ---------------------------------------- (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: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) [1] U12(tt, M, N) -> s(plus(activate(N), activate(M))) [1] plus(N, 0) -> N [1] plus(N, s(M)) -> U11(tt, M, N) [1] activate(X) -> X [1] encArg(tt) -> tt [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(x_1)) -> activate(encArg(x_1)) [0] encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_tt -> tt [0] encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_activate(x_1) -> activate(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encArg(v0) -> null_encArg [0] encode_U11(v0, v1, v2) -> null_encode_U11 [0] encode_tt -> null_encode_tt [0] encode_U12(v0, v1, v2) -> null_encode_U12 [0] encode_activate(v0) -> null_encode_activate [0] encode_s(v0) -> null_encode_s [0] encode_plus(v0, v1) -> null_encode_plus [0] encode_0 -> null_encode_0 [0] U12(v0, v1, v2) -> null_U12 [0] plus(v0, v1) -> null_plus [0] U11(v0, v1, v2) -> null_U11 [0] The TRS has the following type information: U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encArg :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encArg :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 Rewrite Strategy: INNERMOST ---------------------------------------- (13) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (14) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, M, N) [3] U12(tt, M, N) -> s(plus(N, M)) [3] plus(N, 0) -> N [1] plus(N, s(M)) -> U11(tt, M, N) [1] activate(X) -> X [1] encArg(tt) -> tt [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) [0] encArg(cons_activate(tt)) -> activate(tt) [0] encArg(cons_activate(s(x_1774))) -> activate(s(encArg(x_1774))) [0] encArg(cons_activate(0)) -> activate(0) [0] encArg(cons_activate(cons_U11(x_1775, x_2464, x_3309))) -> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) [0] encArg(cons_activate(cons_U12(x_1776, x_2465, x_3310))) -> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) [0] encArg(cons_activate(cons_plus(x_1777, x_2466))) -> activate(plus(encArg(x_1777), encArg(x_2466))) [0] encArg(cons_activate(cons_activate(x_1778))) -> activate(activate(encArg(x_1778))) [0] encArg(cons_activate(x_1)) -> activate(null_encArg) [0] encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_tt -> tt [0] encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_activate(tt) -> activate(tt) [0] encode_activate(s(x_11509)) -> activate(s(encArg(x_11509))) [0] encode_activate(0) -> activate(0) [0] encode_activate(cons_U11(x_11510, x_2905, x_3603)) -> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) [0] encode_activate(cons_U12(x_11511, x_2906, x_3604)) -> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) [0] encode_activate(cons_plus(x_11512, x_2907)) -> activate(plus(encArg(x_11512), encArg(x_2907))) [0] encode_activate(cons_activate(x_11513)) -> activate(activate(encArg(x_11513))) [0] encode_activate(x_1) -> activate(null_encArg) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encArg(v0) -> null_encArg [0] encode_U11(v0, v1, v2) -> null_encode_U11 [0] encode_tt -> null_encode_tt [0] encode_U12(v0, v1, v2) -> null_encode_U12 [0] encode_activate(v0) -> null_encode_activate [0] encode_s(v0) -> null_encode_s [0] encode_plus(v0, v1) -> null_encode_plus [0] encode_0 -> null_encode_0 [0] U12(v0, v1, v2) -> null_U12 [0] plus(v0, v1) -> null_plus [0] U11(v0, v1, v2) -> null_U11 [0] The TRS has the following type information: U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encArg :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 cons_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 -> tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 encode_0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encArg :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_tt :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_activate :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_s :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_encode_0 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_U12 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_plus :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 null_U11 :: tt:s:0:cons_U11:cons_U12:cons_plus:cons_activate:null_encArg:null_encode_U11:null_encode_tt:null_encode_U12:null_encode_activate:null_encode_s:null_encode_plus:null_encode_0:null_U12:null_plus:null_U11 Rewrite Strategy: INNERMOST ---------------------------------------- (15) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: tt => 1 0 => 0 null_encArg => 0 null_encode_U11 => 0 null_encode_tt => 0 null_encode_U12 => 0 null_encode_activate => 0 null_encode_s => 0 null_encode_plus => 0 null_encode_0 => 0 null_U12 => 0 null_plus => 0 null_U11 => 0 ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, M, N) :|: z' = M, z = 1, z'' = N, M >= 0, N >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(N, M) :|: z' = M, z = 1, z'' = N, M >= 0, N >= 0 activate(z) -{ 1 }-> X :|: X >= 0, z = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(x_1778))) :|: z = 1 + (1 + x_1778), x_1778 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> activate(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> activate(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_1774)) :|: z = 1 + (1 + x_1774), x_1774 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_U11(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_U12(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(x_11513))) :|: z = 1 + x_11513, x_11513 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1) :|: z = 1 encode_activate(z) -{ 0 }-> activate(0) :|: z = 0 encode_activate(z) -{ 0 }-> activate(0) :|: x_1 >= 0, z = x_1 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_11509)) :|: z = 1 + x_11509, x_11509 >= 0 encode_activate(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_plus(z, z') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> N :|: z = N, z' = 0, N >= 0 plus(z, z') -{ 1 }-> U11(1, M, N) :|: z' = 1 + M, z = N, M >= 0, N >= 0 plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ---------------------------------------- (17) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: activate(z) -{ 1 }-> X :|: X >= 0, z = X ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, M, N) :|: z' = M, z = 1, z'' = N, M >= 0, N >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(N, M) :|: z' = M, z = 1, z'' = N, M >= 0, N >= 0 activate(z) -{ 1 }-> X :|: X >= 0, z = X encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z = 1 + x_1, x_1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(x_1778))) :|: z = 1 + (1 + x_1778), x_1778 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(x_1774)) :|: z = 1 + (1 + x_1774), x_1774 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_U11(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_U12(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: x_1 >= 0, z = x_1, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(x_11513))) :|: z = 1 + x_11513, x_11513 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(x_11509)) :|: z = 1 + x_11509, x_11509 >= 0 encode_activate(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_plus(z, z') -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> N :|: z = N, z' = 0, N >= 0 plus(z, z') -{ 1 }-> U11(1, M, N) :|: z' = 1 + M, z = N, M >= 0, N >= 0 plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ---------------------------------------- (19) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ---------------------------------------- (21) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { encode_0 } { activate } { encode_tt } { plus, U12, U11 } { encArg } { encode_activate } { encode_plus } { encode_U12 } { encode_U11 } { encode_s } ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_0}, {activate}, {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} ---------------------------------------- (23) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_0}, {activate}, {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_0 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_0}, {activate}, {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: ?, size: O(1) [0] ---------------------------------------- (27) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_0 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {activate}, {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (29) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {activate}, {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: activate after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {activate}, {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: ?, size: O(n^1) [z] ---------------------------------------- (33) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: activate after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (35) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_tt after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_tt}, {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: ?, size: O(1) [1] ---------------------------------------- (39) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_tt after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (41) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' Computed SIZE bound using CoFloCo for: U12 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' + z'' Computed SIZE bound using CoFloCo for: U11 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' + z'' ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {plus,U12,U11}, {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: ?, size: O(n^1) [z + z'] U12: runtime: ?, size: O(n^1) [1 + z' + z''] U11: runtime: ?, size: O(n^1) [1 + z' + z''] ---------------------------------------- (45) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 11 + 7*z' Computed RUNTIME bound using CoFloCo for: U12 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 14 + 7*z' Computed RUNTIME bound using CoFloCo for: U11 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 17 + 7*z' ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 3 }-> U12(1, z', z'') :|: z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 3 }-> 1 + plus(z'', z') :|: z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 1 }-> U11(1, z' - 1, z) :|: z' - 1 >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] ---------------------------------------- (47) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 11*z ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: ?, size: O(n^1) [1 + 11*z] ---------------------------------------- (51) 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: 1 + 135*z + 77*z^2 ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 0 }-> plus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> activate(plus(encArg(x_1777), encArg(x_2466))) :|: x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 0 }-> activate(activate(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> activate(U12(encArg(x_1776), encArg(x_2465), encArg(x_3310))) :|: x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 0 }-> activate(U11(encArg(x_1775), encArg(x_2464), encArg(x_3309))) :|: z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 0 }-> activate(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> U12(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> U11(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 0 }-> U11(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 0 }-> U12(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ 0 }-> activate(plus(encArg(x_11512), encArg(x_2907))) :|: x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ 0 }-> activate(activate(encArg(z - 1))) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> activate(U12(encArg(x_11511), encArg(x_2906), encArg(x_3604))) :|: x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 0 }-> activate(U11(encArg(x_11510), encArg(x_2905), encArg(x_3603))) :|: z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 0 }-> activate(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 0 }-> plus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] ---------------------------------------- (53) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encode_activate after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 11*z ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_activate}, {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: ?, size: O(n^1) [11*z] ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_activate after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 77 + 1311*z + 770*z^2 ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] ---------------------------------------- (59) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] ---------------------------------------- (61) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + 11*z + 11*z' ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_plus}, {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: ?, size: O(n^1) [2 + 11*z + 11*z'] ---------------------------------------- (63) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_plus after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 20 + 135*z + 77*z^2 + 212*z' + 77*z'^2 ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] ---------------------------------------- (65) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] ---------------------------------------- (67) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_U12 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 11*z' + 11*z'' ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_U12}, {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: ?, size: O(n^1) [3 + 11*z' + 11*z''] ---------------------------------------- (69) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_U12 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2 ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] ---------------------------------------- (71) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] ---------------------------------------- (73) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_U11 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 11*z' + 11*z'' ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_U11}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_U11: runtime: ?, size: O(n^1) [3 + 11*z' + 11*z''] ---------------------------------------- (75) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_U11 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 27 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2 ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_U11: runtime: O(n^2) [27 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] ---------------------------------------- (77) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_U11: runtime: O(n^2) [27 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] ---------------------------------------- (79) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + 11*z ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_U11: runtime: O(n^2) [27 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_s: runtime: ?, size: O(n^1) [2 + 11*z] ---------------------------------------- (81) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 1 + 135*z + 77*z^2 ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: U11(z, z', z'') -{ 17 + 7*z' }-> s :|: s >= 0, s <= z' + z'' + 1, z = 1, z' >= 0, z'' >= 0 U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 U12(z, z', z'') -{ 14 + 7*z' }-> 1 + s' :|: s' >= 0, s' <= z'' + z', z = 1, z' >= 0, z'' >= 0 activate(z) -{ 1 }-> z :|: z >= 0 encArg(z) -{ 1 }-> X :|: z = 1 + 1, X >= 0, 1 = X encArg(z) -{ 1 }-> X :|: z = 1 + 0, X >= 0, 0 = X encArg(z) -{ 1 }-> X :|: z - 1 >= 0, X >= 0, 0 = X encArg(z) -{ 13 + 7*s11 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 }-> s12 :|: s10 >= 0, s10 <= 11 * x_1 + 1, s11 >= 0, s11 <= 11 * x_2 + 1, s12 >= 0, s12 <= s10 + s11, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 40 + -173*z + 77*z^2 }-> s26 :|: s25 >= 0, s25 <= 11 * (z - 2) + 1, s26 >= 0, s26 <= 1 + s25, z - 2 >= 0 encArg(z) -{ 21 + 7*s28 + 135*x_1775 + 77*x_1775^2 + 135*x_2464 + 77*x_2464^2 + 135*x_3309 + 77*x_3309^2 }-> s31 :|: s27 >= 0, s27 <= 11 * x_1775 + 1, s28 >= 0, s28 <= 11 * x_2464 + 1, s29 >= 0, s29 <= 11 * x_3309 + 1, s30 >= 0, s30 <= s28 + s29 + 1, s31 >= 0, s31 <= s30, z = 1 + (1 + x_1775 + x_2464 + x_3309), x_3309 >= 0, x_1775 >= 0, x_2464 >= 0 encArg(z) -{ 18 + 7*s33 + 135*x_1776 + 77*x_1776^2 + 135*x_2465 + 77*x_2465^2 + 135*x_3310 + 77*x_3310^2 }-> s36 :|: s32 >= 0, s32 <= 11 * x_1776 + 1, s33 >= 0, s33 <= 11 * x_2465 + 1, s34 >= 0, s34 <= 11 * x_3310 + 1, s35 >= 0, s35 <= s33 + s34 + 1, s36 >= 0, s36 <= s35, x_3310 >= 0, x_1776 >= 0, z = 1 + (1 + x_1776 + x_2465 + x_3310), x_2465 >= 0 encArg(z) -{ 14 + 7*s38 + 135*x_1777 + 77*x_1777^2 + 135*x_2466 + 77*x_2466^2 }-> s40 :|: s37 >= 0, s37 <= 11 * x_1777 + 1, s38 >= 0, s38 <= 11 * x_2466 + 1, s39 >= 0, s39 <= s37 + s38, s40 >= 0, s40 <= s39, x_2466 >= 0, x_1777 >= 0, z = 1 + (1 + x_1777 + x_2466) encArg(z) -{ 41 + -173*z + 77*z^2 }-> s43 :|: s41 >= 0, s41 <= 11 * (z - 2) + 1, s42 >= 0, s42 <= s41, s43 >= 0, s43 <= s42, z - 2 >= 0 encArg(z) -{ 20 + 7*s3 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s5 :|: s2 >= 0, s2 <= 11 * x_1 + 1, s3 >= 0, s3 <= 11 * x_2 + 1, s4 >= 0, s4 <= 11 * x_3 + 1, s5 >= 0, s5 <= s3 + s4 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 17 + 7*s7 + 135*x_1 + 77*x_1^2 + 135*x_2 + 77*x_2^2 + 135*x_3 + 77*x_3^2 }-> s9 :|: s6 >= 0, s6 <= 11 * x_1 + 1, s7 >= 0, s7 <= 11 * x_2 + 1, s8 >= 0, s8 <= 11 * x_3 + 1, s9 >= 0, s9 <= s7 + s8 + 1, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -57 + -19*z + 77*z^2 }-> 1 + s1 :|: s1 >= 0, s1 <= 11 * (z - 1) + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_U11(z, z', z'') -{ 20 + 7*s14 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s16 :|: s13 >= 0, s13 <= 11 * z + 1, s14 >= 0, s14 <= 11 * z' + 1, s15 >= 0, s15 <= 11 * z'' + 1, s16 >= 0, s16 <= s14 + s15 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U11(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_U12(z, z', z'') -{ 17 + 7*s18 + 135*z + 77*z^2 + 135*z' + 77*z'^2 + 135*z'' + 77*z''^2 }-> s20 :|: s17 >= 0, s17 <= 11 * z + 1, s18 >= 0, s18 <= 11 * z' + 1, s19 >= 0, s19 <= 11 * z'' + 1, s20 >= 0, s20 <= s18 + s19 + 1, z >= 0, z'' >= 0, z' >= 0 encode_U12(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_activate(z) -{ 1 }-> X :|: z = 1, X >= 0, 1 = X encode_activate(z) -{ 1 }-> X :|: z = 0, X >= 0, 0 = X encode_activate(z) -{ 1 }-> X :|: z >= 0, X >= 0, 0 = X encode_activate(z) -{ -56 + -19*z + 77*z^2 }-> s45 :|: s44 >= 0, s44 <= 11 * (z - 1) + 1, s45 >= 0, s45 <= 1 + s44, z - 1 >= 0 encode_activate(z) -{ 21 + 7*s47 + 135*x_11510 + 77*x_11510^2 + 135*x_2905 + 77*x_2905^2 + 135*x_3603 + 77*x_3603^2 }-> s50 :|: s46 >= 0, s46 <= 11 * x_11510 + 1, s47 >= 0, s47 <= 11 * x_2905 + 1, s48 >= 0, s48 <= 11 * x_3603 + 1, s49 >= 0, s49 <= s47 + s48 + 1, s50 >= 0, s50 <= s49, z = 1 + x_11510 + x_2905 + x_3603, x_3603 >= 0, x_11510 >= 0, x_2905 >= 0 encode_activate(z) -{ 18 + 7*s52 + 135*x_11511 + 77*x_11511^2 + 135*x_2906 + 77*x_2906^2 + 135*x_3604 + 77*x_3604^2 }-> s55 :|: s51 >= 0, s51 <= 11 * x_11511 + 1, s52 >= 0, s52 <= 11 * x_2906 + 1, s53 >= 0, s53 <= 11 * x_3604 + 1, s54 >= 0, s54 <= s52 + s53 + 1, s55 >= 0, s55 <= s54, x_3604 >= 0, x_11511 >= 0, z = 1 + x_11511 + x_2906 + x_3604, x_2906 >= 0 encode_activate(z) -{ 14 + 7*s57 + 135*x_11512 + 77*x_11512^2 + 135*x_2907 + 77*x_2907^2 }-> s59 :|: s56 >= 0, s56 <= 11 * x_11512 + 1, s57 >= 0, s57 <= 11 * x_2907 + 1, s58 >= 0, s58 <= s56 + s57, s59 >= 0, s59 <= s58, x_2907 >= 0, z = 1 + x_11512 + x_2907, x_11512 >= 0 encode_activate(z) -{ -55 + -19*z + 77*z^2 }-> s62 :|: s60 >= 0, s60 <= 11 * (z - 1) + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, z - 1 >= 0 encode_activate(z) -{ 0 }-> 0 :|: z >= 0 encode_plus(z, z') -{ 13 + 7*s23 + 135*z + 77*z^2 + 135*z' + 77*z'^2 }-> s24 :|: s22 >= 0, s22 <= 11 * z + 1, s23 >= 0, s23 <= 11 * z' + 1, s24 >= 0, s24 <= s22 + s23, z >= 0, z' >= 0 encode_plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 1 + 135*z + 77*z^2 }-> 1 + s21 :|: s21 >= 0, s21 <= 11 * z + 1, z >= 0 encode_tt -{ 0 }-> 1 :|: encode_tt -{ 0 }-> 0 :|: plus(z, z') -{ 11 + 7*z' }-> s'' :|: s'' >= 0, s'' <= z' - 1 + z + 1, z' - 1 >= 0, z >= 0 plus(z, z') -{ 1 }-> z :|: z' = 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 Function symbols to be analyzed: Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] activate: runtime: O(1) [1], size: O(n^1) [z] encode_tt: runtime: O(1) [0], size: O(1) [1] plus: runtime: O(n^1) [11 + 7*z'], size: O(n^1) [z + z'] U12: runtime: O(n^1) [14 + 7*z'], size: O(n^1) [1 + z' + z''] U11: runtime: O(n^1) [17 + 7*z'], size: O(n^1) [1 + z' + z''] encArg: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [1 + 11*z] encode_activate: runtime: O(n^2) [77 + 1311*z + 770*z^2], size: O(n^1) [11*z] encode_plus: runtime: O(n^2) [20 + 135*z + 77*z^2 + 212*z' + 77*z'^2], size: O(n^1) [2 + 11*z + 11*z'] encode_U12: runtime: O(n^2) [24 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_U11: runtime: O(n^2) [27 + 135*z + 77*z^2 + 212*z' + 77*z'^2 + 135*z'' + 77*z''^2], size: O(n^1) [3 + 11*z' + 11*z''] encode_s: runtime: O(n^2) [1 + 135*z + 77*z^2], size: O(n^1) [2 + 11*z] ---------------------------------------- (83) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (84) BOUNDS(1, n^2) ---------------------------------------- (85) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (86) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Rewrite Strategy: FULL ---------------------------------------- (87) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (88) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate ---------------------------------------- (89) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: U11, U12, plus, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (90) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: U12, U11, plus, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (91) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4_4) Induction Base: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) Induction Step: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n4_4, 1)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) ->_R^Omega(1) s(plus(activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n4_4, 1))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n4_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n4_4)))) ->_R^Omega(1) s(U11(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_R^Omega(1) s(U12(tt, activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)))) ->_R^Omega(1) s(U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)))) ->_R^Omega(1) s(U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_IH s(*3_4) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (92) Complex Obligation (BEST) ---------------------------------------- (93) Obligation: Proved the lower bound n^1 for the following obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: U12, U11, plus, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (94) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (95) BOUNDS(n^1, INF) ---------------------------------------- (96) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Lemmas: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4_4) Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: plus, U11, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (97) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))) -> *3_4, rt in Omega(n974_4) Induction Base: plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, 0))) Induction Step: plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, +(n974_4, 1)))) ->_R^Omega(1) U11(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a)) ->_R^Omega(1) U12(tt, activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a))) ->_R^Omega(1) U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a))) ->_R^Omega(1) U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a)) ->_R^Omega(1) s(plus(activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4)))) ->_IH s(*3_4) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (98) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Lemmas: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4_4) plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))) -> *3_4, rt in Omega(n974_4) Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: U11, U12, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (99) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: U11(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n2555_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n2555_4) Induction Base: U11(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) Induction Step: U11(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n2555_4, 1)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) ->_R^Omega(1) U12(tt, activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n2555_4, 1))), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_R^Omega(1) U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n2555_4)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_R^Omega(1) U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n2555_4)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) ->_R^Omega(1) s(plus(activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n2555_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n2555_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n2555_4)))) ->_R^Omega(1) s(U11(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n2555_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_IH s(*3_4) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (100) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Lemmas: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4_4) plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))) -> *3_4, rt in Omega(n974_4) U11(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n2555_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n2555_4) Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: U12, plus, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (101) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4441_4) Induction Base: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) Induction Step: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n4441_4, 1)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) ->_R^Omega(1) s(plus(activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n4441_4, 1))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n4441_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n4441_4)))) ->_R^Omega(1) s(U11(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_R^Omega(1) s(U12(tt, activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)))) ->_R^Omega(1) s(U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)))) ->_R^Omega(1) s(U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c))) ->_IH s(*3_4) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (102) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Lemmas: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4441_4) plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n974_4))) -> *3_4, rt in Omega(n974_4) U11(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n2555_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n2555_4) Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: plus, encArg They will be analysed ascendingly in the following order: U11 = U12 U11 = plus U11 < encArg U12 = plus U12 < encArg plus < encArg ---------------------------------------- (103) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4))) -> *3_4, rt in Omega(n6437_4) Induction Base: plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, 0))) Induction Step: plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, +(n6437_4, 1)))) ->_R^Omega(1) U11(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a)) ->_R^Omega(1) U12(tt, activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4))), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a))) ->_R^Omega(1) U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a))) ->_R^Omega(1) U12(tt, gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4)), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a)) ->_R^Omega(1) s(plus(activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a)), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), activate(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4))))) ->_R^Omega(1) s(plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4)))) ->_IH s(*3_4) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (104) Obligation: TRS: Rules: U11(tt, M, N) -> U12(tt, activate(M), activate(N)) U12(tt, M, N) -> s(plus(activate(N), activate(M))) plus(N, 0') -> N plus(N, s(M)) -> U11(tt, M, N) activate(X) -> X encArg(tt) -> tt encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_U11(x_1, x_2, x_3)) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_U12(x_1, x_2, x_3)) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_plus(x_1, x_2)) -> plus(encArg(x_1), encArg(x_2)) encArg(cons_activate(x_1)) -> activate(encArg(x_1)) encode_U11(x_1, x_2, x_3) -> U11(encArg(x_1), encArg(x_2), encArg(x_3)) encode_tt -> tt encode_U12(x_1, x_2, x_3) -> U12(encArg(x_1), encArg(x_2), encArg(x_3)) encode_activate(x_1) -> activate(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_plus(x_1, x_2) -> plus(encArg(x_1), encArg(x_2)) encode_0 -> 0' Types: U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate 0' :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encArg :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate cons_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U11 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_tt :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_U12 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_activate :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_s :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_plus :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate encode_0 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate hole_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate1_4 :: tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4 :: Nat -> tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate Lemmas: U12(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n4441_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n4441_4) plus(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(a), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(1, n6437_4))) -> *3_4, rt in Omega(n6437_4) U11(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n2555_4), gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c)) -> *3_4, rt in Omega(n2555_4) Generator Equations: gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0) <=> tt gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(x, 1)) <=> s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(x)) The following defined symbols remain to be analysed: encArg ---------------------------------------- (105) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n8718_4)) -> gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n8718_4), rt in Omega(0) Induction Base: encArg(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(0)) ->_R^Omega(0) tt Induction Step: encArg(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(+(n8718_4, 1))) ->_R^Omega(0) s(encArg(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(n8718_4))) ->_IH s(gen_tt:s:0':cons_U11:cons_U12:cons_plus:cons_activate2_4(c8719_4)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (106) BOUNDS(1, INF)