/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^2)) proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 197 ms] (4) CpxRelTRS (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (12) CpxRNTS (13) CompleteCoflocoProof [FINISHED, 7338 ms] (14) BOUNDS(1, n^2) (15) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxRelTRS (17) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (18) typed CpxTrs (19) OrderProof [LOWER BOUND(ID), 0 ms] (20) typed CpxTrs (21) RewriteLemmaProof [LOWER BOUND(ID), 1018 ms] (22) BEST (23) proven lower bound (24) LowerBoundPropagationProof [FINISHED, 0 ms] (25) BOUNDS(n^1, INF) (26) typed CpxTrs (27) RewriteLemmaProof [LOWER BOUND(ID), 17 ms] (28) typed CpxTrs (29) RewriteLemmaProof [LOWER BOUND(ID), 408 ms] (30) BOUNDS(1, INF) ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: pred(s(x)) -> x minus(x, 0) -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0, s(y)) -> 0 quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0)) -> 0 log(s(s(x))) -> s(log(s(quot(x, s(s(0)))))) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: pred(s(x)) -> x minus(x, 0) -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0, s(y)) -> 0 quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0)) -> 0 log(s(s(x))) -> s(log(s(quot(x, s(s(0)))))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: pred(s(x)) -> x minus(x, 0) -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0, s(y)) -> 0 quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0)) -> 0 log(s(s(x))) -> s(log(s(quot(x, s(s(0)))))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: pred(s(x)) -> x [1] minus(x, 0) -> x [1] minus(x, s(y)) -> pred(minus(x, y)) [1] quot(0, s(y)) -> 0 [1] quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) [1] log(s(0)) -> 0 [1] log(s(s(x))) -> s(log(s(quot(x, s(s(0)))))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_pred(x_1)) -> pred(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encode_pred(x_1) -> pred(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: pred(s(x)) -> x [1] minus(x, 0) -> x [1] minus(x, s(y)) -> pred(minus(x, y)) [1] quot(0, s(y)) -> 0 [1] quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) [1] log(s(0)) -> 0 [1] log(s(s(x))) -> s(log(s(quot(x, s(s(0)))))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_pred(x_1)) -> pred(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encode_pred(x_1) -> pred(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] The TRS has the following type information: pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log s :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log 0 :: s:0:cons_pred:cons_minus:cons_quot:cons_log quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log log :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log encArg :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log cons_pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log cons_minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log cons_quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log cons_log :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log encode_pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log encode_s :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log encode_minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log encode_0 :: s:0:cons_pred:cons_minus:cons_quot:cons_log encode_quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log encode_log :: s:0:cons_pred:cons_minus:cons_quot:cons_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log Rewrite Strategy: INNERMOST ---------------------------------------- (9) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: encArg(v0) -> null_encArg [0] encode_pred(v0) -> null_encode_pred [0] encode_s(v0) -> null_encode_s [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_quot(v0, v1) -> null_encode_quot [0] encode_log(v0) -> null_encode_log [0] pred(v0) -> null_pred [0] minus(v0, v1) -> null_minus [0] quot(v0, v1) -> null_quot [0] log(v0) -> null_log [0] And the following fresh constants: null_encArg, null_encode_pred, null_encode_s, null_encode_minus, null_encode_0, null_encode_quot, null_encode_log, null_pred, null_minus, null_quot, null_log ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: pred(s(x)) -> x [1] minus(x, 0) -> x [1] minus(x, s(y)) -> pred(minus(x, y)) [1] quot(0, s(y)) -> 0 [1] quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) [1] log(s(0)) -> 0 [1] log(s(s(x))) -> s(log(s(quot(x, s(s(0)))))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(cons_pred(x_1)) -> pred(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encode_pred(x_1) -> pred(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] encArg(v0) -> null_encArg [0] encode_pred(v0) -> null_encode_pred [0] encode_s(v0) -> null_encode_s [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_quot(v0, v1) -> null_encode_quot [0] encode_log(v0) -> null_encode_log [0] pred(v0) -> null_pred [0] minus(v0, v1) -> null_minus [0] quot(v0, v1) -> null_quot [0] log(v0) -> null_log [0] The TRS has the following type information: pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log s :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log 0 :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log log :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encArg :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log cons_pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log cons_minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log cons_quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log cons_log :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encode_pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encode_s :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encode_minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encode_0 :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encode_quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log encode_log :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log -> s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encArg :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encode_pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encode_s :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encode_minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encode_0 :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encode_quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_encode_log :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_pred :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_minus :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_quot :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log null_log :: s:0:cons_pred:cons_minus:cons_quot:cons_log:null_encArg:null_encode_pred:null_encode_s:null_encode_minus:null_encode_0:null_encode_quot:null_encode_log:null_pred:null_minus:null_quot:null_log Rewrite Strategy: INNERMOST ---------------------------------------- (11) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 null_encArg => 0 null_encode_pred => 0 null_encode_s => 0 null_encode_minus => 0 null_encode_0 => 0 null_encode_quot => 0 null_encode_log => 0 null_pred => 0 null_minus => 0 null_quot => 0 null_log => 0 ---------------------------------------- (12) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> quot(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> pred(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 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_log(z) -{ 0 }-> log(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_log(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_minus(z, z') -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_pred(z) -{ 0 }-> pred(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_pred(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_quot(z, z') -{ 0 }-> quot(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_quot(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 log(z) -{ 1 }-> 0 :|: z = 1 + 0 log(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 log(z) -{ 1 }-> 1 + log(1 + quot(x, 1 + (1 + 0))) :|: x >= 0, z = 1 + (1 + x) minus(z, z') -{ 1 }-> x :|: x >= 0, z = x, z' = 0 minus(z, z') -{ 1 }-> pred(minus(x, y)) :|: z' = 1 + y, x >= 0, y >= 0, z = x minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 pred(z) -{ 1 }-> x :|: x >= 0, z = 1 + x pred(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quot(z, z') -{ 1 }-> 0 :|: z' = 1 + y, y >= 0, z = 0 quot(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 quot(z, z') -{ 1 }-> 1 + quot(minus(x, y), 1 + y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (13) CompleteCoflocoProof (FINISHED) Transformed the RNTS (where only complete derivations are relevant) into cost relations for CoFloCo: eq(start(V, V2),0,[pred(V, Out)],[V >= 0]). eq(start(V, V2),0,[minus(V, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[quot(V, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[log(V, Out)],[V >= 0]). eq(start(V, V2),0,[encArg(V, Out)],[V >= 0]). eq(start(V, V2),0,[fun(V, Out)],[V >= 0]). eq(start(V, V2),0,[fun1(V, Out)],[V >= 0]). eq(start(V, V2),0,[fun2(V, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[fun3(Out)],[]). eq(start(V, V2),0,[fun4(V, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[fun5(V, Out)],[V >= 0]). eq(pred(V, Out),1,[],[Out = V1,V1 >= 0,V = 1 + V1]). eq(minus(V, V2, Out),1,[],[Out = V3,V3 >= 0,V = V3,V2 = 0]). eq(minus(V, V2, Out),1,[minus(V4, V5, Ret0),pred(Ret0, Ret)],[Out = Ret,V2 = 1 + V5,V4 >= 0,V5 >= 0,V = V4]). eq(quot(V, V2, Out),1,[],[Out = 0,V2 = 1 + V6,V6 >= 0,V = 0]). eq(quot(V, V2, Out),1,[minus(V7, V8, Ret10),quot(Ret10, 1 + V8, Ret1)],[Out = 1 + Ret1,V2 = 1 + V8,V7 >= 0,V8 >= 0,V = 1 + V7]). eq(log(V, Out),1,[],[Out = 0,V = 1]). eq(log(V, Out),1,[quot(V9, 1 + (1 + 0), Ret101),log(1 + Ret101, Ret11)],[Out = 1 + Ret11,V9 >= 0,V = 2 + V9]). eq(encArg(V, Out),0,[encArg(V10, Ret12)],[Out = 1 + Ret12,V = 1 + V10,V10 >= 0]). eq(encArg(V, Out),0,[],[Out = 0,V = 0]). eq(encArg(V, Out),0,[encArg(V11, Ret01),pred(Ret01, Ret2)],[Out = Ret2,V = 1 + V11,V11 >= 0]). eq(encArg(V, Out),0,[encArg(V12, Ret02),encArg(V13, Ret13),minus(Ret02, Ret13, Ret3)],[Out = Ret3,V12 >= 0,V = 1 + V12 + V13,V13 >= 0]). eq(encArg(V, Out),0,[encArg(V15, Ret03),encArg(V14, Ret14),quot(Ret03, Ret14, Ret4)],[Out = Ret4,V15 >= 0,V = 1 + V14 + V15,V14 >= 0]). eq(encArg(V, Out),0,[encArg(V16, Ret04),log(Ret04, Ret5)],[Out = Ret5,V = 1 + V16,V16 >= 0]). eq(fun(V, Out),0,[encArg(V17, Ret05),pred(Ret05, Ret6)],[Out = Ret6,V17 >= 0,V = V17]). eq(fun1(V, Out),0,[encArg(V18, Ret15)],[Out = 1 + Ret15,V18 >= 0,V = V18]). eq(fun2(V, V2, Out),0,[encArg(V20, Ret06),encArg(V19, Ret16),minus(Ret06, Ret16, Ret7)],[Out = Ret7,V20 >= 0,V19 >= 0,V = V20,V2 = V19]). eq(fun3(Out),0,[],[Out = 0]). eq(fun4(V, V2, Out),0,[encArg(V22, Ret07),encArg(V21, Ret17),quot(Ret07, Ret17, Ret8)],[Out = Ret8,V22 >= 0,V21 >= 0,V = V22,V2 = V21]). eq(fun5(V, Out),0,[encArg(V23, Ret08),log(Ret08, Ret9)],[Out = Ret9,V23 >= 0,V = V23]). eq(encArg(V, Out),0,[],[Out = 0,V24 >= 0,V = V24]). eq(fun(V, Out),0,[],[Out = 0,V25 >= 0,V = V25]). eq(fun1(V, Out),0,[],[Out = 0,V26 >= 0,V = V26]). eq(fun2(V, V2, Out),0,[],[Out = 0,V27 >= 0,V28 >= 0,V = V27,V2 = V28]). eq(fun4(V, V2, Out),0,[],[Out = 0,V29 >= 0,V30 >= 0,V = V29,V2 = V30]). eq(fun5(V, Out),0,[],[Out = 0,V31 >= 0,V = V31]). eq(pred(V, Out),0,[],[Out = 0,V32 >= 0,V = V32]). eq(minus(V, V2, Out),0,[],[Out = 0,V33 >= 0,V34 >= 0,V = V33,V2 = V34]). eq(quot(V, V2, Out),0,[],[Out = 0,V35 >= 0,V36 >= 0,V = V35,V2 = V36]). eq(log(V, Out),0,[],[Out = 0,V37 >= 0,V = V37]). input_output_vars(pred(V,Out),[V],[Out]). input_output_vars(minus(V,V2,Out),[V,V2],[Out]). input_output_vars(quot(V,V2,Out),[V,V2],[Out]). input_output_vars(log(V,Out),[V],[Out]). input_output_vars(encArg(V,Out),[V],[Out]). input_output_vars(fun(V,Out),[V],[Out]). input_output_vars(fun1(V,Out),[V],[Out]). input_output_vars(fun2(V,V2,Out),[V,V2],[Out]). input_output_vars(fun3(Out),[],[Out]). input_output_vars(fun4(V,V2,Out),[V,V2],[Out]). input_output_vars(fun5(V,Out),[V],[Out]). CoFloCo proof output: Preprocessing Cost Relations ===================================== #### Computed strongly connected components 0. non_recursive : [pred/2] 1. recursive [non_tail] : [minus/3] 2. recursive : [quot/3] 3. recursive : [log/2] 4. recursive [non_tail,multiple] : [encArg/2] 5. non_recursive : [fun/2] 6. non_recursive : [fun1/2] 7. non_recursive : [fun2/3] 8. non_recursive : [fun3/1] 9. non_recursive : [fun4/3] 10. non_recursive : [fun5/2] 11. non_recursive : [start/2] #### Obtained direct recursion through partial evaluation 0. SCC is partially evaluated into pred/2 1. SCC is partially evaluated into minus/3 2. SCC is partially evaluated into quot/3 3. SCC is partially evaluated into log/2 4. SCC is partially evaluated into encArg/2 5. SCC is partially evaluated into fun/2 6. SCC is partially evaluated into fun1/2 7. SCC is partially evaluated into fun2/3 8. SCC is completely evaluated into other SCCs 9. SCC is partially evaluated into fun4/3 10. SCC is partially evaluated into fun5/2 11. SCC is partially evaluated into start/2 Control-Flow Refinement of Cost Relations ===================================== ### Specialization of cost equations pred/2 * CE 12 is refined into CE [39] * CE 13 is refined into CE [40] ### Cost equations --> "Loop" of pred/2 * CEs [39] --> Loop 19 * CEs [40] --> Loop 20 ### Ranking functions of CR pred(V,Out) #### Partial ranking functions of CR pred(V,Out) ### Specialization of cost equations minus/3 * CE 16 is refined into CE [41] * CE 14 is refined into CE [42] * CE 15 is refined into CE [43,44] ### Cost equations --> "Loop" of minus/3 * CEs [44] --> Loop 21 * CEs [43] --> Loop 22 * CEs [41] --> Loop 23 * CEs [42] --> Loop 24 ### Ranking functions of CR minus(V,V2,Out) * RF of phase [21]: [V2] * RF of phase [22]: [V2] #### Partial ranking functions of CR minus(V,V2,Out) * Partial RF of phase [21]: - RF of loop [21:1]: V2 * Partial RF of phase [22]: - RF of loop [22:1]: V2 ### Specialization of cost equations quot/3 * CE 17 is refined into CE [45] * CE 19 is refined into CE [46] * CE 18 is refined into CE [47,48,49] ### Cost equations --> "Loop" of quot/3 * CEs [49] --> Loop 25 * CEs [48] --> Loop 26 * CEs [47] --> Loop 27 * CEs [45,46] --> Loop 28 ### Ranking functions of CR quot(V,V2,Out) * RF of phase [25]: [V-1,V-V2+1] * RF of phase [27]: [V] #### Partial ranking functions of CR quot(V,V2,Out) * Partial RF of phase [25]: - RF of loop [25:1]: V-1 V-V2+1 * Partial RF of phase [27]: - RF of loop [27:1]: V ### Specialization of cost equations log/2 * CE 20 is refined into CE [50] * CE 22 is refined into CE [51] * CE 21 is refined into CE [52,53,54,55] ### Cost equations --> "Loop" of log/2 * CEs [55] --> Loop 29 * CEs [54] --> Loop 30 * CEs [53] --> Loop 31 * CEs [52] --> Loop 32 * CEs [50,51] --> Loop 33 ### Ranking functions of CR log(V,Out) * RF of phase [29,30]: [V-3,V/2-3/2] #### Partial ranking functions of CR log(V,Out) * Partial RF of phase [29,30]: - RF of loop [29:1]: V/2-2 - RF of loop [30:1]: V-3 ### Specialization of cost equations encArg/2 * CE 24 is refined into CE [56] * CE 23 is refined into CE [57] * CE 25 is refined into CE [58,59] * CE 28 is refined into CE [60,61,62,63,64,65] * CE 26 is refined into CE [66,67,68] * CE 27 is refined into CE [69,70,71,72,73] ### Cost equations --> "Loop" of encArg/2 * CEs [73] --> Loop 34 * CEs [72] --> Loop 35 * CEs [68] --> Loop 36 * CEs [69] --> Loop 37 * CEs [66] --> Loop 38 * CEs [71] --> Loop 39 * CEs [67,70] --> Loop 40 * CEs [65] --> Loop 41 * CEs [64] --> Loop 42 * CEs [63] --> Loop 43 * CEs [57] --> Loop 44 * CEs [59] --> Loop 45 * CEs [62] --> Loop 46 * CEs [61] --> Loop 47 * CEs [58,60] --> Loop 48 * CEs [56] --> Loop 49 ### Ranking functions of CR encArg(V,Out) * RF of phase [34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]: [V] #### Partial ranking functions of CR encArg(V,Out) * Partial RF of phase [34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]: - RF of loop [34:1,34:2,35:1,35:2,36:1,36:2,37:1,37:2,38:1,38:2,39:1,39:2,40:1,40:2,41:1,42:1,43:1,44:1,45:1,46:1,47:1,48:1]: V ### Specialization of cost equations fun/2 * CE 29 is refined into CE [74,75,76] * CE 30 is refined into CE [77] ### Cost equations --> "Loop" of fun/2 * CEs [76] --> Loop 50 * CEs [74,75,77] --> Loop 51 ### Ranking functions of CR fun(V,Out) #### Partial ranking functions of CR fun(V,Out) ### Specialization of cost equations fun1/2 * CE 31 is refined into CE [78,79] * CE 32 is refined into CE [80] ### Cost equations --> "Loop" of fun1/2 * CEs [79] --> Loop 52 * CEs [78] --> Loop 53 * CEs [80] --> Loop 54 ### Ranking functions of CR fun1(V,Out) #### Partial ranking functions of CR fun1(V,Out) ### Specialization of cost equations fun2/3 * CE 33 is refined into CE [81,82,83,84,85,86,87,88,89] * CE 34 is refined into CE [90] ### Cost equations --> "Loop" of fun2/3 * CEs [85,87,89] --> Loop 55 * CEs [81,82,83,84,86,88,90] --> Loop 56 ### Ranking functions of CR fun2(V,V2,Out) #### Partial ranking functions of CR fun2(V,V2,Out) ### Specialization of cost equations fun4/3 * CE 35 is refined into CE [91,92,93,94,95,96,97,98] * CE 36 is refined into CE [99] ### Cost equations --> "Loop" of fun4/3 * CEs [94,96,97,98] --> Loop 57 * CEs [91,92,93,95,99] --> Loop 58 ### Ranking functions of CR fun4(V,V2,Out) #### Partial ranking functions of CR fun4(V,V2,Out) ### Specialization of cost equations fun5/2 * CE 37 is refined into CE [100,101,102,103,104,105,106] * CE 38 is refined into CE [107] ### Cost equations --> "Loop" of fun5/2 * CEs [106] --> Loop 59 * CEs [105] --> Loop 60 * CEs [104] --> Loop 61 * CEs [103] --> Loop 62 * CEs [102] --> Loop 63 * CEs [100,101,107] --> Loop 64 ### Ranking functions of CR fun5(V,Out) #### Partial ranking functions of CR fun5(V,Out) ### Specialization of cost equations start/2 * CE 1 is refined into CE [108,109] * CE 2 is refined into CE [110,111,112] * CE 3 is refined into CE [113,114,115,116,117] * CE 4 is refined into CE [118,119,120,121,122,123] * CE 5 is refined into CE [124,125] * CE 6 is refined into CE [126,127] * CE 7 is refined into CE [128,129,130] * CE 8 is refined into CE [131,132] * CE 9 is refined into CE [133] * CE 10 is refined into CE [134,135] * CE 11 is refined into CE [136,137,138,139,140,141] ### Cost equations --> "Loop" of start/2 * CEs [108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141] --> Loop 65 ### Ranking functions of CR start(V,V2) #### Partial ranking functions of CR start(V,V2) Computing Bounds ===================================== #### Cost of chains of pred(V,Out): * Chain [20]: 0 with precondition: [Out=0,V>=0] * Chain [19]: 1 with precondition: [V=Out+1,V>=1] #### Cost of chains of minus(V,V2,Out): * Chain [[22],[21],24]: 3*it(21)+1 Such that:aux(1) =< V2 it(21) =< aux(1) with precondition: [Out=0,V>=1,V2>=2] * Chain [[22],24]: 1*it(22)+1 Such that:it(22) =< V2 with precondition: [Out=0,V>=0,V2>=1] * Chain [[22],23]: 1*it(22)+0 Such that:it(22) =< V2 with precondition: [Out=0,V>=0,V2>=1] * Chain [[21],24]: 2*it(21)+1 Such that:it(21) =< V2 with precondition: [V=Out+V2,V2>=1,V>=V2] * Chain [24]: 1 with precondition: [V2=0,V=Out,V>=0] * Chain [23]: 0 with precondition: [Out=0,V>=0,V2>=0] #### Cost of chains of quot(V,V2,Out): * Chain [[27],28]: 2*it(27)+1 Such that:it(27) =< Out with precondition: [V2=1,Out>=1,V>=Out] * Chain [[27],26,28]: 2*it(27)+5*s(6)+3 Such that:s(5) =< 1 it(27) =< Out s(6) =< s(5) with precondition: [V2=1,Out>=2,V>=Out] * Chain [[25],28]: 2*it(25)+2*s(9)+1 Such that:it(25) =< V-V2+1 aux(5) =< V it(25) =< aux(5) s(9) =< aux(5) with precondition: [V2>=2,Out>=1,V+2>=2*Out+V2] * Chain [[25],26,28]: 2*it(25)+5*s(6)+2*s(9)+3 Such that:it(25) =< V-V2+1 s(5) =< V2 aux(6) =< V s(6) =< s(5) it(25) =< aux(6) s(9) =< aux(6) with precondition: [V2>=2,Out>=2,V+3>=2*Out+V2] * Chain [28]: 1 with precondition: [Out=0,V>=0,V2>=0] * Chain [26,28]: 5*s(6)+3 Such that:s(5) =< V2 s(6) =< s(5) with precondition: [Out=1,V>=1,V2>=1] #### Cost of chains of log(V,Out): * Chain [[29,30],33]: 4*it(29)+2*it(30)+4*s(28)+5*s(29)+4*s(32)+1 Such that:s(33) =< 2*V aux(16) =< 5/2*V aux(15) =< 5/2*V+27/2 aux(17) =< V aux(18) =< V/2 aux(10) =< aux(17) it(29) =< aux(17) it(30) =< aux(17) aux(10) =< aux(18) it(29) =< aux(18) it(30) =< aux(18) it(30) =< aux(15) s(31) =< aux(15) it(30) =< aux(16) s(31) =< aux(16) s(30) =< aux(10)*2 s(32) =< s(33) s(28) =< s(31) s(29) =< s(30) with precondition: [Out>=1,V>=3*Out+1] * Chain [[29,30],32,33]: 4*it(29)+2*it(30)+4*s(28)+5*s(29)+4*s(32)+3 Such that:s(33) =< 2*V aux(16) =< 5/2*V aux(15) =< 5/2*V+27/2 aux(19) =< V aux(20) =< V/2 aux(10) =< aux(19) it(29) =< aux(19) it(30) =< aux(19) aux(10) =< aux(20) it(29) =< aux(20) it(30) =< aux(20) it(30) =< aux(15) s(31) =< aux(15) it(30) =< aux(16) s(31) =< aux(16) s(30) =< aux(10)*2 s(32) =< s(33) s(28) =< s(31) s(29) =< s(30) with precondition: [Out>=2,V+2>=3*Out] * Chain [[29,30],31,33]: 4*it(29)+2*it(30)+4*s(28)+5*s(29)+4*s(32)+5*s(35)+5 Such that:s(34) =< 2 s(33) =< 2*V aux(16) =< 5/2*V aux(15) =< 5/2*V+27/2 aux(21) =< V aux(22) =< V/2 s(35) =< s(34) aux(10) =< aux(21) it(29) =< aux(21) it(30) =< aux(21) aux(10) =< aux(22) it(29) =< aux(22) it(30) =< aux(22) it(30) =< aux(15) s(31) =< aux(15) it(30) =< aux(16) s(31) =< aux(16) s(30) =< aux(10)*2 s(32) =< s(33) s(28) =< s(31) s(29) =< s(30) with precondition: [Out>=2,V+3>=4*Out] * Chain [[29,30],31,32,33]: 4*it(29)+2*it(30)+4*s(28)+5*s(29)+4*s(32)+5*s(35)+7 Such that:s(34) =< 2 s(33) =< 2*V aux(16) =< 5/2*V aux(15) =< 5/2*V+27/2 aux(23) =< V aux(24) =< V/2 s(35) =< s(34) aux(10) =< aux(23) it(29) =< aux(23) it(30) =< aux(23) aux(10) =< aux(24) it(29) =< aux(24) it(30) =< aux(24) it(30) =< aux(15) s(31) =< aux(15) it(30) =< aux(16) s(31) =< aux(16) s(30) =< aux(10)*2 s(32) =< s(33) s(28) =< s(31) s(29) =< s(30) with precondition: [Out>=3,V+7>=4*Out] * Chain [33]: 1 with precondition: [Out=0,V>=0] * Chain [32,33]: 3 with precondition: [Out=1,V>=2] * Chain [31,33]: 5*s(35)+5 Such that:s(34) =< 2 s(35) =< s(34) with precondition: [Out=1,V>=3] * Chain [31,32,33]: 5*s(35)+7 Such that:s(34) =< 2 s(35) =< s(34) with precondition: [Out=2,V>=3] #### Cost of chains of encArg(V,Out): * Chain [49]: 0 with precondition: [Out=0,V>=0] * Chain [multiple([34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],[[49]])]: 3*it(34)+1*it(35)+4*it(36)+2*it(38)+3*it(39)+37*it(41)+9*s(186)+4*s(188)+2*s(190)+4*s(191)+5*s(192)+5*s(195)+5*s(197)+15*s(199)+16*s(200)+8*s(201)+16*s(202)+16*s(203)+20*s(204)+0 Such that:it([49]) =< V+1 aux(62) =< V aux(63) =< V/2 aux(64) =< V/3 aux(65) =< 2/7*V it(38) =< aux(62) it(39) =< aux(62) it(41) =< aux(62) aux(39) =< aux(63) it(36) =< aux(63) it(39) =< aux(63) it(35) =< aux(64) it(34) =< aux(65) aux(49) =< aux(62)*(5/2)+16 aux(40) =< aux(62)+1 aux(35) =< aux(62) s(213) =< aux(62)*2 it(36) =< it([49])*(1/2)+aux(63) it(38) =< it([49])*(1/2)+aux(63) it(39) =< it([49])*(1/2)+aux(63) aux(39) =< it([49])*(1/2)+aux(63) it(35) =< it([49])*(2/3)+aux(64) it(36) =< it([49])*(2/3)+aux(64) it(38) =< it([49])*(2/3)+aux(64) it(39) =< it([49])*(2/3)+aux(64) it(34) =< it([49])*(5/7)+aux(65) it(35) =< it([49])*(5/7)+aux(65) it(36) =< it([49])*(5/7)+aux(65) it(38) =< it([49])*(5/7)+aux(65) it(39) =< it([49])*(5/7)+aux(65) s(210) =< it(41)*aux(49) aux(46) =< it(41)*aux(40) s(198) =< it(38)*aux(40) s(196) =< it(39)*aux(35) s(194) =< it(36)*aux(40) s(190) =< it(36)*aux(35) s(189) =< it(35)*aux(35) s(187) =< it(34)*aux(62) s(209) =< aux(46)*(5/2) s(211) =< aux(46)*(1/2) s(207) =< aux(46)*2 s(199) =< s(213) s(208) =< aux(46) s(200) =< aux(46) s(201) =< aux(46) s(208) =< s(211) s(200) =< s(211) s(201) =< s(211) s(201) =< s(210) s(206) =< s(210) s(201) =< s(209) s(206) =< s(209) s(205) =< s(208)*2 s(202) =< s(207) s(203) =< s(206) s(204) =< s(205) s(197) =< s(198) s(195) =< s(196) s(191) =< s(194) s(192) =< aux(39) s(188) =< s(189) s(186) =< s(187) with precondition: [V>=1,Out>=0,V>=Out] #### Cost of chains of fun(V,Out): * Chain [51]: 2*s(249)+3*s(250)+37*s(251)+4*s(253)+1*s(254)+3*s(255)+2*s(265)+15*s(271)+16*s(273)+8*s(274)+16*s(277)+16*s(278)+20*s(279)+5*s(280)+5*s(281)+4*s(282)+5*s(283)+4*s(284)+9*s(285)+0 Such that:s(245) =< V s(244) =< V+1 s(246) =< V/2 s(247) =< V/3 s(248) =< 2/7*V s(249) =< s(245) s(250) =< s(245) s(251) =< s(245) s(252) =< s(246) s(253) =< s(246) s(250) =< s(246) s(254) =< s(247) s(255) =< s(248) s(256) =< s(245)*(5/2)+16 s(257) =< s(245)+1 s(258) =< s(245) s(259) =< s(245)*2 s(253) =< s(244)*(1/2)+s(246) s(249) =< s(244)*(1/2)+s(246) s(250) =< s(244)*(1/2)+s(246) s(252) =< s(244)*(1/2)+s(246) s(254) =< s(244)*(2/3)+s(247) s(253) =< s(244)*(2/3)+s(247) s(249) =< s(244)*(2/3)+s(247) s(250) =< s(244)*(2/3)+s(247) s(255) =< s(244)*(5/7)+s(248) s(254) =< s(244)*(5/7)+s(248) s(253) =< s(244)*(5/7)+s(248) s(249) =< s(244)*(5/7)+s(248) s(250) =< s(244)*(5/7)+s(248) s(260) =< s(251)*s(256) s(261) =< s(251)*s(257) s(262) =< s(249)*s(257) s(263) =< s(250)*s(258) s(264) =< s(253)*s(257) s(265) =< s(253)*s(258) s(266) =< s(254)*s(258) s(267) =< s(255)*s(245) s(268) =< s(261)*(5/2) s(269) =< s(261)*(1/2) s(270) =< s(261)*2 s(271) =< s(259) s(272) =< s(261) s(273) =< s(261) s(274) =< s(261) s(272) =< s(269) s(273) =< s(269) s(274) =< s(269) s(274) =< s(260) s(275) =< s(260) s(274) =< s(268) s(275) =< s(268) s(276) =< s(272)*2 s(277) =< s(270) s(278) =< s(275) s(279) =< s(276) s(280) =< s(262) s(281) =< s(263) s(282) =< s(264) s(283) =< s(252) s(284) =< s(266) s(285) =< s(267) with precondition: [Out=0,V>=0] * Chain [50]: 2*s(291)+3*s(292)+37*s(293)+4*s(295)+1*s(296)+3*s(297)+2*s(307)+15*s(313)+16*s(315)+8*s(316)+16*s(319)+16*s(320)+20*s(321)+5*s(322)+5*s(323)+4*s(324)+5*s(325)+4*s(326)+9*s(327)+1 Such that:s(287) =< V s(286) =< V+1 s(288) =< V/2 s(289) =< V/3 s(290) =< 2/7*V s(291) =< s(287) s(292) =< s(287) s(293) =< s(287) s(294) =< s(288) s(295) =< s(288) s(292) =< s(288) s(296) =< s(289) s(297) =< s(290) s(298) =< s(287)*(5/2)+16 s(299) =< s(287)+1 s(300) =< s(287) s(301) =< s(287)*2 s(295) =< s(286)*(1/2)+s(288) s(291) =< s(286)*(1/2)+s(288) s(292) =< s(286)*(1/2)+s(288) s(294) =< s(286)*(1/2)+s(288) s(296) =< s(286)*(2/3)+s(289) s(295) =< s(286)*(2/3)+s(289) s(291) =< s(286)*(2/3)+s(289) s(292) =< s(286)*(2/3)+s(289) s(297) =< s(286)*(5/7)+s(290) s(296) =< s(286)*(5/7)+s(290) s(295) =< s(286)*(5/7)+s(290) s(291) =< s(286)*(5/7)+s(290) s(292) =< s(286)*(5/7)+s(290) s(302) =< s(293)*s(298) s(303) =< s(293)*s(299) s(304) =< s(291)*s(299) s(305) =< s(292)*s(300) s(306) =< s(295)*s(299) s(307) =< s(295)*s(300) s(308) =< s(296)*s(300) s(309) =< s(297)*s(287) s(310) =< s(303)*(5/2) s(311) =< s(303)*(1/2) s(312) =< s(303)*2 s(313) =< s(301) s(314) =< s(303) s(315) =< s(303) s(316) =< s(303) s(314) =< s(311) s(315) =< s(311) s(316) =< s(311) s(316) =< s(302) s(317) =< s(302) s(316) =< s(310) s(317) =< s(310) s(318) =< s(314)*2 s(319) =< s(312) s(320) =< s(317) s(321) =< s(318) s(322) =< s(304) s(323) =< s(305) s(324) =< s(306) s(325) =< s(294) s(326) =< s(308) s(327) =< s(309) with precondition: [Out>=0,V>=Out+1] #### Cost of chains of fun1(V,Out): * Chain [54]: 0 with precondition: [Out=0,V>=0] * Chain [53]: 0 with precondition: [Out=1,V>=0] * Chain [52]: 2*s(333)+3*s(334)+37*s(335)+4*s(337)+1*s(338)+3*s(339)+2*s(349)+15*s(355)+16*s(357)+8*s(358)+16*s(361)+16*s(362)+20*s(363)+5*s(364)+5*s(365)+4*s(366)+5*s(367)+4*s(368)+9*s(369)+0 Such that:s(329) =< V s(328) =< V+1 s(330) =< V/2 s(331) =< V/3 s(332) =< 2/7*V s(333) =< s(329) s(334) =< s(329) s(335) =< s(329) s(336) =< s(330) s(337) =< s(330) s(334) =< s(330) s(338) =< s(331) s(339) =< s(332) s(340) =< s(329)*(5/2)+16 s(341) =< s(329)+1 s(342) =< s(329) s(343) =< s(329)*2 s(337) =< s(328)*(1/2)+s(330) s(333) =< s(328)*(1/2)+s(330) s(334) =< s(328)*(1/2)+s(330) s(336) =< s(328)*(1/2)+s(330) s(338) =< s(328)*(2/3)+s(331) s(337) =< s(328)*(2/3)+s(331) s(333) =< s(328)*(2/3)+s(331) s(334) =< s(328)*(2/3)+s(331) s(339) =< s(328)*(5/7)+s(332) s(338) =< s(328)*(5/7)+s(332) s(337) =< s(328)*(5/7)+s(332) s(333) =< s(328)*(5/7)+s(332) s(334) =< s(328)*(5/7)+s(332) s(344) =< s(335)*s(340) s(345) =< s(335)*s(341) s(346) =< s(333)*s(341) s(347) =< s(334)*s(342) s(348) =< s(337)*s(341) s(349) =< s(337)*s(342) s(350) =< s(338)*s(342) s(351) =< s(339)*s(329) s(352) =< s(345)*(5/2) s(353) =< s(345)*(1/2) s(354) =< s(345)*2 s(355) =< s(343) s(356) =< s(345) s(357) =< s(345) s(358) =< s(345) s(356) =< s(353) s(357) =< s(353) s(358) =< s(353) s(358) =< s(344) s(359) =< s(344) s(358) =< s(352) s(359) =< s(352) s(360) =< s(356)*2 s(361) =< s(354) s(362) =< s(359) s(363) =< s(360) s(364) =< s(346) s(365) =< s(347) s(366) =< s(348) s(367) =< s(336) s(368) =< s(350) s(369) =< s(351) with precondition: [V>=1,Out>=1,V+1>=Out] #### Cost of chains of fun2(V,V2,Out): * Chain [56]: 6*s(377)+9*s(378)+121*s(379)+12*s(381)+3*s(382)+9*s(383)+6*s(393)+45*s(399)+48*s(401)+24*s(402)+48*s(405)+48*s(406)+60*s(407)+15*s(408)+15*s(409)+12*s(410)+15*s(411)+12*s(412)+27*s(413)+4*s(463)+6*s(464)+74*s(465)+8*s(467)+2*s(468)+6*s(469)+4*s(479)+30*s(485)+32*s(487)+16*s(488)+32*s(491)+32*s(492)+40*s(493)+10*s(494)+10*s(495)+8*s(496)+10*s(497)+8*s(498)+18*s(499)+1 Such that:aux(68) =< V aux(69) =< V+1 aux(70) =< V/2 aux(71) =< V/3 aux(72) =< 2/7*V aux(73) =< V2 aux(74) =< V2+1 aux(75) =< V2/2 aux(76) =< V2/3 aux(77) =< 2/7*V2 s(463) =< aux(68) s(464) =< aux(68) s(465) =< aux(68) s(466) =< aux(70) s(467) =< aux(70) s(464) =< aux(70) s(468) =< aux(71) s(469) =< aux(72) s(470) =< aux(68)*(5/2)+16 s(471) =< aux(68)+1 s(472) =< aux(68) s(473) =< aux(68)*2 s(467) =< aux(69)*(1/2)+aux(70) s(463) =< aux(69)*(1/2)+aux(70) s(464) =< aux(69)*(1/2)+aux(70) s(466) =< aux(69)*(1/2)+aux(70) s(468) =< aux(69)*(2/3)+aux(71) s(467) =< aux(69)*(2/3)+aux(71) s(463) =< aux(69)*(2/3)+aux(71) s(464) =< aux(69)*(2/3)+aux(71) s(469) =< aux(69)*(5/7)+aux(72) s(468) =< aux(69)*(5/7)+aux(72) s(467) =< aux(69)*(5/7)+aux(72) s(463) =< aux(69)*(5/7)+aux(72) s(464) =< aux(69)*(5/7)+aux(72) s(474) =< s(465)*s(470) s(475) =< s(465)*s(471) s(476) =< s(463)*s(471) s(477) =< s(464)*s(472) s(478) =< s(467)*s(471) s(479) =< s(467)*s(472) s(480) =< s(468)*s(472) s(481) =< s(469)*aux(68) s(482) =< s(475)*(5/2) s(483) =< s(475)*(1/2) s(484) =< s(475)*2 s(485) =< s(473) s(486) =< s(475) s(487) =< s(475) s(488) =< s(475) s(486) =< s(483) s(487) =< s(483) s(488) =< s(483) s(488) =< s(474) s(489) =< s(474) s(488) =< s(482) s(489) =< s(482) s(490) =< s(486)*2 s(491) =< s(484) s(492) =< s(489) s(493) =< s(490) s(494) =< s(476) s(495) =< s(477) s(496) =< s(478) s(497) =< s(466) s(498) =< s(480) s(499) =< s(481) s(379) =< aux(73) s(377) =< aux(73) s(378) =< aux(73) s(380) =< aux(75) s(381) =< aux(75) s(378) =< aux(75) s(382) =< aux(76) s(383) =< aux(77) s(384) =< aux(73)*(5/2)+16 s(385) =< aux(73)+1 s(386) =< aux(73) s(387) =< aux(73)*2 s(381) =< aux(74)*(1/2)+aux(75) s(377) =< aux(74)*(1/2)+aux(75) s(378) =< aux(74)*(1/2)+aux(75) s(380) =< aux(74)*(1/2)+aux(75) s(382) =< aux(74)*(2/3)+aux(76) s(381) =< aux(74)*(2/3)+aux(76) s(377) =< aux(74)*(2/3)+aux(76) s(378) =< aux(74)*(2/3)+aux(76) s(383) =< aux(74)*(5/7)+aux(77) s(382) =< aux(74)*(5/7)+aux(77) s(381) =< aux(74)*(5/7)+aux(77) s(377) =< aux(74)*(5/7)+aux(77) s(378) =< aux(74)*(5/7)+aux(77) s(388) =< s(379)*s(384) s(389) =< s(379)*s(385) s(390) =< s(377)*s(385) s(391) =< s(378)*s(386) s(392) =< s(381)*s(385) s(393) =< s(381)*s(386) s(394) =< s(382)*s(386) s(395) =< s(383)*aux(73) s(396) =< s(389)*(5/2) s(397) =< s(389)*(1/2) s(398) =< s(389)*2 s(399) =< s(387) s(400) =< s(389) s(401) =< s(389) s(402) =< s(389) s(400) =< s(397) s(401) =< s(397) s(402) =< s(397) s(402) =< s(388) s(403) =< s(388) s(402) =< s(396) s(403) =< s(396) s(404) =< s(400)*2 s(405) =< s(398) s(406) =< s(403) s(407) =< s(404) s(408) =< s(390) s(409) =< s(391) s(410) =< s(392) s(411) =< s(380) s(412) =< s(394) s(413) =< s(395) with precondition: [Out=0,V>=0,V2>=0] * Chain [55]: 6*s(593)+9*s(594)+111*s(595)+12*s(597)+3*s(598)+9*s(599)+6*s(609)+45*s(615)+48*s(617)+24*s(618)+48*s(621)+48*s(622)+60*s(623)+15*s(624)+15*s(625)+12*s(626)+15*s(627)+12*s(628)+27*s(629)+4*s(677)+6*s(678)+76*s(679)+8*s(681)+2*s(682)+6*s(683)+4*s(693)+30*s(699)+32*s(701)+16*s(702)+32*s(705)+32*s(706)+40*s(707)+10*s(708)+10*s(709)+8*s(710)+10*s(711)+8*s(712)+18*s(713)+1 Such that:aux(79) =< V aux(80) =< V+1 aux(81) =< V/2 aux(82) =< V/3 aux(83) =< 2/7*V aux(84) =< V2 aux(85) =< V2+1 aux(86) =< V2/2 aux(87) =< V2/3 aux(88) =< 2/7*V2 s(593) =< aux(79) s(594) =< aux(79) s(595) =< aux(79) s(596) =< aux(81) s(597) =< aux(81) s(594) =< aux(81) s(598) =< aux(82) s(599) =< aux(83) s(600) =< aux(79)*(5/2)+16 s(601) =< aux(79)+1 s(602) =< aux(79) s(603) =< aux(79)*2 s(597) =< aux(80)*(1/2)+aux(81) s(593) =< aux(80)*(1/2)+aux(81) s(594) =< aux(80)*(1/2)+aux(81) s(596) =< aux(80)*(1/2)+aux(81) s(598) =< aux(80)*(2/3)+aux(82) s(597) =< aux(80)*(2/3)+aux(82) s(593) =< aux(80)*(2/3)+aux(82) s(594) =< aux(80)*(2/3)+aux(82) s(599) =< aux(80)*(5/7)+aux(83) s(598) =< aux(80)*(5/7)+aux(83) s(597) =< aux(80)*(5/7)+aux(83) s(593) =< aux(80)*(5/7)+aux(83) s(594) =< aux(80)*(5/7)+aux(83) s(604) =< s(595)*s(600) s(605) =< s(595)*s(601) s(606) =< s(593)*s(601) s(607) =< s(594)*s(602) s(608) =< s(597)*s(601) s(609) =< s(597)*s(602) s(610) =< s(598)*s(602) s(611) =< s(599)*aux(79) s(612) =< s(605)*(5/2) s(613) =< s(605)*(1/2) s(614) =< s(605)*2 s(615) =< s(603) s(616) =< s(605) s(617) =< s(605) s(618) =< s(605) s(616) =< s(613) s(617) =< s(613) s(618) =< s(613) s(618) =< s(604) s(619) =< s(604) s(618) =< s(612) s(619) =< s(612) s(620) =< s(616)*2 s(621) =< s(614) s(622) =< s(619) s(623) =< s(620) s(624) =< s(606) s(625) =< s(607) s(626) =< s(608) s(627) =< s(596) s(628) =< s(610) s(629) =< s(611) s(677) =< aux(84) s(678) =< aux(84) s(679) =< aux(84) s(680) =< aux(86) s(681) =< aux(86) s(678) =< aux(86) s(682) =< aux(87) s(683) =< aux(88) s(684) =< aux(84)*(5/2)+16 s(685) =< aux(84)+1 s(686) =< aux(84) s(687) =< aux(84)*2 s(681) =< aux(85)*(1/2)+aux(86) s(677) =< aux(85)*(1/2)+aux(86) s(678) =< aux(85)*(1/2)+aux(86) s(680) =< aux(85)*(1/2)+aux(86) s(682) =< aux(85)*(2/3)+aux(87) s(681) =< aux(85)*(2/3)+aux(87) s(677) =< aux(85)*(2/3)+aux(87) s(678) =< aux(85)*(2/3)+aux(87) s(683) =< aux(85)*(5/7)+aux(88) s(682) =< aux(85)*(5/7)+aux(88) s(681) =< aux(85)*(5/7)+aux(88) s(677) =< aux(85)*(5/7)+aux(88) s(678) =< aux(85)*(5/7)+aux(88) s(688) =< s(679)*s(684) s(689) =< s(679)*s(685) s(690) =< s(677)*s(685) s(691) =< s(678)*s(686) s(692) =< s(681)*s(685) s(693) =< s(681)*s(686) s(694) =< s(682)*s(686) s(695) =< s(683)*aux(84) s(696) =< s(689)*(5/2) s(697) =< s(689)*(1/2) s(698) =< s(689)*2 s(699) =< s(687) s(700) =< s(689) s(701) =< s(689) s(702) =< s(689) s(700) =< s(697) s(701) =< s(697) s(702) =< s(697) s(702) =< s(688) s(703) =< s(688) s(702) =< s(696) s(703) =< s(696) s(704) =< s(700)*2 s(705) =< s(698) s(706) =< s(703) s(707) =< s(704) s(708) =< s(690) s(709) =< s(691) s(710) =< s(692) s(711) =< s(680) s(712) =< s(694) s(713) =< s(695) with precondition: [V>=1,V2>=0,Out>=0,V>=Out] #### Cost of chains of fun4(V,V2,Out): * Chain [58]: 4*s(804)+6*s(805)+74*s(806)+8*s(808)+2*s(809)+6*s(810)+4*s(820)+30*s(826)+32*s(828)+16*s(829)+32*s(832)+32*s(833)+40*s(834)+10*s(835)+10*s(836)+8*s(837)+10*s(838)+8*s(839)+18*s(840)+4*s(846)+6*s(847)+74*s(848)+8*s(850)+2*s(851)+6*s(852)+4*s(862)+30*s(868)+32*s(870)+16*s(871)+32*s(874)+32*s(875)+40*s(876)+10*s(877)+10*s(878)+8*s(879)+10*s(880)+8*s(881)+18*s(882)+1 Such that:aux(89) =< V aux(90) =< V+1 aux(91) =< V/2 aux(92) =< V/3 aux(93) =< 2/7*V aux(94) =< V2 aux(95) =< V2+1 aux(96) =< V2/2 aux(97) =< V2/3 aux(98) =< 2/7*V2 s(846) =< aux(89) s(847) =< aux(89) s(848) =< aux(89) s(849) =< aux(91) s(850) =< aux(91) s(847) =< aux(91) s(851) =< aux(92) s(852) =< aux(93) s(853) =< aux(89)*(5/2)+16 s(854) =< aux(89)+1 s(855) =< aux(89) s(856) =< aux(89)*2 s(850) =< aux(90)*(1/2)+aux(91) s(846) =< aux(90)*(1/2)+aux(91) s(847) =< aux(90)*(1/2)+aux(91) s(849) =< aux(90)*(1/2)+aux(91) s(851) =< aux(90)*(2/3)+aux(92) s(850) =< aux(90)*(2/3)+aux(92) s(846) =< aux(90)*(2/3)+aux(92) s(847) =< aux(90)*(2/3)+aux(92) s(852) =< aux(90)*(5/7)+aux(93) s(851) =< aux(90)*(5/7)+aux(93) s(850) =< aux(90)*(5/7)+aux(93) s(846) =< aux(90)*(5/7)+aux(93) s(847) =< aux(90)*(5/7)+aux(93) s(857) =< s(848)*s(853) s(858) =< s(848)*s(854) s(859) =< s(846)*s(854) s(860) =< s(847)*s(855) s(861) =< s(850)*s(854) s(862) =< s(850)*s(855) s(863) =< s(851)*s(855) s(864) =< s(852)*aux(89) s(865) =< s(858)*(5/2) s(866) =< s(858)*(1/2) s(867) =< s(858)*2 s(868) =< s(856) s(869) =< s(858) s(870) =< s(858) s(871) =< s(858) s(869) =< s(866) s(870) =< s(866) s(871) =< s(866) s(871) =< s(857) s(872) =< s(857) s(871) =< s(865) s(872) =< s(865) s(873) =< s(869)*2 s(874) =< s(867) s(875) =< s(872) s(876) =< s(873) s(877) =< s(859) s(878) =< s(860) s(879) =< s(861) s(880) =< s(849) s(881) =< s(863) s(882) =< s(864) s(804) =< aux(94) s(805) =< aux(94) s(806) =< aux(94) s(807) =< aux(96) s(808) =< aux(96) s(805) =< aux(96) s(809) =< aux(97) s(810) =< aux(98) s(811) =< aux(94)*(5/2)+16 s(812) =< aux(94)+1 s(813) =< aux(94) s(814) =< aux(94)*2 s(808) =< aux(95)*(1/2)+aux(96) s(804) =< aux(95)*(1/2)+aux(96) s(805) =< aux(95)*(1/2)+aux(96) s(807) =< aux(95)*(1/2)+aux(96) s(809) =< aux(95)*(2/3)+aux(97) s(808) =< aux(95)*(2/3)+aux(97) s(804) =< aux(95)*(2/3)+aux(97) s(805) =< aux(95)*(2/3)+aux(97) s(810) =< aux(95)*(5/7)+aux(98) s(809) =< aux(95)*(5/7)+aux(98) s(808) =< aux(95)*(5/7)+aux(98) s(804) =< aux(95)*(5/7)+aux(98) s(805) =< aux(95)*(5/7)+aux(98) s(815) =< s(806)*s(811) s(816) =< s(806)*s(812) s(817) =< s(804)*s(812) s(818) =< s(805)*s(813) s(819) =< s(808)*s(812) s(820) =< s(808)*s(813) s(821) =< s(809)*s(813) s(822) =< s(810)*aux(94) s(823) =< s(816)*(5/2) s(824) =< s(816)*(1/2) s(825) =< s(816)*2 s(826) =< s(814) s(827) =< s(816) s(828) =< s(816) s(829) =< s(816) s(827) =< s(824) s(828) =< s(824) s(829) =< s(824) s(829) =< s(815) s(830) =< s(815) s(829) =< s(823) s(830) =< s(823) s(831) =< s(827)*2 s(832) =< s(825) s(833) =< s(830) s(834) =< s(831) s(835) =< s(817) s(836) =< s(818) s(837) =< s(819) s(838) =< s(807) s(839) =< s(821) s(840) =< s(822) with precondition: [Out=0,V>=0,V2>=0] * Chain [57]: 8*s(972)+12*s(973)+158*s(974)+16*s(976)+4*s(977)+12*s(978)+8*s(988)+60*s(994)+64*s(996)+32*s(997)+64*s(1000)+64*s(1001)+80*s(1002)+20*s(1003)+20*s(1004)+16*s(1005)+20*s(1006)+16*s(1007)+36*s(1008)+8*s(1014)+12*s(1015)+153*s(1016)+16*s(1018)+4*s(1019)+12*s(1020)+8*s(1030)+60*s(1036)+64*s(1038)+32*s(1039)+64*s(1042)+64*s(1043)+80*s(1044)+20*s(1045)+20*s(1046)+16*s(1047)+20*s(1048)+16*s(1049)+36*s(1050)+5*s(1054)+2*s(1312)+5*s(1315)+3 Such that:s(1051) =< 1 aux(104) =< V aux(105) =< V+1 aux(106) =< V/2 aux(107) =< V/3 aux(108) =< 2/7*V aux(109) =< V2 aux(110) =< V2+1 aux(111) =< V2/2 aux(112) =< V2/3 aux(113) =< 2/7*V2 s(974) =< aux(104) s(1054) =< s(1051) s(1014) =< aux(109) s(1015) =< aux(109) s(1016) =< aux(109) s(1017) =< aux(111) s(1018) =< aux(111) s(1015) =< aux(111) s(1019) =< aux(112) s(1020) =< aux(113) s(1021) =< aux(109)*(5/2)+16 s(1022) =< aux(109)+1 s(1023) =< aux(109) s(1024) =< aux(109)*2 s(1018) =< aux(110)*(1/2)+aux(111) s(1014) =< aux(110)*(1/2)+aux(111) s(1015) =< aux(110)*(1/2)+aux(111) s(1017) =< aux(110)*(1/2)+aux(111) s(1019) =< aux(110)*(2/3)+aux(112) s(1018) =< aux(110)*(2/3)+aux(112) s(1014) =< aux(110)*(2/3)+aux(112) s(1015) =< aux(110)*(2/3)+aux(112) s(1020) =< aux(110)*(5/7)+aux(113) s(1019) =< aux(110)*(5/7)+aux(113) s(1018) =< aux(110)*(5/7)+aux(113) s(1014) =< aux(110)*(5/7)+aux(113) s(1015) =< aux(110)*(5/7)+aux(113) s(1025) =< s(1016)*s(1021) s(1026) =< s(1016)*s(1022) s(1027) =< s(1014)*s(1022) s(1028) =< s(1015)*s(1023) s(1029) =< s(1018)*s(1022) s(1030) =< s(1018)*s(1023) s(1031) =< s(1019)*s(1023) s(1032) =< s(1020)*aux(109) s(1033) =< s(1026)*(5/2) s(1034) =< s(1026)*(1/2) s(1035) =< s(1026)*2 s(1036) =< s(1024) s(1037) =< s(1026) s(1038) =< s(1026) s(1039) =< s(1026) s(1037) =< s(1034) s(1038) =< s(1034) s(1039) =< s(1034) s(1039) =< s(1025) s(1040) =< s(1025) s(1039) =< s(1033) s(1040) =< s(1033) s(1041) =< s(1037)*2 s(1042) =< s(1035) s(1043) =< s(1040) s(1044) =< s(1041) s(1045) =< s(1027) s(1046) =< s(1028) s(1047) =< s(1029) s(1048) =< s(1017) s(1049) =< s(1031) s(1050) =< s(1032) s(972) =< aux(104) s(973) =< aux(104) s(975) =< aux(106) s(976) =< aux(106) s(973) =< aux(106) s(977) =< aux(107) s(978) =< aux(108) s(979) =< aux(104)*(5/2)+16 s(980) =< aux(104)+1 s(981) =< aux(104) s(982) =< aux(104)*2 s(976) =< aux(105)*(1/2)+aux(106) s(972) =< aux(105)*(1/2)+aux(106) s(973) =< aux(105)*(1/2)+aux(106) s(975) =< aux(105)*(1/2)+aux(106) s(977) =< aux(105)*(2/3)+aux(107) s(976) =< aux(105)*(2/3)+aux(107) s(972) =< aux(105)*(2/3)+aux(107) s(973) =< aux(105)*(2/3)+aux(107) s(978) =< aux(105)*(5/7)+aux(108) s(977) =< aux(105)*(5/7)+aux(108) s(976) =< aux(105)*(5/7)+aux(108) s(972) =< aux(105)*(5/7)+aux(108) s(973) =< aux(105)*(5/7)+aux(108) s(983) =< s(974)*s(979) s(984) =< s(974)*s(980) s(985) =< s(972)*s(980) s(986) =< s(973)*s(981) s(987) =< s(976)*s(980) s(988) =< s(976)*s(981) s(989) =< s(977)*s(981) s(990) =< s(978)*aux(104) s(991) =< s(984)*(5/2) s(992) =< s(984)*(1/2) s(993) =< s(984)*2 s(994) =< s(982) s(995) =< s(984) s(996) =< s(984) s(997) =< s(984) s(995) =< s(992) s(996) =< s(992) s(997) =< s(992) s(997) =< s(983) s(998) =< s(983) s(997) =< s(991) s(998) =< s(991) s(999) =< s(995)*2 s(1000) =< s(993) s(1001) =< s(998) s(1002) =< s(999) s(1003) =< s(985) s(1004) =< s(986) s(1005) =< s(987) s(1006) =< s(975) s(1007) =< s(989) s(1008) =< s(990) s(1312) =< aux(105) s(1315) =< aux(105) s(1312) =< aux(104) with precondition: [V2>=1,Out>=1,V>=Out] #### Cost of chains of fun5(V,Out): * Chain [64]: 2*s(1322)+3*s(1323)+37*s(1324)+4*s(1326)+1*s(1327)+3*s(1328)+2*s(1338)+15*s(1344)+16*s(1346)+8*s(1347)+16*s(1350)+16*s(1351)+20*s(1352)+5*s(1353)+5*s(1354)+4*s(1355)+5*s(1356)+4*s(1357)+9*s(1358)+1 Such that:s(1318) =< V s(1317) =< V+1 s(1319) =< V/2 s(1320) =< V/3 s(1321) =< 2/7*V s(1322) =< s(1318) s(1323) =< s(1318) s(1324) =< s(1318) s(1325) =< s(1319) s(1326) =< s(1319) s(1323) =< s(1319) s(1327) =< s(1320) s(1328) =< s(1321) s(1329) =< s(1318)*(5/2)+16 s(1330) =< s(1318)+1 s(1331) =< s(1318) s(1332) =< s(1318)*2 s(1326) =< s(1317)*(1/2)+s(1319) s(1322) =< s(1317)*(1/2)+s(1319) s(1323) =< s(1317)*(1/2)+s(1319) s(1325) =< s(1317)*(1/2)+s(1319) s(1327) =< s(1317)*(2/3)+s(1320) s(1326) =< s(1317)*(2/3)+s(1320) s(1322) =< s(1317)*(2/3)+s(1320) s(1323) =< s(1317)*(2/3)+s(1320) s(1328) =< s(1317)*(5/7)+s(1321) s(1327) =< s(1317)*(5/7)+s(1321) s(1326) =< s(1317)*(5/7)+s(1321) s(1322) =< s(1317)*(5/7)+s(1321) s(1323) =< s(1317)*(5/7)+s(1321) s(1333) =< s(1324)*s(1329) s(1334) =< s(1324)*s(1330) s(1335) =< s(1322)*s(1330) s(1336) =< s(1323)*s(1331) s(1337) =< s(1326)*s(1330) s(1338) =< s(1326)*s(1331) s(1339) =< s(1327)*s(1331) s(1340) =< s(1328)*s(1318) s(1341) =< s(1334)*(5/2) s(1342) =< s(1334)*(1/2) s(1343) =< s(1334)*2 s(1344) =< s(1332) s(1345) =< s(1334) s(1346) =< s(1334) s(1347) =< s(1334) s(1345) =< s(1342) s(1346) =< s(1342) s(1347) =< s(1342) s(1347) =< s(1333) s(1348) =< s(1333) s(1347) =< s(1341) s(1348) =< s(1341) s(1349) =< s(1345)*2 s(1350) =< s(1343) s(1351) =< s(1348) s(1352) =< s(1349) s(1353) =< s(1335) s(1354) =< s(1336) s(1355) =< s(1337) s(1356) =< s(1325) s(1357) =< s(1339) s(1358) =< s(1340) with precondition: [Out=0,V>=0] * Chain [63]: 2*s(1364)+3*s(1365)+37*s(1366)+4*s(1368)+1*s(1369)+3*s(1370)+2*s(1380)+15*s(1386)+16*s(1388)+8*s(1389)+16*s(1392)+16*s(1393)+20*s(1394)+5*s(1395)+5*s(1396)+4*s(1397)+5*s(1398)+4*s(1399)+9*s(1400)+15 Such that:s(1360) =< V s(1359) =< V+1 s(1361) =< V/2 s(1362) =< V/3 s(1363) =< 2/7*V s(1364) =< s(1360) s(1365) =< s(1360) s(1366) =< s(1360) s(1367) =< s(1361) s(1368) =< s(1361) s(1365) =< s(1361) s(1369) =< s(1362) s(1370) =< s(1363) s(1371) =< s(1360)*(5/2)+16 s(1372) =< s(1360)+1 s(1373) =< s(1360) s(1374) =< s(1360)*2 s(1368) =< s(1359)*(1/2)+s(1361) s(1364) =< s(1359)*(1/2)+s(1361) s(1365) =< s(1359)*(1/2)+s(1361) s(1367) =< s(1359)*(1/2)+s(1361) s(1369) =< s(1359)*(2/3)+s(1362) s(1368) =< s(1359)*(2/3)+s(1362) s(1364) =< s(1359)*(2/3)+s(1362) s(1365) =< s(1359)*(2/3)+s(1362) s(1370) =< s(1359)*(5/7)+s(1363) s(1369) =< s(1359)*(5/7)+s(1363) s(1368) =< s(1359)*(5/7)+s(1363) s(1364) =< s(1359)*(5/7)+s(1363) s(1365) =< s(1359)*(5/7)+s(1363) s(1375) =< s(1366)*s(1371) s(1376) =< s(1366)*s(1372) s(1377) =< s(1364)*s(1372) s(1378) =< s(1365)*s(1373) s(1379) =< s(1368)*s(1372) s(1380) =< s(1368)*s(1373) s(1381) =< s(1369)*s(1373) s(1382) =< s(1370)*s(1360) s(1383) =< s(1376)*(5/2) s(1384) =< s(1376)*(1/2) s(1385) =< s(1376)*2 s(1386) =< s(1374) s(1387) =< s(1376) s(1388) =< s(1376) s(1389) =< s(1376) s(1387) =< s(1384) s(1388) =< s(1384) s(1389) =< s(1384) s(1389) =< s(1375) s(1390) =< s(1375) s(1389) =< s(1383) s(1390) =< s(1383) s(1391) =< s(1387)*2 s(1392) =< s(1385) s(1393) =< s(1390) s(1394) =< s(1391) s(1395) =< s(1377) s(1396) =< s(1378) s(1397) =< s(1379) s(1398) =< s(1367) s(1399) =< s(1381) s(1400) =< s(1382) with precondition: [Out=1,V>=2] * Chain [62]: 2*s(1406)+3*s(1407)+37*s(1408)+4*s(1410)+1*s(1411)+3*s(1412)+2*s(1422)+15*s(1428)+16*s(1430)+8*s(1431)+16*s(1434)+16*s(1435)+20*s(1436)+5*s(1437)+5*s(1438)+4*s(1439)+5*s(1440)+4*s(1441)+9*s(1442)+5*s(1444)+7 Such that:s(1443) =< 2 s(1402) =< V s(1401) =< V+1 s(1403) =< V/2 s(1404) =< V/3 s(1405) =< 2/7*V s(1444) =< s(1443) s(1406) =< s(1402) s(1407) =< s(1402) s(1408) =< s(1402) s(1409) =< s(1403) s(1410) =< s(1403) s(1407) =< s(1403) s(1411) =< s(1404) s(1412) =< s(1405) s(1413) =< s(1402)*(5/2)+16 s(1414) =< s(1402)+1 s(1415) =< s(1402) s(1416) =< s(1402)*2 s(1410) =< s(1401)*(1/2)+s(1403) s(1406) =< s(1401)*(1/2)+s(1403) s(1407) =< s(1401)*(1/2)+s(1403) s(1409) =< s(1401)*(1/2)+s(1403) s(1411) =< s(1401)*(2/3)+s(1404) s(1410) =< s(1401)*(2/3)+s(1404) s(1406) =< s(1401)*(2/3)+s(1404) s(1407) =< s(1401)*(2/3)+s(1404) s(1412) =< s(1401)*(5/7)+s(1405) s(1411) =< s(1401)*(5/7)+s(1405) s(1410) =< s(1401)*(5/7)+s(1405) s(1406) =< s(1401)*(5/7)+s(1405) s(1407) =< s(1401)*(5/7)+s(1405) s(1417) =< s(1408)*s(1413) s(1418) =< s(1408)*s(1414) s(1419) =< s(1406)*s(1414) s(1420) =< s(1407)*s(1415) s(1421) =< s(1410)*s(1414) s(1422) =< s(1410)*s(1415) s(1423) =< s(1411)*s(1415) s(1424) =< s(1412)*s(1402) s(1425) =< s(1418)*(5/2) s(1426) =< s(1418)*(1/2) s(1427) =< s(1418)*2 s(1428) =< s(1416) s(1429) =< s(1418) s(1430) =< s(1418) s(1431) =< s(1418) s(1429) =< s(1426) s(1430) =< s(1426) s(1431) =< s(1426) s(1431) =< s(1417) s(1432) =< s(1417) s(1431) =< s(1425) s(1432) =< s(1425) s(1433) =< s(1429)*2 s(1434) =< s(1427) s(1435) =< s(1432) s(1436) =< s(1433) s(1437) =< s(1419) s(1438) =< s(1420) s(1439) =< s(1421) s(1440) =< s(1409) s(1441) =< s(1423) s(1442) =< s(1424) with precondition: [Out=2,V>=3] * Chain [61]: 2*s(1450)+3*s(1451)+37*s(1452)+4*s(1454)+1*s(1455)+3*s(1456)+2*s(1466)+15*s(1472)+16*s(1474)+8*s(1475)+16*s(1478)+16*s(1479)+20*s(1480)+5*s(1481)+5*s(1482)+4*s(1483)+5*s(1484)+4*s(1485)+9*s(1486)+4*s(1493)+2*s(1494)+4*s(1497)+4*s(1498)+5*s(1499)+1 Such that:s(1445) =< V+1 s(1487) =< 2*V s(1448) =< V/3 s(1449) =< 2/7*V s(1488) =< 5/2*V s(1489) =< 5/2*V+27/2 aux(114) =< V aux(115) =< V/2 s(1492) =< aux(114) s(1493) =< aux(114) s(1494) =< aux(114) s(1492) =< aux(115) s(1493) =< aux(115) s(1494) =< aux(115) s(1494) =< s(1489) s(1495) =< s(1489) s(1494) =< s(1488) s(1495) =< s(1488) s(1496) =< s(1492)*2 s(1497) =< s(1487) s(1498) =< s(1495) s(1499) =< s(1496) s(1450) =< aux(114) s(1451) =< aux(114) s(1452) =< aux(114) s(1453) =< aux(115) s(1454) =< aux(115) s(1451) =< aux(115) s(1455) =< s(1448) s(1456) =< s(1449) s(1457) =< aux(114)*(5/2)+16 s(1458) =< aux(114)+1 s(1459) =< aux(114) s(1460) =< aux(114)*2 s(1454) =< s(1445)*(1/2)+aux(115) s(1450) =< s(1445)*(1/2)+aux(115) s(1451) =< s(1445)*(1/2)+aux(115) s(1453) =< s(1445)*(1/2)+aux(115) s(1455) =< s(1445)*(2/3)+s(1448) s(1454) =< s(1445)*(2/3)+s(1448) s(1450) =< s(1445)*(2/3)+s(1448) s(1451) =< s(1445)*(2/3)+s(1448) s(1456) =< s(1445)*(5/7)+s(1449) s(1455) =< s(1445)*(5/7)+s(1449) s(1454) =< s(1445)*(5/7)+s(1449) s(1450) =< s(1445)*(5/7)+s(1449) s(1451) =< s(1445)*(5/7)+s(1449) s(1461) =< s(1452)*s(1457) s(1462) =< s(1452)*s(1458) s(1463) =< s(1450)*s(1458) s(1464) =< s(1451)*s(1459) s(1465) =< s(1454)*s(1458) s(1466) =< s(1454)*s(1459) s(1467) =< s(1455)*s(1459) s(1468) =< s(1456)*aux(114) s(1469) =< s(1462)*(5/2) s(1470) =< s(1462)*(1/2) s(1471) =< s(1462)*2 s(1472) =< s(1460) s(1473) =< s(1462) s(1474) =< s(1462) s(1475) =< s(1462) s(1473) =< s(1470) s(1474) =< s(1470) s(1475) =< s(1470) s(1475) =< s(1461) s(1476) =< s(1461) s(1475) =< s(1469) s(1476) =< s(1469) s(1477) =< s(1473)*2 s(1478) =< s(1471) s(1479) =< s(1476) s(1480) =< s(1477) s(1481) =< s(1463) s(1482) =< s(1464) s(1483) =< s(1465) s(1484) =< s(1453) s(1485) =< s(1467) s(1486) =< s(1468) with precondition: [Out>=1,V>=3*Out+1] * Chain [60]: 2*s(1505)+3*s(1506)+37*s(1507)+4*s(1509)+1*s(1510)+3*s(1511)+2*s(1521)+15*s(1527)+16*s(1529)+8*s(1530)+16*s(1533)+16*s(1534)+20*s(1535)+5*s(1536)+5*s(1537)+4*s(1538)+5*s(1539)+4*s(1540)+9*s(1541)+5*s(1548)+8*s(1550)+4*s(1551)+8*s(1554)+8*s(1555)+10*s(1556)+5 Such that:s(1542) =< 2 s(1500) =< V+1 s(1544) =< 2*V s(1503) =< V/3 s(1504) =< 2/7*V s(1546) =< 5/2*V s(1547) =< 5/2*V+27/2 aux(116) =< V aux(117) =< V/2 s(1548) =< s(1542) s(1549) =< aux(116) s(1550) =< aux(116) s(1551) =< aux(116) s(1549) =< aux(117) s(1550) =< aux(117) s(1551) =< aux(117) s(1551) =< s(1547) s(1552) =< s(1547) s(1551) =< s(1546) s(1552) =< s(1546) s(1553) =< s(1549)*2 s(1554) =< s(1544) s(1555) =< s(1552) s(1556) =< s(1553) s(1505) =< aux(116) s(1506) =< aux(116) s(1507) =< aux(116) s(1508) =< aux(117) s(1509) =< aux(117) s(1506) =< aux(117) s(1510) =< s(1503) s(1511) =< s(1504) s(1512) =< aux(116)*(5/2)+16 s(1513) =< aux(116)+1 s(1514) =< aux(116) s(1515) =< aux(116)*2 s(1509) =< s(1500)*(1/2)+aux(117) s(1505) =< s(1500)*(1/2)+aux(117) s(1506) =< s(1500)*(1/2)+aux(117) s(1508) =< s(1500)*(1/2)+aux(117) s(1510) =< s(1500)*(2/3)+s(1503) s(1509) =< s(1500)*(2/3)+s(1503) s(1505) =< s(1500)*(2/3)+s(1503) s(1506) =< s(1500)*(2/3)+s(1503) s(1511) =< s(1500)*(5/7)+s(1504) s(1510) =< s(1500)*(5/7)+s(1504) s(1509) =< s(1500)*(5/7)+s(1504) s(1505) =< s(1500)*(5/7)+s(1504) s(1506) =< s(1500)*(5/7)+s(1504) s(1516) =< s(1507)*s(1512) s(1517) =< s(1507)*s(1513) s(1518) =< s(1505)*s(1513) s(1519) =< s(1506)*s(1514) s(1520) =< s(1509)*s(1513) s(1521) =< s(1509)*s(1514) s(1522) =< s(1510)*s(1514) s(1523) =< s(1511)*aux(116) s(1524) =< s(1517)*(5/2) s(1525) =< s(1517)*(1/2) s(1526) =< s(1517)*2 s(1527) =< s(1515) s(1528) =< s(1517) s(1529) =< s(1517) s(1530) =< s(1517) s(1528) =< s(1525) s(1529) =< s(1525) s(1530) =< s(1525) s(1530) =< s(1516) s(1531) =< s(1516) s(1530) =< s(1524) s(1531) =< s(1524) s(1532) =< s(1528)*2 s(1533) =< s(1526) s(1534) =< s(1531) s(1535) =< s(1532) s(1536) =< s(1518) s(1537) =< s(1519) s(1538) =< s(1520) s(1539) =< s(1508) s(1540) =< s(1522) s(1541) =< s(1523) with precondition: [Out>=2,V+2>=3*Out] * Chain [59]: 2*s(1562)+3*s(1563)+37*s(1564)+4*s(1566)+1*s(1567)+3*s(1568)+2*s(1578)+15*s(1584)+16*s(1586)+8*s(1587)+16*s(1590)+16*s(1591)+20*s(1592)+5*s(1593)+5*s(1594)+4*s(1595)+5*s(1596)+4*s(1597)+9*s(1598)+5*s(1605)+4*s(1607)+2*s(1608)+4*s(1611)+4*s(1612)+5*s(1613)+7 Such that:s(1599) =< 2 s(1557) =< V+1 s(1600) =< 2*V s(1560) =< V/3 s(1561) =< 2/7*V s(1601) =< 5/2*V s(1602) =< 5/2*V+27/2 aux(118) =< V aux(119) =< V/2 s(1605) =< s(1599) s(1606) =< aux(118) s(1607) =< aux(118) s(1608) =< aux(118) s(1606) =< aux(119) s(1607) =< aux(119) s(1608) =< aux(119) s(1608) =< s(1602) s(1609) =< s(1602) s(1608) =< s(1601) s(1609) =< s(1601) s(1610) =< s(1606)*2 s(1611) =< s(1600) s(1612) =< s(1609) s(1613) =< s(1610) s(1562) =< aux(118) s(1563) =< aux(118) s(1564) =< aux(118) s(1565) =< aux(119) s(1566) =< aux(119) s(1563) =< aux(119) s(1567) =< s(1560) s(1568) =< s(1561) s(1569) =< aux(118)*(5/2)+16 s(1570) =< aux(118)+1 s(1571) =< aux(118) s(1572) =< aux(118)*2 s(1566) =< s(1557)*(1/2)+aux(119) s(1562) =< s(1557)*(1/2)+aux(119) s(1563) =< s(1557)*(1/2)+aux(119) s(1565) =< s(1557)*(1/2)+aux(119) s(1567) =< s(1557)*(2/3)+s(1560) s(1566) =< s(1557)*(2/3)+s(1560) s(1562) =< s(1557)*(2/3)+s(1560) s(1563) =< s(1557)*(2/3)+s(1560) s(1568) =< s(1557)*(5/7)+s(1561) s(1567) =< s(1557)*(5/7)+s(1561) s(1566) =< s(1557)*(5/7)+s(1561) s(1562) =< s(1557)*(5/7)+s(1561) s(1563) =< s(1557)*(5/7)+s(1561) s(1573) =< s(1564)*s(1569) s(1574) =< s(1564)*s(1570) s(1575) =< s(1562)*s(1570) s(1576) =< s(1563)*s(1571) s(1577) =< s(1566)*s(1570) s(1578) =< s(1566)*s(1571) s(1579) =< s(1567)*s(1571) s(1580) =< s(1568)*aux(118) s(1581) =< s(1574)*(5/2) s(1582) =< s(1574)*(1/2) s(1583) =< s(1574)*2 s(1584) =< s(1572) s(1585) =< s(1574) s(1586) =< s(1574) s(1587) =< s(1574) s(1585) =< s(1582) s(1586) =< s(1582) s(1587) =< s(1582) s(1587) =< s(1573) s(1588) =< s(1573) s(1587) =< s(1581) s(1588) =< s(1581) s(1589) =< s(1585)*2 s(1590) =< s(1583) s(1591) =< s(1588) s(1592) =< s(1589) s(1593) =< s(1575) s(1594) =< s(1576) s(1595) =< s(1577) s(1596) =< s(1565) s(1597) =< s(1579) s(1598) =< s(1580) with precondition: [Out>=3,V+7>=4*Out] #### Cost of chains of start(V,V2): * Chain [65]: 441*s(1615)+795*s(1619)+10*s(1620)+4*s(1623)+30*s(1632)+32*s(1639)+16*s(1640)+32*s(1643)+32*s(1644)+40*s(1645)+42*s(1681)+63*s(1682)+84*s(1685)+21*s(1686)+63*s(1687)+42*s(1697)+315*s(1703)+336*s(1705)+168*s(1706)+336*s(1709)+336*s(1710)+420*s(1711)+105*s(1712)+105*s(1713)+84*s(1714)+105*s(1715)+84*s(1716)+189*s(1717)+22*s(1892)+33*s(1893)+44*s(1895)+11*s(1896)+33*s(1897)+22*s(1907)+165*s(1913)+176*s(1915)+88*s(1916)+176*s(1919)+176*s(1920)+220*s(1921)+55*s(1922)+55*s(1923)+44*s(1924)+55*s(1925)+44*s(1926)+99*s(1927)+2*s(2182)+5*s(2183)+15 Such that:aux(120) =< 1 aux(121) =< 2 aux(122) =< V aux(123) =< V+1 aux(124) =< V-V2+1 aux(125) =< 2*V aux(126) =< V/2 aux(127) =< V/3 aux(128) =< 2/7*V aux(129) =< 5/2*V aux(130) =< 5/2*V+27/2 aux(131) =< V2 aux(132) =< V2+1 aux(133) =< V2/2 aux(134) =< V2/3 aux(135) =< 2/7*V2 s(1623) =< aux(124) s(1615) =< aux(131) s(1619) =< aux(122) s(1620) =< aux(120) s(1892) =< aux(131) s(1893) =< aux(131) s(1894) =< aux(133) s(1895) =< aux(133) s(1893) =< aux(133) s(1896) =< aux(134) s(1897) =< aux(135) s(1898) =< aux(131)*(5/2)+16 s(1899) =< aux(131)+1 s(1900) =< aux(131) s(1901) =< aux(131)*2 s(1895) =< aux(132)*(1/2)+aux(133) s(1892) =< aux(132)*(1/2)+aux(133) s(1893) =< aux(132)*(1/2)+aux(133) s(1894) =< aux(132)*(1/2)+aux(133) s(1896) =< aux(132)*(2/3)+aux(134) s(1895) =< aux(132)*(2/3)+aux(134) s(1892) =< aux(132)*(2/3)+aux(134) s(1893) =< aux(132)*(2/3)+aux(134) s(1897) =< aux(132)*(5/7)+aux(135) s(1896) =< aux(132)*(5/7)+aux(135) s(1895) =< aux(132)*(5/7)+aux(135) s(1892) =< aux(132)*(5/7)+aux(135) s(1893) =< aux(132)*(5/7)+aux(135) s(1902) =< s(1615)*s(1898) s(1903) =< s(1615)*s(1899) s(1904) =< s(1892)*s(1899) s(1905) =< s(1893)*s(1900) s(1906) =< s(1895)*s(1899) s(1907) =< s(1895)*s(1900) s(1908) =< s(1896)*s(1900) s(1909) =< s(1897)*aux(131) s(1910) =< s(1903)*(5/2) s(1911) =< s(1903)*(1/2) s(1912) =< s(1903)*2 s(1913) =< s(1901) s(1914) =< s(1903) s(1915) =< s(1903) s(1916) =< s(1903) s(1914) =< s(1911) s(1915) =< s(1911) s(1916) =< s(1911) s(1916) =< s(1902) s(1917) =< s(1902) s(1916) =< s(1910) s(1917) =< s(1910) s(1918) =< s(1914)*2 s(1919) =< s(1912) s(1920) =< s(1917) s(1921) =< s(1918) s(1922) =< s(1904) s(1923) =< s(1905) s(1924) =< s(1906) s(1925) =< s(1894) s(1926) =< s(1908) s(1927) =< s(1909) s(1681) =< aux(122) s(1682) =< aux(122) s(1684) =< aux(126) s(1685) =< aux(126) s(1682) =< aux(126) s(1686) =< aux(127) s(1687) =< aux(128) s(1688) =< aux(122)*(5/2)+16 s(1689) =< aux(122)+1 s(1690) =< aux(122) s(1691) =< aux(122)*2 s(1685) =< aux(123)*(1/2)+aux(126) s(1681) =< aux(123)*(1/2)+aux(126) s(1682) =< aux(123)*(1/2)+aux(126) s(1684) =< aux(123)*(1/2)+aux(126) s(1686) =< aux(123)*(2/3)+aux(127) s(1685) =< aux(123)*(2/3)+aux(127) s(1681) =< aux(123)*(2/3)+aux(127) s(1682) =< aux(123)*(2/3)+aux(127) s(1687) =< aux(123)*(5/7)+aux(128) s(1686) =< aux(123)*(5/7)+aux(128) s(1685) =< aux(123)*(5/7)+aux(128) s(1681) =< aux(123)*(5/7)+aux(128) s(1682) =< aux(123)*(5/7)+aux(128) s(1692) =< s(1619)*s(1688) s(1693) =< s(1619)*s(1689) s(1694) =< s(1681)*s(1689) s(1695) =< s(1682)*s(1690) s(1696) =< s(1685)*s(1689) s(1697) =< s(1685)*s(1690) s(1698) =< s(1686)*s(1690) s(1699) =< s(1687)*aux(122) s(1700) =< s(1693)*(5/2) s(1701) =< s(1693)*(1/2) s(1702) =< s(1693)*2 s(1703) =< s(1691) s(1704) =< s(1693) s(1705) =< s(1693) s(1706) =< s(1693) s(1704) =< s(1701) s(1705) =< s(1701) s(1706) =< s(1701) s(1706) =< s(1692) s(1707) =< s(1692) s(1706) =< s(1700) s(1707) =< s(1700) s(1708) =< s(1704)*2 s(1709) =< s(1702) s(1710) =< s(1707) s(1711) =< s(1708) s(1712) =< s(1694) s(1713) =< s(1695) s(1714) =< s(1696) s(1715) =< s(1684) s(1716) =< s(1698) s(1717) =< s(1699) s(2182) =< aux(123) s(2183) =< aux(123) s(2182) =< aux(122) s(1632) =< aux(121) s(1638) =< aux(122) s(1639) =< aux(122) s(1640) =< aux(122) s(1638) =< aux(126) s(1639) =< aux(126) s(1640) =< aux(126) s(1640) =< aux(130) s(1641) =< aux(130) s(1640) =< aux(129) s(1641) =< aux(129) s(1642) =< s(1638)*2 s(1643) =< aux(125) s(1644) =< s(1641) s(1645) =< s(1642) s(1623) =< aux(122) with precondition: [] Closed-form bounds of start(V,V2): ------------------------------------- * Chain [65] with precondition: [] - Upper bound: nat(V)*9155+85+nat(V)*3066*nat(V)+nat(V)*189*nat(2/7*V)+nat(V)*126*nat(V/2)+nat(V)*84*nat(V/3)+nat(V2)*4753+nat(V2)*1606*nat(V2)+nat(V2)*99*nat(2/7*V2)+nat(V2)*66*nat(V2/2)+nat(V2)*44*nat(V2/3)+nat(2*V)*32+nat(2/7*V)*63+nat(2/7*V2)*33+nat(V+1)*7+nat(5/2*V+27/2)*32+nat(V-V2+1)*4+nat(V/2)*273+nat(V/3)*21+nat(V2/2)*143+nat(V2/3)*11 - Complexity: n^2 ### Maximum cost of start(V,V2): nat(V)*9155+85+nat(V)*3066*nat(V)+nat(V)*189*nat(2/7*V)+nat(V)*126*nat(V/2)+nat(V)*84*nat(V/3)+nat(V2)*4753+nat(V2)*1606*nat(V2)+nat(V2)*99*nat(2/7*V2)+nat(V2)*66*nat(V2/2)+nat(V2)*44*nat(V2/3)+nat(2*V)*32+nat(2/7*V)*63+nat(2/7*V2)*33+nat(V+1)*7+nat(5/2*V+27/2)*32+nat(V-V2+1)*4+nat(V/2)*273+nat(V/3)*21+nat(V2/2)*143+nat(V2/3)*11 Asymptotic class: n^2 * Total analysis performed in 6394 ms. ---------------------------------------- (14) BOUNDS(1, n^2) ---------------------------------------- (15) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (16) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: pred(s(x)) -> x minus(x, 0') -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0', s(y)) -> 0' quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0')) -> 0' log(s(s(x))) -> s(log(s(quot(x, s(s(0')))))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (17) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (18) Obligation: Innermost TRS: Rules: pred(s(x)) -> x minus(x, 0') -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0', s(y)) -> 0' quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0')) -> 0' log(s(s(x))) -> s(log(s(quot(x, s(s(0')))))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Types: pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log 0' :: s:0':cons_pred:cons_minus:cons_quot:cons_log quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encArg :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_0 :: s:0':cons_pred:cons_minus:cons_quot:cons_log encode_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log hole_s:0':cons_pred:cons_minus:cons_quot:cons_log1_3 :: s:0':cons_pred:cons_minus:cons_quot:cons_log gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3 :: Nat -> s:0':cons_pred:cons_minus:cons_quot:cons_log ---------------------------------------- (19) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: minus, quot, log, encArg They will be analysed ascendingly in the following order: minus < quot minus < encArg quot < log quot < encArg log < encArg ---------------------------------------- (20) Obligation: Innermost TRS: Rules: pred(s(x)) -> x minus(x, 0') -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0', s(y)) -> 0' quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0')) -> 0' log(s(s(x))) -> s(log(s(quot(x, s(s(0')))))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Types: pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log 0' :: s:0':cons_pred:cons_minus:cons_quot:cons_log quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encArg :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_0 :: s:0':cons_pred:cons_minus:cons_quot:cons_log encode_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log hole_s:0':cons_pred:cons_minus:cons_quot:cons_log1_3 :: s:0':cons_pred:cons_minus:cons_quot:cons_log gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3 :: Nat -> s:0':cons_pred:cons_minus:cons_quot:cons_log Generator Equations: gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0) <=> 0' gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(x, 1)) <=> s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(x)) The following defined symbols remain to be analysed: minus, quot, log, encArg They will be analysed ascendingly in the following order: minus < quot minus < encArg quot < log quot < encArg log < encArg ---------------------------------------- (21) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(a), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(1, n4_3))) -> *3_3, rt in Omega(n4_3) Induction Base: minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(a), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(1, 0))) Induction Step: minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(a), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(1, +(n4_3, 1)))) ->_R^Omega(1) pred(minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(a), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(1, n4_3)))) ->_IH pred(*3_3) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (22) Complex Obligation (BEST) ---------------------------------------- (23) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: pred(s(x)) -> x minus(x, 0') -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0', s(y)) -> 0' quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0')) -> 0' log(s(s(x))) -> s(log(s(quot(x, s(s(0')))))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Types: pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log 0' :: s:0':cons_pred:cons_minus:cons_quot:cons_log quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encArg :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_0 :: s:0':cons_pred:cons_minus:cons_quot:cons_log encode_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log hole_s:0':cons_pred:cons_minus:cons_quot:cons_log1_3 :: s:0':cons_pred:cons_minus:cons_quot:cons_log gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3 :: Nat -> s:0':cons_pred:cons_minus:cons_quot:cons_log Generator Equations: gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0) <=> 0' gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(x, 1)) <=> s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(x)) The following defined symbols remain to be analysed: minus, quot, log, encArg They will be analysed ascendingly in the following order: minus < quot minus < encArg quot < log quot < encArg log < encArg ---------------------------------------- (24) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (25) BOUNDS(n^1, INF) ---------------------------------------- (26) Obligation: Innermost TRS: Rules: pred(s(x)) -> x minus(x, 0') -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0', s(y)) -> 0' quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0')) -> 0' log(s(s(x))) -> s(log(s(quot(x, s(s(0')))))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Types: pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log 0' :: s:0':cons_pred:cons_minus:cons_quot:cons_log quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encArg :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_0 :: s:0':cons_pred:cons_minus:cons_quot:cons_log encode_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log hole_s:0':cons_pred:cons_minus:cons_quot:cons_log1_3 :: s:0':cons_pred:cons_minus:cons_quot:cons_log gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3 :: Nat -> s:0':cons_pred:cons_minus:cons_quot:cons_log Lemmas: minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(a), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(1, n4_3))) -> *3_3, rt in Omega(n4_3) Generator Equations: gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0) <=> 0' gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(x, 1)) <=> s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(x)) The following defined symbols remain to be analysed: quot, log, encArg They will be analysed ascendingly in the following order: quot < log quot < encArg log < encArg ---------------------------------------- (27) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: quot(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n4813_3), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(1)) -> gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n4813_3), rt in Omega(1 + n4813_3) Induction Base: quot(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(1)) ->_R^Omega(1) 0' Induction Step: quot(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(n4813_3, 1)), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(1)) ->_R^Omega(1) s(quot(minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n4813_3), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0)), s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0)))) ->_R^Omega(1) s(quot(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n4813_3), s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0)))) ->_IH s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(c4814_3)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (28) Obligation: Innermost TRS: Rules: pred(s(x)) -> x minus(x, 0') -> x minus(x, s(y)) -> pred(minus(x, y)) quot(0', s(y)) -> 0' quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) log(s(0')) -> 0' log(s(s(x))) -> s(log(s(quot(x, s(s(0')))))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(cons_pred(x_1)) -> pred(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_quot(x_1, x_2)) -> quot(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_pred(x_1) -> pred(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_quot(x_1, x_2) -> quot(encArg(x_1), encArg(x_2)) encode_log(x_1) -> log(encArg(x_1)) Types: pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log 0' :: s:0':cons_pred:cons_minus:cons_quot:cons_log quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encArg :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log cons_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_pred :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_s :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_minus :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_0 :: s:0':cons_pred:cons_minus:cons_quot:cons_log encode_quot :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log encode_log :: s:0':cons_pred:cons_minus:cons_quot:cons_log -> s:0':cons_pred:cons_minus:cons_quot:cons_log hole_s:0':cons_pred:cons_minus:cons_quot:cons_log1_3 :: s:0':cons_pred:cons_minus:cons_quot:cons_log gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3 :: Nat -> s:0':cons_pred:cons_minus:cons_quot:cons_log Lemmas: minus(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(a), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(1, n4_3))) -> *3_3, rt in Omega(n4_3) quot(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n4813_3), gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(1)) -> gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n4813_3), rt in Omega(1 + n4813_3) Generator Equations: gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0) <=> 0' gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(x, 1)) <=> s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(x)) The following defined symbols remain to be analysed: log, encArg They will be analysed ascendingly in the following order: log < encArg ---------------------------------------- (29) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n9996_3)) -> gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n9996_3), rt in Omega(0) Induction Base: encArg(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(0)) ->_R^Omega(0) 0' Induction Step: encArg(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(+(n9996_3, 1))) ->_R^Omega(0) s(encArg(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(n9996_3))) ->_IH s(gen_s:0':cons_pred:cons_minus:cons_quot:cons_log2_3(c9997_3)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (30) BOUNDS(1, INF)