/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), 223 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, 12.3 s] (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), 257 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), 268 ms] (28) 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: half(x) -> if(ge(x, s(s(0))), x) if(false, x) -> 0 if(true, x) -> s(half(p(p(x)))) p(0) -> 0 p(s(x)) -> x ge(x, 0) -> true ge(0, s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0) -> 0 log(s(x)) -> s(log(half(s(x)))) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) 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: half(x) -> if(ge(x, s(s(0))), x) if(false, x) -> 0 if(true, x) -> s(half(p(p(x)))) p(0) -> 0 p(s(x)) -> x ge(x, 0) -> true ge(0, s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0) -> 0 log(s(x)) -> s(log(half(s(x)))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) 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: half(x) -> if(ge(x, s(s(0))), x) if(false, x) -> 0 if(true, x) -> s(half(p(p(x)))) p(0) -> 0 p(s(x)) -> x ge(x, 0) -> true ge(0, s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0) -> 0 log(s(x)) -> s(log(half(s(x)))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0) -> 0 encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) 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: half(x) -> if(ge(x, s(s(0))), x) [1] if(false, x) -> 0 [1] if(true, x) -> s(half(p(p(x)))) [1] p(0) -> 0 [1] p(s(x)) -> x [1] ge(x, 0) -> true [1] ge(0, s(x)) -> false [1] ge(s(x), s(y)) -> ge(x, y) [1] log(0) -> 0 [1] log(s(x)) -> s(log(half(s(x)))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(true) -> true [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encode_half(x_1) -> half(encArg(x_1)) [0] encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) [0] encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_false -> false [0] encode_true -> true [0] encode_p(x_1) -> p(encArg(x_1)) [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: half(x) -> if(ge(x, s(s(0))), x) [1] if(false, x) -> 0 [1] if(true, x) -> s(half(p(p(x)))) [1] p(0) -> 0 [1] p(s(x)) -> x [1] ge(x, 0) -> true [1] ge(0, s(x)) -> false [1] ge(s(x), s(y)) -> ge(x, y) [1] log(0) -> 0 [1] log(s(x)) -> s(log(half(s(x)))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(true) -> true [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encode_half(x_1) -> half(encArg(x_1)) [0] encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) [0] encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_false -> false [0] encode_true -> true [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] The TRS has the following type information: half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log s :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log 0 :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log false :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log true :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encArg :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_s :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_0 :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_false :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_true :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge: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_half(v0) -> null_encode_half [0] encode_if(v0, v1) -> null_encode_if [0] encode_ge(v0, v1) -> null_encode_ge [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_false -> null_encode_false [0] encode_true -> null_encode_true [0] encode_p(v0) -> null_encode_p [0] encode_log(v0) -> null_encode_log [0] if(v0, v1) -> null_if [0] p(v0) -> null_p [0] ge(v0, v1) -> null_ge [0] log(v0) -> null_log [0] And the following fresh constants: null_encArg, null_encode_half, null_encode_if, null_encode_ge, null_encode_s, null_encode_0, null_encode_false, null_encode_true, null_encode_p, null_encode_log, null_if, null_p, null_ge, 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: half(x) -> if(ge(x, s(s(0))), x) [1] if(false, x) -> 0 [1] if(true, x) -> s(half(p(p(x)))) [1] p(0) -> 0 [1] p(s(x)) -> x [1] ge(x, 0) -> true [1] ge(0, s(x)) -> false [1] ge(s(x), s(y)) -> ge(x, y) [1] log(0) -> 0 [1] log(s(x)) -> s(log(half(s(x)))) [1] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(0) -> 0 [0] encArg(false) -> false [0] encArg(true) -> true [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encode_half(x_1) -> half(encArg(x_1)) [0] encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) [0] encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_false -> false [0] encode_true -> true [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] encArg(v0) -> null_encArg [0] encode_half(v0) -> null_encode_half [0] encode_if(v0, v1) -> null_encode_if [0] encode_ge(v0, v1) -> null_encode_ge [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_false -> null_encode_false [0] encode_true -> null_encode_true [0] encode_p(v0) -> null_encode_p [0] encode_log(v0) -> null_encode_log [0] if(v0, v1) -> null_if [0] p(v0) -> null_p [0] ge(v0, v1) -> null_ge [0] log(v0) -> null_log [0] The TRS has the following type information: half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log s :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log 0 :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log false :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log true :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encArg :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log cons_half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log cons_if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log cons_p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log cons_ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log cons_log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_s :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_0 :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_false :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_true :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log encode_log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log -> 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encArg :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_half :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_s :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_0 :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_false :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_true :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_encode_log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_if :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_p :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_ge :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge:null_log null_log :: 0:s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log:null_encArg:null_encode_half:null_encode_if:null_encode_ge:null_encode_s:null_encode_0:null_encode_false:null_encode_true:null_encode_p:null_encode_log:null_if:null_p:null_ge: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 false => 1 true => 2 null_encArg => 0 null_encode_half => 0 null_encode_if => 0 null_encode_ge => 0 null_encode_s => 0 null_encode_0 => 0 null_encode_false => 0 null_encode_true => 0 null_encode_p => 0 null_encode_log => 0 null_if => 0 null_p => 0 null_ge => 0 null_log => 0 ---------------------------------------- (12) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> p(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> log(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> half(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> ge(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_ge(z, z') -{ 0 }-> ge(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_ge(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_half(z) -{ 0 }-> half(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_if(z, z') -{ 0 }-> if(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_if(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_log(z) -{ 0 }-> log(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_log(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 0 }-> p(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: ge(z, z') -{ 1 }-> ge(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x ge(z, z') -{ 1 }-> 2 :|: x >= 0, z = x, z' = 0 ge(z, z') -{ 1 }-> 1 :|: z' = 1 + x, x >= 0, z = 0 ge(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 half(z) -{ 1 }-> if(ge(x, 1 + (1 + 0)), x) :|: x >= 0, z = x if(z, z') -{ 1 }-> 0 :|: z' = x, z = 1, x >= 0 if(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 if(z, z') -{ 1 }-> 1 + half(p(p(x))) :|: z = 2, z' = x, x >= 0 log(z) -{ 1 }-> 0 :|: z = 0 log(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 log(z) -{ 1 }-> 1 + log(half(1 + x)) :|: x >= 0, z = 1 + x p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 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,[half(V, Out)],[V >= 0]). eq(start(V, V2),0,[if(V, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[p(V, Out)],[V >= 0]). eq(start(V, V2),0,[ge(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, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[fun2(V, V2, Out)],[V >= 0,V2 >= 0]). eq(start(V, V2),0,[fun3(V, Out)],[V >= 0]). eq(start(V, V2),0,[fun4(Out)],[]). eq(start(V, V2),0,[fun5(Out)],[]). eq(start(V, V2),0,[fun6(Out)],[]). eq(start(V, V2),0,[fun7(V, Out)],[V >= 0]). eq(start(V, V2),0,[fun8(V, Out)],[V >= 0]). eq(half(V, Out),1,[ge(V1, 1 + (1 + 0), Ret0),if(Ret0, V1, Ret)],[Out = Ret,V1 >= 0,V = V1]). eq(if(V, V2, Out),1,[],[Out = 0,V2 = V3,V = 1,V3 >= 0]). eq(if(V, V2, Out),1,[p(V4, Ret100),p(Ret100, Ret10),half(Ret10, Ret1)],[Out = 1 + Ret1,V = 2,V2 = V4,V4 >= 0]). eq(p(V, Out),1,[],[Out = 0,V = 0]). eq(p(V, Out),1,[],[Out = V5,V5 >= 0,V = 1 + V5]). eq(ge(V, V2, Out),1,[],[Out = 2,V6 >= 0,V = V6,V2 = 0]). eq(ge(V, V2, Out),1,[],[Out = 1,V2 = 1 + V7,V7 >= 0,V = 0]). eq(ge(V, V2, Out),1,[ge(V8, V9, Ret2)],[Out = Ret2,V2 = 1 + V9,V8 >= 0,V9 >= 0,V = 1 + V8]). eq(log(V, Out),1,[],[Out = 0,V = 0]). eq(log(V, Out),1,[half(1 + V10, Ret101),log(Ret101, Ret11)],[Out = 1 + Ret11,V10 >= 0,V = 1 + V10]). eq(encArg(V, Out),0,[encArg(V11, Ret12)],[Out = 1 + Ret12,V = 1 + V11,V11 >= 0]). eq(encArg(V, Out),0,[],[Out = 0,V = 0]). eq(encArg(V, Out),0,[],[Out = 1,V = 1]). eq(encArg(V, Out),0,[],[Out = 2,V = 2]). eq(encArg(V, Out),0,[encArg(V12, Ret01),half(Ret01, Ret3)],[Out = Ret3,V = 1 + V12,V12 >= 0]). eq(encArg(V, Out),0,[encArg(V13, Ret02),encArg(V14, Ret13),if(Ret02, Ret13, Ret4)],[Out = Ret4,V13 >= 0,V = 1 + V13 + V14,V14 >= 0]). eq(encArg(V, Out),0,[encArg(V15, Ret03),p(Ret03, Ret5)],[Out = Ret5,V = 1 + V15,V15 >= 0]). eq(encArg(V, Out),0,[encArg(V17, Ret04),encArg(V16, Ret14),ge(Ret04, Ret14, Ret6)],[Out = Ret6,V17 >= 0,V = 1 + V16 + V17,V16 >= 0]). eq(encArg(V, Out),0,[encArg(V18, Ret05),log(Ret05, Ret7)],[Out = Ret7,V = 1 + V18,V18 >= 0]). eq(fun(V, Out),0,[encArg(V19, Ret06),half(Ret06, Ret8)],[Out = Ret8,V19 >= 0,V = V19]). eq(fun1(V, V2, Out),0,[encArg(V21, Ret07),encArg(V20, Ret15),if(Ret07, Ret15, Ret9)],[Out = Ret9,V21 >= 0,V20 >= 0,V = V21,V2 = V20]). eq(fun2(V, V2, Out),0,[encArg(V23, Ret08),encArg(V22, Ret16),ge(Ret08, Ret16, Ret17)],[Out = Ret17,V23 >= 0,V22 >= 0,V = V23,V2 = V22]). eq(fun3(V, Out),0,[encArg(V24, Ret18)],[Out = 1 + Ret18,V24 >= 0,V = V24]). eq(fun4(Out),0,[],[Out = 0]). eq(fun5(Out),0,[],[Out = 1]). eq(fun6(Out),0,[],[Out = 2]). eq(fun7(V, Out),0,[encArg(V25, Ret09),p(Ret09, Ret19)],[Out = Ret19,V25 >= 0,V = V25]). eq(fun8(V, Out),0,[encArg(V26, Ret010),log(Ret010, Ret20)],[Out = Ret20,V26 >= 0,V = V26]). eq(encArg(V, Out),0,[],[Out = 0,V27 >= 0,V = V27]). eq(fun(V, Out),0,[],[Out = 0,V28 >= 0,V = V28]). eq(fun1(V, V2, Out),0,[],[Out = 0,V30 >= 0,V29 >= 0,V = V30,V2 = V29]). eq(fun2(V, V2, Out),0,[],[Out = 0,V31 >= 0,V32 >= 0,V = V31,V2 = V32]). eq(fun3(V, Out),0,[],[Out = 0,V33 >= 0,V = V33]). eq(fun5(Out),0,[],[Out = 0]). eq(fun6(Out),0,[],[Out = 0]). eq(fun7(V, Out),0,[],[Out = 0,V34 >= 0,V = V34]). eq(fun8(V, Out),0,[],[Out = 0,V35 >= 0,V = V35]). eq(if(V, V2, Out),0,[],[Out = 0,V36 >= 0,V37 >= 0,V = V36,V2 = V37]). eq(p(V, Out),0,[],[Out = 0,V38 >= 0,V = V38]). eq(ge(V, V2, Out),0,[],[Out = 0,V39 >= 0,V40 >= 0,V = V39,V2 = V40]). eq(log(V, Out),0,[],[Out = 0,V41 >= 0,V = V41]). input_output_vars(half(V,Out),[V],[Out]). input_output_vars(if(V,V2,Out),[V,V2],[Out]). input_output_vars(p(V,Out),[V],[Out]). input_output_vars(ge(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,V2,Out),[V,V2],[Out]). input_output_vars(fun2(V,V2,Out),[V,V2],[Out]). input_output_vars(fun3(V,Out),[V],[Out]). input_output_vars(fun4(Out),[],[Out]). input_output_vars(fun5(Out),[],[Out]). input_output_vars(fun6(Out),[],[Out]). input_output_vars(fun7(V,Out),[V],[Out]). input_output_vars(fun8(V,Out),[V],[Out]). CoFloCo proof output: Preprocessing Cost Relations ===================================== #### Computed strongly connected components 0. recursive : [ge/3] 1. non_recursive : [p/2] 2. recursive : [half/2,if/3] 3. recursive : [log/2] 4. recursive [non_tail,multiple] : [encArg/2] 5. non_recursive : [fun/2] 6. non_recursive : [fun1/3] 7. non_recursive : [fun2/3] 8. non_recursive : [fun3/2] 9. non_recursive : [fun4/1] 10. non_recursive : [fun5/1] 11. non_recursive : [fun6/1] 12. non_recursive : [fun7/2] 13. non_recursive : [fun8/2] 14. non_recursive : [start/2] #### Obtained direct recursion through partial evaluation 0. SCC is partially evaluated into ge/3 1. SCC is partially evaluated into p/2 2. SCC is partially evaluated into half/2 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/3 7. SCC is partially evaluated into fun2/3 8. SCC is partially evaluated into fun3/2 9. SCC is completely evaluated into other SCCs 10. SCC is partially evaluated into fun5/1 11. SCC is partially evaluated into fun6/1 12. SCC is partially evaluated into fun7/2 13. SCC is partially evaluated into fun8/2 14. SCC is partially evaluated into start/2 Control-Flow Refinement of Cost Relations ===================================== ### Specialization of cost equations ge/3 * CE 26 is refined into CE [59] * CE 23 is refined into CE [60] * CE 24 is refined into CE [61] * CE 25 is refined into CE [62] ### Cost equations --> "Loop" of ge/3 * CEs [62] --> Loop 28 * CEs [59] --> Loop 29 * CEs [60] --> Loop 30 * CEs [61] --> Loop 31 ### Ranking functions of CR ge(V,V2,Out) * RF of phase [28]: [V,V2] #### Partial ranking functions of CR ge(V,V2,Out) * Partial RF of phase [28]: - RF of loop [28:1]: V V2 ### Specialization of cost equations p/2 * CE 18 is refined into CE [63] * CE 17 is refined into CE [64] * CE 19 is refined into CE [65] ### Cost equations --> "Loop" of p/2 * CEs [63] --> Loop 32 * CEs [64,65] --> Loop 33 ### Ranking functions of CR p(V,Out) #### Partial ranking functions of CR p(V,Out) ### Specialization of cost equations half/2 * CE 20 is refined into CE [66,67,68,69] * CE 22 is refined into CE [70,71] * CE 21 is refined into CE [72,73,74] ### Cost equations --> "Loop" of half/2 * CEs [74] --> Loop 34 * CEs [72,73] --> Loop 35 * CEs [68,71] --> Loop 36 * CEs [66,67,69,70] --> Loop 37 ### Ranking functions of CR half(V,Out) * RF of phase [34]: [V-1] #### Partial ranking functions of CR half(V,Out) * Partial RF of phase [34]: - RF of loop [34:1]: V-1 ### Specialization of cost equations log/2 * CE 27 is refined into CE [75] * CE 29 is refined into CE [76] * CE 28 is refined into CE [77,78,79] ### Cost equations --> "Loop" of log/2 * CEs [78,79] --> Loop 38 * CEs [77] --> Loop 39 * CEs [75,76] --> Loop 40 ### Ranking functions of CR log(V,Out) * RF of phase [38]: [V-1] #### Partial ranking functions of CR log(V,Out) * Partial RF of phase [38]: - RF of loop [38:1]: V-1 ### Specialization of cost equations encArg/2 * CE 34 is refined into CE [80] * CE 36 is refined into CE [81] * CE 35 is refined into CE [82] * CE 33 is refined into CE [83] * CE 37 is refined into CE [84,85,86] * CE 38 is refined into CE [87,88] * CE 40 is refined into CE [89,90,91,92] * CE 31 is refined into CE [93,94,95,96,97] * CE 30 is refined into CE [98] * CE 32 is refined into CE [99] * CE 39 is refined into CE [100,101,102,103,104] ### Cost equations --> "Loop" of encArg/2 * CEs [96,97] --> Loop 41 * CEs [104] --> Loop 42 * CEs [101] --> Loop 43 * CEs [103] --> Loop 44 * CEs [93,94,95] --> Loop 45 * CEs [100] --> Loop 46 * CEs [98,99,102] --> Loop 47 * CEs [92] --> Loop 48 * CEs [85,86,91] --> Loop 49 * CEs [83] --> Loop 50 * CEs [88] --> Loop 51 * CEs [90] --> Loop 52 * CEs [84,87,89] --> Loop 53 * CEs [80] --> Loop 54 * CEs [81] --> Loop 55 * CEs [82] --> Loop 56 ### Ranking functions of CR encArg(V,Out) * RF of phase [41,42,43,44,45,46,47,48,49,50,51,52,53]: [V] #### Partial ranking functions of CR encArg(V,Out) * Partial RF of phase [41,42,43,44,45,46,47,48,49,50,51,52,53]: - RF of loop [41:1,41:2,42:1,42:2,43:1,43:2,44:1,44:2,45:1,45:2,46:1,46:2,47:1,47:2,48:1,49:1,50:1,51:1,52:1,53:1]: V ### Specialization of cost equations fun/2 * CE 41 is refined into CE [105,106,107,108,109,110] * CE 42 is refined into CE [111] ### Cost equations --> "Loop" of fun/2 * CEs [106,107,109] --> Loop 57 * CEs [105,108,110,111] --> Loop 58 ### Ranking functions of CR fun(V,Out) #### Partial ranking functions of CR fun(V,Out) ### Specialization of cost equations fun1/3 * CE 43 is refined into CE [112,113,114,115,116,117,118,119,120] * CE 44 is refined into CE [121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138] * CE 45 is refined into CE [139,140,141] * CE 46 is refined into CE [142] ### Cost equations --> "Loop" of fun1/3 * CEs [125] --> Loop 59 * CEs [126,127,128] --> Loop 60 * CEs [113,119,140] --> Loop 61 * CEs [124,133,134] --> Loop 62 * CEs [121,122,123,129,130,131,132,135,136,137,138] --> Loop 63 * CEs [112,114,115,116,117,118,120,139,141,142] --> Loop 64 ### Ranking functions of CR fun1(V,V2,Out) #### Partial ranking functions of CR fun1(V,V2,Out) ### Specialization of cost equations fun2/3 * CE 47 is refined into CE [143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168] * CE 48 is refined into CE [169] ### Cost equations --> "Loop" of fun2/3 * CEs [151] --> Loop 65 * CEs [148,150,165] --> Loop 66 * CEs [149,166] --> Loop 67 * CEs [143,146,156,162] --> Loop 68 * CEs [144,147,152,154,157,159,160,163,167] --> Loop 69 * CEs [145,153,155,158,161,164,168,169] --> Loop 70 ### Ranking functions of CR fun2(V,V2,Out) #### Partial ranking functions of CR fun2(V,V2,Out) ### Specialization of cost equations fun3/2 * CE 49 is refined into CE [170,171,172] * CE 50 is refined into CE [173] ### Cost equations --> "Loop" of fun3/2 * CEs [172] --> Loop 71 * CEs [173] --> Loop 72 * CEs [170,171] --> Loop 73 ### Ranking functions of CR fun3(V,Out) #### Partial ranking functions of CR fun3(V,Out) ### Specialization of cost equations fun5/1 * CE 51 is refined into CE [174] * CE 52 is refined into CE [175] ### Cost equations --> "Loop" of fun5/1 * CEs [174] --> Loop 74 * CEs [175] --> Loop 75 ### Ranking functions of CR fun5(Out) #### Partial ranking functions of CR fun5(Out) ### Specialization of cost equations fun6/1 * CE 53 is refined into CE [176] * CE 54 is refined into CE [177] ### Cost equations --> "Loop" of fun6/1 * CEs [176] --> Loop 76 * CEs [177] --> Loop 77 ### Ranking functions of CR fun6(Out) #### Partial ranking functions of CR fun6(Out) ### Specialization of cost equations fun7/2 * CE 55 is refined into CE [178,179,180,181,182] * CE 56 is refined into CE [183] ### Cost equations --> "Loop" of fun7/2 * CEs [179,181] --> Loop 78 * CEs [178,180,182,183] --> Loop 79 ### Ranking functions of CR fun7(V,Out) #### Partial ranking functions of CR fun7(V,Out) ### Specialization of cost equations fun8/2 * CE 57 is refined into CE [184,185,186,187,188,189,190,191,192] * CE 58 is refined into CE [193] ### Cost equations --> "Loop" of fun8/2 * CEs [187,191] --> Loop 80 * CEs [185,186,189,190] --> Loop 81 * CEs [184,188,192,193] --> Loop 82 ### Ranking functions of CR fun8(V,Out) #### Partial ranking functions of CR fun8(V,Out) ### Specialization of cost equations start/2 * CE 1 is refined into CE [194] * CE 2 is refined into CE [195,196,197,198,199] * CE 3 is refined into CE [200] * CE 4 is refined into CE [201,202,203] * CE 5 is refined into CE [204,205] * CE 6 is refined into CE [206,207,208,209,210] * CE 7 is refined into CE [211,212,213,214] * CE 8 is refined into CE [215,216,217] * CE 9 is refined into CE [218,219] * CE 10 is refined into CE [220,221,222] * CE 11 is refined into CE [223,224,225] * CE 12 is refined into CE [226,227,228] * CE 13 is refined into CE [229,230] * CE 14 is refined into CE [231,232] * CE 15 is refined into CE [233,234] * CE 16 is refined into CE [235,236,237] ### Cost equations --> "Loop" of start/2 * CEs [194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237] --> Loop 83 ### Ranking functions of CR start(V,V2) #### Partial ranking functions of CR start(V,V2) Computing Bounds ===================================== #### Cost of chains of ge(V,V2,Out): * Chain [[28],31]: 1*it(28)+1 Such that:it(28) =< V with precondition: [Out=1,V>=1,V2>=V+1] * Chain [[28],30]: 1*it(28)+1 Such that:it(28) =< V2 with precondition: [Out=2,V2>=1,V>=V2] * Chain [[28],29]: 1*it(28)+0 Such that:it(28) =< V2 with precondition: [Out=0,V>=1,V2>=1] * Chain [31]: 1 with precondition: [V=0,Out=1,V2>=1] * Chain [30]: 1 with precondition: [V2=0,Out=2,V>=0] * Chain [29]: 0 with precondition: [Out=0,V>=0,V2>=0] #### Cost of chains of p(V,Out): * Chain [33]: 1 with precondition: [Out=0,V>=0] * Chain [32]: 1 with precondition: [V=Out+1,V>=1] #### Cost of chains of half(V,Out): * Chain [[34],37]: 5*it(34)+1*s(6)+7 Such that:aux(3) =< V aux(4) =< 2*Out aux(2) =< aux(3) it(34) =< aux(3) aux(2) =< aux(4) it(34) =< aux(4) s(6) =< aux(2)*2 with precondition: [Out>=1,V>=2*Out] * Chain [[34],36]: 5*it(34)+1*s(6)+5 Such that:aux(4) =< 2*Out aux(3) =< 2*Out+1 aux(2) =< aux(3) it(34) =< aux(3) aux(2) =< aux(4) it(34) =< aux(4) s(6) =< aux(2)*2 with precondition: [V=2*Out+1,V>=3] * Chain [[34],35,37]: 5*it(34)+1*s(6)+16 Such that:aux(3) =< V aux(4) =< 2*Out aux(2) =< aux(3) it(34) =< aux(3) aux(2) =< aux(4) it(34) =< aux(4) s(6) =< aux(2)*2 with precondition: [Out>=2,V>=2*Out] * Chain [37]: 7 with precondition: [Out=0,V>=0] * Chain [36]: 5 with precondition: [V=1,Out=0] * Chain [35,37]: 16 with precondition: [Out=1,V>=2] #### Cost of chains of log(V,Out): * Chain [[38],40]: 17*it(38)+10*s(40)+2*s(41)+5*s(42)+1*s(43)+1 Such that:it(38) =< V s(46) =< 3*V aux(12) =< 2*V s(40) =< aux(12) s(41) =< aux(12)*2 s(44) =< s(46) s(42) =< s(46) s(44) =< aux(12) s(42) =< aux(12) s(43) =< s(44)*2 with precondition: [Out>=1,V>=2*Out] * Chain [[38],39,40]: 17*it(38)+10*s(40)+2*s(41)+5*s(42)+1*s(43)+9 Such that:it(38) =< V s(46) =< 3*V aux(13) =< 2*V s(40) =< aux(13) s(41) =< aux(13)*2 s(44) =< s(46) s(42) =< s(46) s(44) =< aux(13) s(42) =< aux(13) s(43) =< s(44)*2 with precondition: [Out>=2,V+2>=2*Out] * Chain [40]: 1 with precondition: [Out=0,V>=0] * Chain [39,40]: 9 with precondition: [Out=1,V>=1] #### Cost of chains of encArg(V,Out): * Chain [56]: 0 with precondition: [V=1,Out=1] * Chain [55]: 0 with precondition: [V=2,Out=2] * Chain [54]: 0 with precondition: [Out=0,V>=0] * Chain [multiple([41,42,43,44,45,46,47,48,49,50,51,52,53],[[56],[55],[54]])]: 19*it(41)+1*it(42)+1*it(43)+1*it(44)+10*it(45)+1*it(46)+1*it(47)+42*it(48)+15*s(112)+3*s(113)+1*s(115)+1*s(116)+1*s(117)+17*s(118)+20*s(119)+4*s(120)+10*s(121)+2*s(122)+32*s(126)+3*s(127)+0 Such that:aux(21) =< 2*V it([56]) =< V/2+1/2 aux(35) =< V aux(36) =< V+1 aux(37) =< 2/3*V aux(38) =< 2/5*V aux(39) =< 4/5*V aux(40) =< 4/7*V it(43) =< aux(35) it(44) =< aux(35) it(45) =< aux(35) it(46) =< aux(35) it(47) =< aux(35) it(48) =< aux(35) it([56]) =< aux(35) it([54]) =< aux(36) it([56]) =< aux(36) it(42) =< aux(37) it(44) =< aux(37) it(45) =< aux(37) it(41) =< aux(38) it(46) =< aux(39) it(44) =< aux(40) aux(28) =< aux(21)+2 aux(23) =< aux(21)+1 it(46) =< it([54])*(1/5)+aux(39) it(47) =< it([54])*(1/5)+aux(39) it(42) =< it([54])*(1/3)+aux(37) it(43) =< it([54])*(1/3)+aux(37) it(44) =< it([54])*(1/3)+aux(37) it(45) =< it([54])*(1/3)+aux(37) it(46) =< it([54])*(1/3)+aux(37) it(47) =< it([54])*(1/3)+aux(37) it(44) =< it([54])*(3/7)+aux(40) it(45) =< it([54])*(3/7)+aux(40) it(46) =< it([54])*(3/7)+aux(40) it(47) =< it([54])*(3/7)+aux(40) it(41) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) it(42) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) it(43) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) it(44) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) it(45) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) it(46) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) it(47) =< it([54])*(3/5)+it([56])*(1/5)+aux(38) aux(30) =< it(48)*aux(28) s(118) =< it(48)*aux(28) s(117) =< it(47)*aux(28) s(116) =< it(44)*aux(23) s(115) =< it(42)*aux(23) s(114) =< it(41)*aux(21) s(125) =< aux(30)*3 s(124) =< aux(30)*2 s(126) =< aux(30) s(127) =< aux(30)*2 s(119) =< s(124) s(120) =< s(124)*2 s(123) =< s(125) s(121) =< s(125) s(123) =< s(124) s(121) =< s(124) s(122) =< s(123)*2 s(112) =< s(114) s(113) =< s(114)*2 with precondition: [V>=1,Out>=0,2*V>=Out] #### Cost of chains of fun(V,Out): * Chain [58]: 1*s(180)+1*s(181)+10*s(182)+1*s(183)+1*s(184)+42*s(185)+1*s(186)+19*s(187)+17*s(191)+1*s(192)+1*s(193)+1*s(194)+32*s(198)+3*s(199)+20*s(200)+4*s(201)+10*s(203)+2*s(204)+15*s(205)+3*s(206)+7 Such that:s(172) =< V s(173) =< V+1 s(174) =< 2*V s(175) =< V/2+1/2 s(176) =< 2/3*V s(177) =< 2/5*V s(178) =< 4/5*V s(179) =< 4/7*V s(180) =< s(172) s(181) =< s(172) s(182) =< s(172) s(183) =< s(172) s(184) =< s(172) s(185) =< s(172) s(175) =< s(172) s(175) =< s(173) s(186) =< s(176) s(181) =< s(176) s(182) =< s(176) s(187) =< s(177) s(183) =< s(178) s(181) =< s(179) s(188) =< s(174)+2 s(189) =< s(174)+1 s(183) =< s(173)*(1/5)+s(178) s(184) =< s(173)*(1/5)+s(178) s(186) =< s(173)*(1/3)+s(176) s(180) =< s(173)*(1/3)+s(176) s(181) =< s(173)*(1/3)+s(176) s(182) =< s(173)*(1/3)+s(176) s(183) =< s(173)*(1/3)+s(176) s(184) =< s(173)*(1/3)+s(176) s(181) =< s(173)*(3/7)+s(179) s(182) =< s(173)*(3/7)+s(179) s(183) =< s(173)*(3/7)+s(179) s(184) =< s(173)*(3/7)+s(179) s(187) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(186) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(180) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(181) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(182) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(183) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(184) =< s(173)*(3/5)+s(175)*(1/5)+s(177) s(190) =< s(185)*s(188) s(191) =< s(185)*s(188) s(192) =< s(184)*s(188) s(193) =< s(181)*s(189) s(194) =< s(186)*s(189) s(195) =< s(187)*s(174) s(196) =< s(190)*3 s(197) =< s(190)*2 s(198) =< s(190) s(199) =< s(190)*2 s(200) =< s(197) s(201) =< s(197)*2 s(202) =< s(196) s(203) =< s(196) s(202) =< s(197) s(203) =< s(197) s(204) =< s(202)*2 s(205) =< s(195) s(206) =< s(195)*2 with precondition: [Out=0,V>=0] * Chain [57]: 2*s(215)+2*s(216)+20*s(217)+2*s(218)+2*s(219)+84*s(220)+2*s(221)+38*s(222)+34*s(226)+2*s(227)+2*s(228)+2*s(229)+64*s(233)+6*s(234)+40*s(235)+8*s(236)+20*s(238)+4*s(239)+30*s(240)+6*s(241)+15*s(245)+3*s(246)+10*s(290)+2*s(291)+16 Such that:aux(43) =< 2 aux(44) =< V aux(45) =< V+1 aux(46) =< 2*V aux(47) =< V/2+1/2 aux(48) =< 2/3*V aux(49) =< 2/5*V aux(50) =< 4/5*V aux(51) =< 4/7*V s(210) =< aux(47) s(290) =< aux(43) s(291) =< aux(43)*2 s(245) =< aux(46) s(246) =< aux(46)*2 s(215) =< aux(44) s(216) =< aux(44) s(217) =< aux(44) s(218) =< aux(44) s(219) =< aux(44) s(220) =< aux(44) s(210) =< aux(44) s(210) =< aux(45) s(221) =< aux(48) s(216) =< aux(48) s(217) =< aux(48) s(222) =< aux(49) s(218) =< aux(50) s(216) =< aux(51) s(223) =< aux(46)+2 s(224) =< aux(46)+1 s(218) =< aux(45)*(1/5)+aux(50) s(219) =< aux(45)*(1/5)+aux(50) s(221) =< aux(45)*(1/3)+aux(48) s(215) =< aux(45)*(1/3)+aux(48) s(216) =< aux(45)*(1/3)+aux(48) s(217) =< aux(45)*(1/3)+aux(48) s(218) =< aux(45)*(1/3)+aux(48) s(219) =< aux(45)*(1/3)+aux(48) s(216) =< aux(45)*(3/7)+aux(51) s(217) =< aux(45)*(3/7)+aux(51) s(218) =< aux(45)*(3/7)+aux(51) s(219) =< aux(45)*(3/7)+aux(51) s(222) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(221) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(215) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(216) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(217) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(218) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(219) =< aux(45)*(3/5)+s(210)*(1/5)+aux(49) s(225) =< s(220)*s(223) s(226) =< s(220)*s(223) s(227) =< s(219)*s(223) s(228) =< s(216)*s(224) s(229) =< s(221)*s(224) s(230) =< s(222)*aux(46) s(231) =< s(225)*3 s(232) =< s(225)*2 s(233) =< s(225) s(234) =< s(225)*2 s(235) =< s(232) s(236) =< s(232)*2 s(237) =< s(231) s(238) =< s(231) s(237) =< s(232) s(238) =< s(232) s(239) =< s(237)*2 s(240) =< s(230) s(241) =< s(230)*2 with precondition: [Out>=1,V>=Out] #### Cost of chains of fun1(V,V2,Out): * Chain [64]: 4*s(300)+4*s(301)+40*s(302)+4*s(303)+4*s(304)+168*s(305)+4*s(306)+76*s(307)+68*s(311)+4*s(312)+4*s(313)+4*s(314)+128*s(318)+12*s(319)+80*s(320)+16*s(321)+40*s(323)+8*s(324)+60*s(325)+12*s(326)+4*s(335)+4*s(336)+40*s(337)+4*s(338)+4*s(339)+168*s(340)+4*s(341)+76*s(342)+68*s(346)+4*s(347)+4*s(348)+4*s(349)+128*s(353)+12*s(354)+80*s(355)+16*s(356)+40*s(358)+8*s(359)+60*s(360)+12*s(361)+1 Such that:aux(52) =< V aux(53) =< V+1 aux(54) =< 2*V aux(55) =< V/2+1/2 aux(56) =< 2/3*V aux(57) =< 2/5*V aux(58) =< 4/5*V aux(59) =< 4/7*V aux(60) =< V2 aux(61) =< V2+1 aux(62) =< 2*V2 aux(63) =< V2/2+1/2 aux(64) =< 2/3*V2 aux(65) =< 2/5*V2 aux(66) =< 4/5*V2 aux(67) =< 4/7*V2 s(295) =< aux(55) s(330) =< aux(63) s(335) =< aux(60) s(336) =< aux(60) s(337) =< aux(60) s(338) =< aux(60) s(339) =< aux(60) s(340) =< aux(60) s(330) =< aux(60) s(330) =< aux(61) s(341) =< aux(64) s(336) =< aux(64) s(337) =< aux(64) s(342) =< aux(65) s(338) =< aux(66) s(336) =< aux(67) s(343) =< aux(62)+2 s(344) =< aux(62)+1 s(338) =< aux(61)*(1/5)+aux(66) s(339) =< aux(61)*(1/5)+aux(66) s(341) =< aux(61)*(1/3)+aux(64) s(335) =< aux(61)*(1/3)+aux(64) s(336) =< aux(61)*(1/3)+aux(64) s(337) =< aux(61)*(1/3)+aux(64) s(338) =< aux(61)*(1/3)+aux(64) s(339) =< aux(61)*(1/3)+aux(64) s(336) =< aux(61)*(3/7)+aux(67) s(337) =< aux(61)*(3/7)+aux(67) s(338) =< aux(61)*(3/7)+aux(67) s(339) =< aux(61)*(3/7)+aux(67) s(342) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(341) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(335) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(336) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(337) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(338) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(339) =< aux(61)*(3/5)+s(330)*(1/5)+aux(65) s(345) =< s(340)*s(343) s(346) =< s(340)*s(343) s(347) =< s(339)*s(343) s(348) =< s(336)*s(344) s(349) =< s(341)*s(344) s(350) =< s(342)*aux(62) s(351) =< s(345)*3 s(352) =< s(345)*2 s(353) =< s(345) s(354) =< s(345)*2 s(355) =< s(352) s(356) =< s(352)*2 s(357) =< s(351) s(358) =< s(351) s(357) =< s(352) s(358) =< s(352) s(359) =< s(357)*2 s(360) =< s(350) s(361) =< s(350)*2 s(300) =< aux(52) s(301) =< aux(52) s(302) =< aux(52) s(303) =< aux(52) s(304) =< aux(52) s(305) =< aux(52) s(295) =< aux(52) s(295) =< aux(53) s(306) =< aux(56) s(301) =< aux(56) s(302) =< aux(56) s(307) =< aux(57) s(303) =< aux(58) s(301) =< aux(59) s(308) =< aux(54)+2 s(309) =< aux(54)+1 s(303) =< aux(53)*(1/5)+aux(58) s(304) =< aux(53)*(1/5)+aux(58) s(306) =< aux(53)*(1/3)+aux(56) s(300) =< aux(53)*(1/3)+aux(56) s(301) =< aux(53)*(1/3)+aux(56) s(302) =< aux(53)*(1/3)+aux(56) s(303) =< aux(53)*(1/3)+aux(56) s(304) =< aux(53)*(1/3)+aux(56) s(301) =< aux(53)*(3/7)+aux(59) s(302) =< aux(53)*(3/7)+aux(59) s(303) =< aux(53)*(3/7)+aux(59) s(304) =< aux(53)*(3/7)+aux(59) s(307) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(306) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(300) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(301) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(302) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(303) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(304) =< aux(53)*(3/5)+s(295)*(1/5)+aux(57) s(310) =< s(305)*s(308) s(311) =< s(305)*s(308) s(312) =< s(304)*s(308) s(313) =< s(301)*s(309) s(314) =< s(306)*s(309) s(315) =< s(307)*aux(54) s(316) =< s(310)*3 s(317) =< s(310)*2 s(318) =< s(310) s(319) =< s(310)*2 s(320) =< s(317) s(321) =< s(317)*2 s(322) =< s(316) s(323) =< s(316) s(322) =< s(317) s(323) =< s(317) s(324) =< s(322)*2 s(325) =< s(315) s(326) =< s(315)*2 with precondition: [Out=0,V>=0,V2>=0] * Chain [63]: 4*s(580)+4*s(581)+40*s(582)+4*s(583)+4*s(584)+168*s(585)+4*s(586)+76*s(587)+68*s(591)+4*s(592)+4*s(593)+4*s(594)+128*s(598)+12*s(599)+80*s(600)+16*s(601)+40*s(603)+8*s(604)+60*s(605)+12*s(606)+6*s(615)+6*s(616)+60*s(617)+6*s(618)+6*s(619)+252*s(620)+6*s(621)+114*s(622)+102*s(626)+6*s(627)+6*s(628)+6*s(629)+192*s(633)+18*s(634)+120*s(635)+24*s(636)+60*s(638)+12*s(639)+90*s(640)+18*s(641)+10 Such that:aux(68) =< V aux(69) =< V+1 aux(70) =< 2*V aux(71) =< V/2+1/2 aux(72) =< 2/3*V aux(73) =< 2/5*V aux(74) =< 4/5*V aux(75) =< 4/7*V aux(76) =< V2 aux(77) =< V2+1 aux(78) =< 2*V2 aux(79) =< V2/2+1/2 aux(80) =< 2/3*V2 aux(81) =< 2/5*V2 aux(82) =< 4/5*V2 aux(83) =< 4/7*V2 s(575) =< aux(71) s(610) =< aux(79) s(615) =< aux(76) s(616) =< aux(76) s(617) =< aux(76) s(618) =< aux(76) s(619) =< aux(76) s(620) =< aux(76) s(610) =< aux(76) s(610) =< aux(77) s(621) =< aux(80) s(616) =< aux(80) s(617) =< aux(80) s(622) =< aux(81) s(618) =< aux(82) s(616) =< aux(83) s(623) =< aux(78)+2 s(624) =< aux(78)+1 s(618) =< aux(77)*(1/5)+aux(82) s(619) =< aux(77)*(1/5)+aux(82) s(621) =< aux(77)*(1/3)+aux(80) s(615) =< aux(77)*(1/3)+aux(80) s(616) =< aux(77)*(1/3)+aux(80) s(617) =< aux(77)*(1/3)+aux(80) s(618) =< aux(77)*(1/3)+aux(80) s(619) =< aux(77)*(1/3)+aux(80) s(616) =< aux(77)*(3/7)+aux(83) s(617) =< aux(77)*(3/7)+aux(83) s(618) =< aux(77)*(3/7)+aux(83) s(619) =< aux(77)*(3/7)+aux(83) s(622) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(621) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(615) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(616) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(617) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(618) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(619) =< aux(77)*(3/5)+s(610)*(1/5)+aux(81) s(625) =< s(620)*s(623) s(626) =< s(620)*s(623) s(627) =< s(619)*s(623) s(628) =< s(616)*s(624) s(629) =< s(621)*s(624) s(630) =< s(622)*aux(78) s(631) =< s(625)*3 s(632) =< s(625)*2 s(633) =< s(625) s(634) =< s(625)*2 s(635) =< s(632) s(636) =< s(632)*2 s(637) =< s(631) s(638) =< s(631) s(637) =< s(632) s(638) =< s(632) s(639) =< s(637)*2 s(640) =< s(630) s(641) =< s(630)*2 s(580) =< aux(68) s(581) =< aux(68) s(582) =< aux(68) s(583) =< aux(68) s(584) =< aux(68) s(585) =< aux(68) s(575) =< aux(68) s(575) =< aux(69) s(586) =< aux(72) s(581) =< aux(72) s(582) =< aux(72) s(587) =< aux(73) s(583) =< aux(74) s(581) =< aux(75) s(588) =< aux(70)+2 s(589) =< aux(70)+1 s(583) =< aux(69)*(1/5)+aux(74) s(584) =< aux(69)*(1/5)+aux(74) s(586) =< aux(69)*(1/3)+aux(72) s(580) =< aux(69)*(1/3)+aux(72) s(581) =< aux(69)*(1/3)+aux(72) s(582) =< aux(69)*(1/3)+aux(72) s(583) =< aux(69)*(1/3)+aux(72) s(584) =< aux(69)*(1/3)+aux(72) s(581) =< aux(69)*(3/7)+aux(75) s(582) =< aux(69)*(3/7)+aux(75) s(583) =< aux(69)*(3/7)+aux(75) s(584) =< aux(69)*(3/7)+aux(75) s(587) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(586) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(580) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(581) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(582) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(583) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(584) =< aux(69)*(3/5)+s(575)*(1/5)+aux(73) s(590) =< s(585)*s(588) s(591) =< s(585)*s(588) s(592) =< s(584)*s(588) s(593) =< s(581)*s(589) s(594) =< s(586)*s(589) s(595) =< s(587)*aux(70) s(596) =< s(590)*3 s(597) =< s(590)*2 s(598) =< s(590) s(599) =< s(590)*2 s(600) =< s(597) s(601) =< s(597)*2 s(602) =< s(596) s(603) =< s(596) s(602) =< s(597) s(603) =< s(597) s(604) =< s(602)*2 s(605) =< s(595) s(606) =< s(595)*2 with precondition: [Out=1,V>=1,V2>=0] * Chain [62]: 1*s(930)+1*s(931)+10*s(932)+1*s(933)+1*s(934)+42*s(935)+1*s(936)+19*s(937)+17*s(941)+1*s(942)+1*s(943)+1*s(944)+32*s(948)+3*s(949)+20*s(950)+4*s(951)+10*s(953)+2*s(954)+15*s(955)+3*s(956)+3*s(965)+3*s(966)+30*s(967)+3*s(968)+3*s(969)+126*s(970)+3*s(971)+57*s(972)+51*s(976)+3*s(977)+3*s(978)+3*s(979)+96*s(983)+9*s(984)+60*s(985)+12*s(986)+30*s(988)+6*s(989)+45*s(990)+9*s(991)+25*s(995)+5*s(996)+19 Such that:s(922) =< V s(923) =< V+1 s(924) =< 2*V s(925) =< V/2+1/2 s(926) =< 2/3*V s(927) =< 2/5*V s(928) =< 4/5*V s(929) =< 4/7*V aux(87) =< V2 aux(88) =< V2+1 aux(89) =< 2*V2 aux(90) =< V2/2+1/2 aux(91) =< 2/3*V2 aux(92) =< 2/5*V2 aux(93) =< 4/5*V2 aux(94) =< 4/7*V2 s(960) =< aux(90) s(995) =< aux(89) s(996) =< aux(89)*2 s(965) =< aux(87) s(966) =< aux(87) s(967) =< aux(87) s(968) =< aux(87) s(969) =< aux(87) s(970) =< aux(87) s(960) =< aux(87) s(960) =< aux(88) s(971) =< aux(91) s(966) =< aux(91) s(967) =< aux(91) s(972) =< aux(92) s(968) =< aux(93) s(966) =< aux(94) s(973) =< aux(89)+2 s(974) =< aux(89)+1 s(968) =< aux(88)*(1/5)+aux(93) s(969) =< aux(88)*(1/5)+aux(93) s(971) =< aux(88)*(1/3)+aux(91) s(965) =< aux(88)*(1/3)+aux(91) s(966) =< aux(88)*(1/3)+aux(91) s(967) =< aux(88)*(1/3)+aux(91) s(968) =< aux(88)*(1/3)+aux(91) s(969) =< aux(88)*(1/3)+aux(91) s(966) =< aux(88)*(3/7)+aux(94) s(967) =< aux(88)*(3/7)+aux(94) s(968) =< aux(88)*(3/7)+aux(94) s(969) =< aux(88)*(3/7)+aux(94) s(972) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(971) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(965) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(966) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(967) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(968) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(969) =< aux(88)*(3/5)+s(960)*(1/5)+aux(92) s(975) =< s(970)*s(973) s(976) =< s(970)*s(973) s(977) =< s(969)*s(973) s(978) =< s(966)*s(974) s(979) =< s(971)*s(974) s(980) =< s(972)*aux(89) s(981) =< s(975)*3 s(982) =< s(975)*2 s(983) =< s(975) s(984) =< s(975)*2 s(985) =< s(982) s(986) =< s(982)*2 s(987) =< s(981) s(988) =< s(981) s(987) =< s(982) s(988) =< s(982) s(989) =< s(987)*2 s(990) =< s(980) s(991) =< s(980)*2 s(930) =< s(922) s(931) =< s(922) s(932) =< s(922) s(933) =< s(922) s(934) =< s(922) s(935) =< s(922) s(925) =< s(922) s(925) =< s(923) s(936) =< s(926) s(931) =< s(926) s(932) =< s(926) s(937) =< s(927) s(933) =< s(928) s(931) =< s(929) s(938) =< s(924)+2 s(939) =< s(924)+1 s(933) =< s(923)*(1/5)+s(928) s(934) =< s(923)*(1/5)+s(928) s(936) =< s(923)*(1/3)+s(926) s(930) =< s(923)*(1/3)+s(926) s(931) =< s(923)*(1/3)+s(926) s(932) =< s(923)*(1/3)+s(926) s(933) =< s(923)*(1/3)+s(926) s(934) =< s(923)*(1/3)+s(926) s(931) =< s(923)*(3/7)+s(929) s(932) =< s(923)*(3/7)+s(929) s(933) =< s(923)*(3/7)+s(929) s(934) =< s(923)*(3/7)+s(929) s(937) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(936) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(930) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(931) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(932) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(933) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(934) =< s(923)*(3/5)+s(925)*(1/5)+s(927) s(940) =< s(935)*s(938) s(941) =< s(935)*s(938) s(942) =< s(934)*s(938) s(943) =< s(931)*s(939) s(944) =< s(936)*s(939) s(945) =< s(937)*s(924) s(946) =< s(940)*3 s(947) =< s(940)*2 s(948) =< s(940) s(949) =< s(940)*2 s(950) =< s(947) s(951) =< s(947)*2 s(952) =< s(946) s(953) =< s(946) s(952) =< s(947) s(953) =< s(947) s(954) =< s(952)*2 s(955) =< s(945) s(956) =< s(945)*2 with precondition: [V>=1,Out>=2,V2>=Out] * Chain [61]: 2*s(1085)+2*s(1086)+20*s(1087)+2*s(1088)+2*s(1089)+84*s(1090)+2*s(1091)+38*s(1092)+34*s(1096)+2*s(1097)+2*s(1098)+2*s(1099)+64*s(1103)+6*s(1104)+40*s(1105)+8*s(1106)+20*s(1108)+4*s(1109)+30*s(1110)+6*s(1111)+1 Such that:aux(95) =< V aux(96) =< V+1 aux(97) =< 2*V aux(98) =< V/2+1/2 aux(99) =< 2/3*V aux(100) =< 2/5*V aux(101) =< 4/5*V aux(102) =< 4/7*V s(1080) =< aux(98) s(1085) =< aux(95) s(1086) =< aux(95) s(1087) =< aux(95) s(1088) =< aux(95) s(1089) =< aux(95) s(1090) =< aux(95) s(1080) =< aux(95) s(1080) =< aux(96) s(1091) =< aux(99) s(1086) =< aux(99) s(1087) =< aux(99) s(1092) =< aux(100) s(1088) =< aux(101) s(1086) =< aux(102) s(1093) =< aux(97)+2 s(1094) =< aux(97)+1 s(1088) =< aux(96)*(1/5)+aux(101) s(1089) =< aux(96)*(1/5)+aux(101) s(1091) =< aux(96)*(1/3)+aux(99) s(1085) =< aux(96)*(1/3)+aux(99) s(1086) =< aux(96)*(1/3)+aux(99) s(1087) =< aux(96)*(1/3)+aux(99) s(1088) =< aux(96)*(1/3)+aux(99) s(1089) =< aux(96)*(1/3)+aux(99) s(1086) =< aux(96)*(3/7)+aux(102) s(1087) =< aux(96)*(3/7)+aux(102) s(1088) =< aux(96)*(3/7)+aux(102) s(1089) =< aux(96)*(3/7)+aux(102) s(1092) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1091) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1085) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1086) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1087) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1088) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1089) =< aux(96)*(3/5)+s(1080)*(1/5)+aux(100) s(1095) =< s(1090)*s(1093) s(1096) =< s(1090)*s(1093) s(1097) =< s(1089)*s(1093) s(1098) =< s(1086)*s(1094) s(1099) =< s(1091)*s(1094) s(1100) =< s(1092)*aux(97) s(1101) =< s(1095)*3 s(1102) =< s(1095)*2 s(1103) =< s(1095) s(1104) =< s(1095)*2 s(1105) =< s(1102) s(1106) =< s(1102)*2 s(1107) =< s(1101) s(1108) =< s(1101) s(1107) =< s(1102) s(1108) =< s(1102) s(1109) =< s(1107)*2 s(1110) =< s(1100) s(1111) =< s(1100)*2 with precondition: [V2=2,Out=0,V>=0] * Chain [60]: 3*s(1155)+3*s(1156)+30*s(1157)+3*s(1158)+3*s(1159)+126*s(1160)+3*s(1161)+57*s(1162)+51*s(1166)+3*s(1167)+3*s(1168)+3*s(1169)+96*s(1173)+9*s(1174)+60*s(1175)+12*s(1176)+30*s(1178)+6*s(1179)+45*s(1180)+9*s(1181)+10 Such that:aux(103) =< V aux(104) =< V+1 aux(105) =< 2*V aux(106) =< V/2+1/2 aux(107) =< 2/3*V aux(108) =< 2/5*V aux(109) =< 4/5*V aux(110) =< 4/7*V s(1150) =< aux(106) s(1155) =< aux(103) s(1156) =< aux(103) s(1157) =< aux(103) s(1158) =< aux(103) s(1159) =< aux(103) s(1160) =< aux(103) s(1150) =< aux(103) s(1150) =< aux(104) s(1161) =< aux(107) s(1156) =< aux(107) s(1157) =< aux(107) s(1162) =< aux(108) s(1158) =< aux(109) s(1156) =< aux(110) s(1163) =< aux(105)+2 s(1164) =< aux(105)+1 s(1158) =< aux(104)*(1/5)+aux(109) s(1159) =< aux(104)*(1/5)+aux(109) s(1161) =< aux(104)*(1/3)+aux(107) s(1155) =< aux(104)*(1/3)+aux(107) s(1156) =< aux(104)*(1/3)+aux(107) s(1157) =< aux(104)*(1/3)+aux(107) s(1158) =< aux(104)*(1/3)+aux(107) s(1159) =< aux(104)*(1/3)+aux(107) s(1156) =< aux(104)*(3/7)+aux(110) s(1157) =< aux(104)*(3/7)+aux(110) s(1158) =< aux(104)*(3/7)+aux(110) s(1159) =< aux(104)*(3/7)+aux(110) s(1162) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1161) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1155) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1156) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1157) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1158) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1159) =< aux(104)*(3/5)+s(1150)*(1/5)+aux(108) s(1165) =< s(1160)*s(1163) s(1166) =< s(1160)*s(1163) s(1167) =< s(1159)*s(1163) s(1168) =< s(1156)*s(1164) s(1169) =< s(1161)*s(1164) s(1170) =< s(1162)*aux(105) s(1171) =< s(1165)*3 s(1172) =< s(1165)*2 s(1173) =< s(1165) s(1174) =< s(1165)*2 s(1175) =< s(1172) s(1176) =< s(1172)*2 s(1177) =< s(1171) s(1178) =< s(1171) s(1177) =< s(1172) s(1178) =< s(1172) s(1179) =< s(1177)*2 s(1180) =< s(1170) s(1181) =< s(1170)*2 with precondition: [V2=2,Out=1,V>=1] * Chain [59]: 1*s(1260)+1*s(1261)+10*s(1262)+1*s(1263)+1*s(1264)+42*s(1265)+1*s(1266)+19*s(1267)+17*s(1271)+1*s(1272)+1*s(1273)+1*s(1274)+32*s(1278)+3*s(1279)+20*s(1280)+4*s(1281)+10*s(1283)+2*s(1284)+15*s(1285)+3*s(1286)+1*s(1295)+1*s(1296)+10*s(1297)+1*s(1298)+1*s(1299)+42*s(1300)+1*s(1301)+19*s(1302)+17*s(1306)+1*s(1307)+1*s(1308)+1*s(1309)+32*s(1313)+3*s(1314)+20*s(1315)+4*s(1316)+10*s(1318)+2*s(1319)+15*s(1320)+3*s(1321)+5*s(1325)+1*s(1326)+8 Such that:s(1252) =< V s(1253) =< V+1 s(1254) =< 2*V s(1255) =< V/2+1/2 s(1256) =< 2/3*V s(1257) =< 2/5*V s(1258) =< 4/5*V s(1259) =< 4/7*V s(1287) =< V2 s(1288) =< V2+1 s(1290) =< V2/2+1/2 s(1291) =< 2/3*V2 s(1292) =< 2/5*V2 s(1293) =< 4/5*V2 s(1294) =< 4/7*V2 aux(111) =< 2*V2 s(1325) =< aux(111) s(1326) =< aux(111)*2 s(1295) =< s(1287) s(1296) =< s(1287) s(1297) =< s(1287) s(1298) =< s(1287) s(1299) =< s(1287) s(1300) =< s(1287) s(1290) =< s(1287) s(1290) =< s(1288) s(1301) =< s(1291) s(1296) =< s(1291) s(1297) =< s(1291) s(1302) =< s(1292) s(1298) =< s(1293) s(1296) =< s(1294) s(1303) =< aux(111)+2 s(1304) =< aux(111)+1 s(1298) =< s(1288)*(1/5)+s(1293) s(1299) =< s(1288)*(1/5)+s(1293) s(1301) =< s(1288)*(1/3)+s(1291) s(1295) =< s(1288)*(1/3)+s(1291) s(1296) =< s(1288)*(1/3)+s(1291) s(1297) =< s(1288)*(1/3)+s(1291) s(1298) =< s(1288)*(1/3)+s(1291) s(1299) =< s(1288)*(1/3)+s(1291) s(1296) =< s(1288)*(3/7)+s(1294) s(1297) =< s(1288)*(3/7)+s(1294) s(1298) =< s(1288)*(3/7)+s(1294) s(1299) =< s(1288)*(3/7)+s(1294) s(1302) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1301) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1295) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1296) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1297) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1298) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1299) =< s(1288)*(3/5)+s(1290)*(1/5)+s(1292) s(1305) =< s(1300)*s(1303) s(1306) =< s(1300)*s(1303) s(1307) =< s(1299)*s(1303) s(1308) =< s(1296)*s(1304) s(1309) =< s(1301)*s(1304) s(1310) =< s(1302)*aux(111) s(1311) =< s(1305)*3 s(1312) =< s(1305)*2 s(1313) =< s(1305) s(1314) =< s(1305)*2 s(1315) =< s(1312) s(1316) =< s(1312)*2 s(1317) =< s(1311) s(1318) =< s(1311) s(1317) =< s(1312) s(1318) =< s(1312) s(1319) =< s(1317)*2 s(1320) =< s(1310) s(1321) =< s(1310)*2 s(1260) =< s(1252) s(1261) =< s(1252) s(1262) =< s(1252) s(1263) =< s(1252) s(1264) =< s(1252) s(1265) =< s(1252) s(1255) =< s(1252) s(1255) =< s(1253) s(1266) =< s(1256) s(1261) =< s(1256) s(1262) =< s(1256) s(1267) =< s(1257) s(1263) =< s(1258) s(1261) =< s(1259) s(1268) =< s(1254)+2 s(1269) =< s(1254)+1 s(1263) =< s(1253)*(1/5)+s(1258) s(1264) =< s(1253)*(1/5)+s(1258) s(1266) =< s(1253)*(1/3)+s(1256) s(1260) =< s(1253)*(1/3)+s(1256) s(1261) =< s(1253)*(1/3)+s(1256) s(1262) =< s(1253)*(1/3)+s(1256) s(1263) =< s(1253)*(1/3)+s(1256) s(1264) =< s(1253)*(1/3)+s(1256) s(1261) =< s(1253)*(3/7)+s(1259) s(1262) =< s(1253)*(3/7)+s(1259) s(1263) =< s(1253)*(3/7)+s(1259) s(1264) =< s(1253)*(3/7)+s(1259) s(1267) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1266) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1260) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1261) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1262) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1263) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1264) =< s(1253)*(3/5)+s(1255)*(1/5)+s(1257) s(1270) =< s(1265)*s(1268) s(1271) =< s(1265)*s(1268) s(1272) =< s(1264)*s(1268) s(1273) =< s(1261)*s(1269) s(1274) =< s(1266)*s(1269) s(1275) =< s(1267)*s(1254) s(1276) =< s(1270)*3 s(1277) =< s(1270)*2 s(1278) =< s(1270) s(1279) =< s(1270)*2 s(1280) =< s(1277) s(1281) =< s(1277)*2 s(1282) =< s(1276) s(1283) =< s(1276) s(1282) =< s(1277) s(1283) =< s(1277) s(1284) =< s(1282)*2 s(1285) =< s(1275) s(1286) =< s(1275)*2 with precondition: [V>=1,Out>=2,2*V2>=2*Out+1] #### Cost of chains of fun2(V,V2,Out): * Chain [70]: 2*s(1696)+2*s(1697)+20*s(1698)+2*s(1699)+2*s(1700)+84*s(1701)+2*s(1702)+38*s(1703)+34*s(1707)+2*s(1708)+2*s(1709)+2*s(1710)+64*s(1714)+6*s(1715)+40*s(1716)+8*s(1717)+20*s(1719)+4*s(1720)+30*s(1721)+6*s(1722)+3*s(1731)+3*s(1732)+30*s(1733)+3*s(1734)+3*s(1735)+126*s(1736)+3*s(1737)+57*s(1738)+51*s(1742)+3*s(1743)+3*s(1744)+3*s(1745)+96*s(1749)+9*s(1750)+60*s(1751)+12*s(1752)+30*s(1754)+6*s(1755)+45*s(1756)+9*s(1757)+3*s(1758)+1*s(1831)+0 Such that:s(1831) =< 2 aux(147) =< V aux(148) =< V+1 aux(149) =< 2*V aux(150) =< V/2+1/2 aux(151) =< 2/3*V aux(152) =< 2/5*V aux(153) =< 4/5*V aux(154) =< 4/7*V aux(155) =< V2 aux(156) =< V2+1 aux(157) =< 2*V2 aux(158) =< V2/2+1/2 aux(159) =< 2/3*V2 aux(160) =< 2/5*V2 aux(161) =< 4/5*V2 aux(162) =< 4/7*V2 s(1691) =< aux(150) s(1726) =< aux(158) s(1758) =< aux(157) s(1731) =< aux(155) s(1732) =< aux(155) s(1733) =< aux(155) s(1734) =< aux(155) s(1735) =< aux(155) s(1736) =< aux(155) s(1726) =< aux(155) s(1726) =< aux(156) s(1737) =< aux(159) s(1732) =< aux(159) s(1733) =< aux(159) s(1738) =< aux(160) s(1734) =< aux(161) s(1732) =< aux(162) s(1739) =< aux(157)+2 s(1740) =< aux(157)+1 s(1734) =< aux(156)*(1/5)+aux(161) s(1735) =< aux(156)*(1/5)+aux(161) s(1737) =< aux(156)*(1/3)+aux(159) s(1731) =< aux(156)*(1/3)+aux(159) s(1732) =< aux(156)*(1/3)+aux(159) s(1733) =< aux(156)*(1/3)+aux(159) s(1734) =< aux(156)*(1/3)+aux(159) s(1735) =< aux(156)*(1/3)+aux(159) s(1732) =< aux(156)*(3/7)+aux(162) s(1733) =< aux(156)*(3/7)+aux(162) s(1734) =< aux(156)*(3/7)+aux(162) s(1735) =< aux(156)*(3/7)+aux(162) s(1738) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1737) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1731) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1732) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1733) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1734) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1735) =< aux(156)*(3/5)+s(1726)*(1/5)+aux(160) s(1741) =< s(1736)*s(1739) s(1742) =< s(1736)*s(1739) s(1743) =< s(1735)*s(1739) s(1744) =< s(1732)*s(1740) s(1745) =< s(1737)*s(1740) s(1746) =< s(1738)*aux(157) s(1747) =< s(1741)*3 s(1748) =< s(1741)*2 s(1749) =< s(1741) s(1750) =< s(1741)*2 s(1751) =< s(1748) s(1752) =< s(1748)*2 s(1753) =< s(1747) s(1754) =< s(1747) s(1753) =< s(1748) s(1754) =< s(1748) s(1755) =< s(1753)*2 s(1756) =< s(1746) s(1757) =< s(1746)*2 s(1696) =< aux(147) s(1697) =< aux(147) s(1698) =< aux(147) s(1699) =< aux(147) s(1700) =< aux(147) s(1701) =< aux(147) s(1691) =< aux(147) s(1691) =< aux(148) s(1702) =< aux(151) s(1697) =< aux(151) s(1698) =< aux(151) s(1703) =< aux(152) s(1699) =< aux(153) s(1697) =< aux(154) s(1704) =< aux(149)+2 s(1705) =< aux(149)+1 s(1699) =< aux(148)*(1/5)+aux(153) s(1700) =< aux(148)*(1/5)+aux(153) s(1702) =< aux(148)*(1/3)+aux(151) s(1696) =< aux(148)*(1/3)+aux(151) s(1697) =< aux(148)*(1/3)+aux(151) s(1698) =< aux(148)*(1/3)+aux(151) s(1699) =< aux(148)*(1/3)+aux(151) s(1700) =< aux(148)*(1/3)+aux(151) s(1697) =< aux(148)*(3/7)+aux(154) s(1698) =< aux(148)*(3/7)+aux(154) s(1699) =< aux(148)*(3/7)+aux(154) s(1700) =< aux(148)*(3/7)+aux(154) s(1703) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1702) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1696) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1697) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1698) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1699) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1700) =< aux(148)*(3/5)+s(1691)*(1/5)+aux(152) s(1706) =< s(1701)*s(1704) s(1707) =< s(1701)*s(1704) s(1708) =< s(1700)*s(1704) s(1709) =< s(1697)*s(1705) s(1710) =< s(1702)*s(1705) s(1711) =< s(1703)*aux(149) s(1712) =< s(1706)*3 s(1713) =< s(1706)*2 s(1714) =< s(1706) s(1715) =< s(1706)*2 s(1716) =< s(1713) s(1717) =< s(1713)*2 s(1718) =< s(1712) s(1719) =< s(1712) s(1718) =< s(1713) s(1719) =< s(1713) s(1720) =< s(1718)*2 s(1721) =< s(1711) s(1722) =< s(1711)*2 with precondition: [Out=0,V>=0,V2>=0] * Chain [69]: 3*s(1878)+3*s(1879)+30*s(1880)+3*s(1881)+3*s(1882)+126*s(1883)+3*s(1884)+57*s(1885)+51*s(1889)+3*s(1890)+3*s(1891)+3*s(1892)+96*s(1896)+9*s(1897)+60*s(1898)+12*s(1899)+30*s(1901)+6*s(1902)+45*s(1903)+9*s(1904)+5*s(1913)+5*s(1914)+50*s(1915)+5*s(1916)+5*s(1917)+210*s(1918)+5*s(1919)+95*s(1920)+85*s(1924)+5*s(1925)+5*s(1926)+5*s(1927)+160*s(1931)+15*s(1932)+100*s(1933)+20*s(1934)+50*s(1936)+10*s(1937)+75*s(1938)+15*s(1939)+1*s(2010)+2*s(2116)+1 Such that:aux(164) =< 2 aux(165) =< V aux(166) =< V+1 aux(167) =< 2*V aux(168) =< V/2+1/2 aux(169) =< 2/3*V aux(170) =< 2/5*V aux(171) =< 4/5*V aux(172) =< 4/7*V aux(173) =< V2 aux(174) =< V2+1 aux(175) =< 2*V2 aux(176) =< V2/2+1/2 aux(177) =< 2/3*V2 aux(178) =< 2/5*V2 aux(179) =< 4/5*V2 aux(180) =< 4/7*V2 s(2116) =< aux(164) s(1873) =< aux(168) s(1908) =< aux(176) s(1913) =< aux(173) s(1914) =< aux(173) s(1915) =< aux(173) s(1916) =< aux(173) s(1917) =< aux(173) s(1918) =< aux(173) s(1908) =< aux(173) s(1908) =< aux(174) s(1919) =< aux(177) s(1914) =< aux(177) s(1915) =< aux(177) s(1920) =< aux(178) s(1916) =< aux(179) s(1914) =< aux(180) s(1921) =< aux(175)+2 s(1922) =< aux(175)+1 s(1916) =< aux(174)*(1/5)+aux(179) s(1917) =< aux(174)*(1/5)+aux(179) s(1919) =< aux(174)*(1/3)+aux(177) s(1913) =< aux(174)*(1/3)+aux(177) s(1914) =< aux(174)*(1/3)+aux(177) s(1915) =< aux(174)*(1/3)+aux(177) s(1916) =< aux(174)*(1/3)+aux(177) s(1917) =< aux(174)*(1/3)+aux(177) s(1914) =< aux(174)*(3/7)+aux(180) s(1915) =< aux(174)*(3/7)+aux(180) s(1916) =< aux(174)*(3/7)+aux(180) s(1917) =< aux(174)*(3/7)+aux(180) s(1920) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1919) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1913) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1914) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1915) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1916) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1917) =< aux(174)*(3/5)+s(1908)*(1/5)+aux(178) s(1923) =< s(1918)*s(1921) s(1924) =< s(1918)*s(1921) s(1925) =< s(1917)*s(1921) s(1926) =< s(1914)*s(1922) s(1927) =< s(1919)*s(1922) s(1928) =< s(1920)*aux(175) s(1929) =< s(1923)*3 s(1930) =< s(1923)*2 s(1931) =< s(1923) s(1932) =< s(1923)*2 s(1933) =< s(1930) s(1934) =< s(1930)*2 s(1935) =< s(1929) s(1936) =< s(1929) s(1935) =< s(1930) s(1936) =< s(1930) s(1937) =< s(1935)*2 s(1938) =< s(1928) s(1939) =< s(1928)*2 s(1878) =< aux(165) s(1879) =< aux(165) s(1880) =< aux(165) s(1881) =< aux(165) s(1882) =< aux(165) s(1883) =< aux(165) s(1873) =< aux(165) s(1873) =< aux(166) s(1884) =< aux(169) s(1879) =< aux(169) s(1880) =< aux(169) s(1885) =< aux(170) s(1881) =< aux(171) s(1879) =< aux(172) s(1886) =< aux(167)+2 s(1887) =< aux(167)+1 s(1881) =< aux(166)*(1/5)+aux(171) s(1882) =< aux(166)*(1/5)+aux(171) s(1884) =< aux(166)*(1/3)+aux(169) s(1878) =< aux(166)*(1/3)+aux(169) s(1879) =< aux(166)*(1/3)+aux(169) s(1880) =< aux(166)*(1/3)+aux(169) s(1881) =< aux(166)*(1/3)+aux(169) s(1882) =< aux(166)*(1/3)+aux(169) s(1879) =< aux(166)*(3/7)+aux(172) s(1880) =< aux(166)*(3/7)+aux(172) s(1881) =< aux(166)*(3/7)+aux(172) s(1882) =< aux(166)*(3/7)+aux(172) s(1885) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1884) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1878) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1879) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1880) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1881) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1882) =< aux(166)*(3/5)+s(1873)*(1/5)+aux(170) s(1888) =< s(1883)*s(1886) s(1889) =< s(1883)*s(1886) s(1890) =< s(1882)*s(1886) s(1891) =< s(1879)*s(1887) s(1892) =< s(1884)*s(1887) s(1893) =< s(1885)*aux(167) s(1894) =< s(1888)*3 s(1895) =< s(1888)*2 s(1896) =< s(1888) s(1897) =< s(1888)*2 s(1898) =< s(1895) s(1899) =< s(1895)*2 s(1900) =< s(1894) s(1901) =< s(1894) s(1900) =< s(1895) s(1901) =< s(1895) s(1902) =< s(1900)*2 s(1903) =< s(1893) s(1904) =< s(1893)*2 s(2010) =< aux(167) with precondition: [Out=2,V>=0,V2>=0] * Chain [68]: 2*s(2161)+2*s(2162)+20*s(2163)+2*s(2164)+2*s(2165)+84*s(2166)+2*s(2167)+38*s(2168)+34*s(2172)+2*s(2173)+2*s(2174)+2*s(2175)+64*s(2179)+6*s(2180)+40*s(2181)+8*s(2182)+20*s(2184)+4*s(2185)+30*s(2186)+6*s(2187)+4*s(2196)+4*s(2197)+40*s(2198)+4*s(2199)+4*s(2200)+168*s(2201)+4*s(2202)+76*s(2203)+68*s(2207)+4*s(2208)+4*s(2209)+4*s(2210)+128*s(2214)+12*s(2215)+80*s(2216)+16*s(2217)+40*s(2219)+8*s(2220)+60*s(2221)+12*s(2222)+1*s(2293)+1*s(2329)+1 Such that:s(2329) =< 2 aux(182) =< V aux(183) =< V+1 aux(184) =< 2*V aux(185) =< V/2+1/2 aux(186) =< 2/3*V aux(187) =< 2/5*V aux(188) =< 4/5*V aux(189) =< 4/7*V aux(190) =< V2 aux(191) =< V2+1 aux(192) =< 2*V2 aux(193) =< V2/2+1/2 aux(194) =< 2/3*V2 aux(195) =< 2/5*V2 aux(196) =< 4/5*V2 aux(197) =< 4/7*V2 s(2156) =< aux(185) s(2191) =< aux(193) s(2196) =< aux(190) s(2197) =< aux(190) s(2198) =< aux(190) s(2199) =< aux(190) s(2200) =< aux(190) s(2201) =< aux(190) s(2191) =< aux(190) s(2191) =< aux(191) s(2202) =< aux(194) s(2197) =< aux(194) s(2198) =< aux(194) s(2203) =< aux(195) s(2199) =< aux(196) s(2197) =< aux(197) s(2204) =< aux(192)+2 s(2205) =< aux(192)+1 s(2199) =< aux(191)*(1/5)+aux(196) s(2200) =< aux(191)*(1/5)+aux(196) s(2202) =< aux(191)*(1/3)+aux(194) s(2196) =< aux(191)*(1/3)+aux(194) s(2197) =< aux(191)*(1/3)+aux(194) s(2198) =< aux(191)*(1/3)+aux(194) s(2199) =< aux(191)*(1/3)+aux(194) s(2200) =< aux(191)*(1/3)+aux(194) s(2197) =< aux(191)*(3/7)+aux(197) s(2198) =< aux(191)*(3/7)+aux(197) s(2199) =< aux(191)*(3/7)+aux(197) s(2200) =< aux(191)*(3/7)+aux(197) s(2203) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2202) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2196) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2197) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2198) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2199) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2200) =< aux(191)*(3/5)+s(2191)*(1/5)+aux(195) s(2206) =< s(2201)*s(2204) s(2207) =< s(2201)*s(2204) s(2208) =< s(2200)*s(2204) s(2209) =< s(2197)*s(2205) s(2210) =< s(2202)*s(2205) s(2211) =< s(2203)*aux(192) s(2212) =< s(2206)*3 s(2213) =< s(2206)*2 s(2214) =< s(2206) s(2215) =< s(2206)*2 s(2216) =< s(2213) s(2217) =< s(2213)*2 s(2218) =< s(2212) s(2219) =< s(2212) s(2218) =< s(2213) s(2219) =< s(2213) s(2220) =< s(2218)*2 s(2221) =< s(2211) s(2222) =< s(2211)*2 s(2161) =< aux(182) s(2162) =< aux(182) s(2163) =< aux(182) s(2164) =< aux(182) s(2165) =< aux(182) s(2166) =< aux(182) s(2156) =< aux(182) s(2156) =< aux(183) s(2167) =< aux(186) s(2162) =< aux(186) s(2163) =< aux(186) s(2168) =< aux(187) s(2164) =< aux(188) s(2162) =< aux(189) s(2169) =< aux(184)+2 s(2170) =< aux(184)+1 s(2164) =< aux(183)*(1/5)+aux(188) s(2165) =< aux(183)*(1/5)+aux(188) s(2167) =< aux(183)*(1/3)+aux(186) s(2161) =< aux(183)*(1/3)+aux(186) s(2162) =< aux(183)*(1/3)+aux(186) s(2163) =< aux(183)*(1/3)+aux(186) s(2164) =< aux(183)*(1/3)+aux(186) s(2165) =< aux(183)*(1/3)+aux(186) s(2162) =< aux(183)*(3/7)+aux(189) s(2163) =< aux(183)*(3/7)+aux(189) s(2164) =< aux(183)*(3/7)+aux(189) s(2165) =< aux(183)*(3/7)+aux(189) s(2168) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2167) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2161) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2162) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2163) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2164) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2165) =< aux(183)*(3/5)+s(2156)*(1/5)+aux(187) s(2171) =< s(2166)*s(2169) s(2172) =< s(2166)*s(2169) s(2173) =< s(2165)*s(2169) s(2174) =< s(2162)*s(2170) s(2175) =< s(2167)*s(2170) s(2176) =< s(2168)*aux(184) s(2177) =< s(2171)*3 s(2178) =< s(2171)*2 s(2179) =< s(2171) s(2180) =< s(2171)*2 s(2181) =< s(2178) s(2182) =< s(2178)*2 s(2183) =< s(2177) s(2184) =< s(2177) s(2183) =< s(2178) s(2184) =< s(2178) s(2185) =< s(2183)*2 s(2186) =< s(2176) s(2187) =< s(2176)*2 s(2293) =< aux(192) with precondition: [Out=1,V>=0,V2>=1] * Chain [67]: 1*s(2373)+1*s(2374)+10*s(2375)+1*s(2376)+1*s(2377)+42*s(2378)+1*s(2379)+19*s(2380)+17*s(2384)+1*s(2385)+1*s(2386)+1*s(2387)+32*s(2391)+3*s(2392)+20*s(2393)+4*s(2394)+10*s(2396)+2*s(2397)+15*s(2398)+3*s(2399)+2*s(2400)+0 Such that:s(2365) =< V s(2366) =< V+1 s(2367) =< 2*V s(2368) =< V/2+1/2 s(2369) =< 2/3*V s(2370) =< 2/5*V s(2371) =< 4/5*V s(2372) =< 4/7*V aux(198) =< 2 s(2400) =< aux(198) s(2373) =< s(2365) s(2374) =< s(2365) s(2375) =< s(2365) s(2376) =< s(2365) s(2377) =< s(2365) s(2378) =< s(2365) s(2368) =< s(2365) s(2368) =< s(2366) s(2379) =< s(2369) s(2374) =< s(2369) s(2375) =< s(2369) s(2380) =< s(2370) s(2376) =< s(2371) s(2374) =< s(2372) s(2381) =< s(2367)+2 s(2382) =< s(2367)+1 s(2376) =< s(2366)*(1/5)+s(2371) s(2377) =< s(2366)*(1/5)+s(2371) s(2379) =< s(2366)*(1/3)+s(2369) s(2373) =< s(2366)*(1/3)+s(2369) s(2374) =< s(2366)*(1/3)+s(2369) s(2375) =< s(2366)*(1/3)+s(2369) s(2376) =< s(2366)*(1/3)+s(2369) s(2377) =< s(2366)*(1/3)+s(2369) s(2374) =< s(2366)*(3/7)+s(2372) s(2375) =< s(2366)*(3/7)+s(2372) s(2376) =< s(2366)*(3/7)+s(2372) s(2377) =< s(2366)*(3/7)+s(2372) s(2380) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2379) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2373) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2374) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2375) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2376) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2377) =< s(2366)*(3/5)+s(2368)*(1/5)+s(2370) s(2383) =< s(2378)*s(2381) s(2384) =< s(2378)*s(2381) s(2385) =< s(2377)*s(2381) s(2386) =< s(2374)*s(2382) s(2387) =< s(2379)*s(2382) s(2388) =< s(2380)*s(2367) s(2389) =< s(2383)*3 s(2390) =< s(2383)*2 s(2391) =< s(2383) s(2392) =< s(2383)*2 s(2393) =< s(2390) s(2394) =< s(2390)*2 s(2395) =< s(2389) s(2396) =< s(2389) s(2395) =< s(2390) s(2396) =< s(2390) s(2397) =< s(2395)*2 s(2398) =< s(2388) s(2399) =< s(2388)*2 with precondition: [V2=2,Out=0,V>=0] * Chain [66]: 2*s(2410)+2*s(2411)+20*s(2412)+2*s(2413)+2*s(2414)+84*s(2415)+2*s(2416)+38*s(2417)+34*s(2421)+2*s(2422)+2*s(2423)+2*s(2424)+64*s(2428)+6*s(2429)+40*s(2430)+8*s(2431)+20*s(2433)+4*s(2434)+30*s(2435)+6*s(2436)+1*s(2472)+1 Such that:s(2472) =< 1 aux(199) =< V aux(200) =< V+1 aux(201) =< 2*V aux(202) =< V/2+1/2 aux(203) =< 2/3*V aux(204) =< 2/5*V aux(205) =< 4/5*V aux(206) =< 4/7*V s(2405) =< aux(202) s(2410) =< aux(199) s(2411) =< aux(199) s(2412) =< aux(199) s(2413) =< aux(199) s(2414) =< aux(199) s(2415) =< aux(199) s(2405) =< aux(199) s(2405) =< aux(200) s(2416) =< aux(203) s(2411) =< aux(203) s(2412) =< aux(203) s(2417) =< aux(204) s(2413) =< aux(205) s(2411) =< aux(206) s(2418) =< aux(201)+2 s(2419) =< aux(201)+1 s(2413) =< aux(200)*(1/5)+aux(205) s(2414) =< aux(200)*(1/5)+aux(205) s(2416) =< aux(200)*(1/3)+aux(203) s(2410) =< aux(200)*(1/3)+aux(203) s(2411) =< aux(200)*(1/3)+aux(203) s(2412) =< aux(200)*(1/3)+aux(203) s(2413) =< aux(200)*(1/3)+aux(203) s(2414) =< aux(200)*(1/3)+aux(203) s(2411) =< aux(200)*(3/7)+aux(206) s(2412) =< aux(200)*(3/7)+aux(206) s(2413) =< aux(200)*(3/7)+aux(206) s(2414) =< aux(200)*(3/7)+aux(206) s(2417) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2416) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2410) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2411) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2412) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2413) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2414) =< aux(200)*(3/5)+s(2405)*(1/5)+aux(204) s(2420) =< s(2415)*s(2418) s(2421) =< s(2415)*s(2418) s(2422) =< s(2414)*s(2418) s(2423) =< s(2411)*s(2419) s(2424) =< s(2416)*s(2419) s(2425) =< s(2417)*aux(201) s(2426) =< s(2420)*3 s(2427) =< s(2420)*2 s(2428) =< s(2420) s(2429) =< s(2420)*2 s(2430) =< s(2427) s(2431) =< s(2427)*2 s(2432) =< s(2426) s(2433) =< s(2426) s(2432) =< s(2427) s(2433) =< s(2427) s(2434) =< s(2432)*2 s(2435) =< s(2425) s(2436) =< s(2425)*2 with precondition: [V2=2,Out=1,V>=0] * Chain [65]: 1*s(2481)+1*s(2482)+10*s(2483)+1*s(2484)+1*s(2485)+42*s(2486)+1*s(2487)+19*s(2488)+17*s(2492)+1*s(2493)+1*s(2494)+1*s(2495)+32*s(2499)+3*s(2500)+20*s(2501)+4*s(2502)+10*s(2504)+2*s(2505)+15*s(2506)+3*s(2507)+1*s(2508)+1 Such that:s(2508) =< 2 s(2473) =< V s(2474) =< V+1 s(2475) =< 2*V s(2476) =< V/2+1/2 s(2477) =< 2/3*V s(2478) =< 2/5*V s(2479) =< 4/5*V s(2480) =< 4/7*V s(2481) =< s(2473) s(2482) =< s(2473) s(2483) =< s(2473) s(2484) =< s(2473) s(2485) =< s(2473) s(2486) =< s(2473) s(2476) =< s(2473) s(2476) =< s(2474) s(2487) =< s(2477) s(2482) =< s(2477) s(2483) =< s(2477) s(2488) =< s(2478) s(2484) =< s(2479) s(2482) =< s(2480) s(2489) =< s(2475)+2 s(2490) =< s(2475)+1 s(2484) =< s(2474)*(1/5)+s(2479) s(2485) =< s(2474)*(1/5)+s(2479) s(2487) =< s(2474)*(1/3)+s(2477) s(2481) =< s(2474)*(1/3)+s(2477) s(2482) =< s(2474)*(1/3)+s(2477) s(2483) =< s(2474)*(1/3)+s(2477) s(2484) =< s(2474)*(1/3)+s(2477) s(2485) =< s(2474)*(1/3)+s(2477) s(2482) =< s(2474)*(3/7)+s(2480) s(2483) =< s(2474)*(3/7)+s(2480) s(2484) =< s(2474)*(3/7)+s(2480) s(2485) =< s(2474)*(3/7)+s(2480) s(2488) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2487) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2481) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2482) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2483) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2484) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2485) =< s(2474)*(3/5)+s(2476)*(1/5)+s(2478) s(2491) =< s(2486)*s(2489) s(2492) =< s(2486)*s(2489) s(2493) =< s(2485)*s(2489) s(2494) =< s(2482)*s(2490) s(2495) =< s(2487)*s(2490) s(2496) =< s(2488)*s(2475) s(2497) =< s(2491)*3 s(2498) =< s(2491)*2 s(2499) =< s(2491) s(2500) =< s(2491)*2 s(2501) =< s(2498) s(2502) =< s(2498)*2 s(2503) =< s(2497) s(2504) =< s(2497) s(2503) =< s(2498) s(2504) =< s(2498) s(2505) =< s(2503)*2 s(2506) =< s(2496) s(2507) =< s(2496)*2 with precondition: [V2=2,Out=2,V>=1] #### Cost of chains of fun3(V,Out): * Chain [73]: 1*s(2850)+1*s(2851)+10*s(2852)+1*s(2853)+1*s(2854)+42*s(2855)+1*s(2856)+19*s(2857)+17*s(2861)+1*s(2862)+1*s(2863)+1*s(2864)+32*s(2868)+3*s(2869)+20*s(2870)+4*s(2871)+10*s(2873)+2*s(2874)+15*s(2875)+3*s(2876)+0 Such that:s(2842) =< V s(2843) =< V+1 s(2844) =< 2*V s(2845) =< V/2+1/2 s(2846) =< 2/3*V s(2847) =< 2/5*V s(2848) =< 4/5*V s(2849) =< 4/7*V s(2850) =< s(2842) s(2851) =< s(2842) s(2852) =< s(2842) s(2853) =< s(2842) s(2854) =< s(2842) s(2855) =< s(2842) s(2845) =< s(2842) s(2845) =< s(2843) s(2856) =< s(2846) s(2851) =< s(2846) s(2852) =< s(2846) s(2857) =< s(2847) s(2853) =< s(2848) s(2851) =< s(2849) s(2858) =< s(2844)+2 s(2859) =< s(2844)+1 s(2853) =< s(2843)*(1/5)+s(2848) s(2854) =< s(2843)*(1/5)+s(2848) s(2856) =< s(2843)*(1/3)+s(2846) s(2850) =< s(2843)*(1/3)+s(2846) s(2851) =< s(2843)*(1/3)+s(2846) s(2852) =< s(2843)*(1/3)+s(2846) s(2853) =< s(2843)*(1/3)+s(2846) s(2854) =< s(2843)*(1/3)+s(2846) s(2851) =< s(2843)*(3/7)+s(2849) s(2852) =< s(2843)*(3/7)+s(2849) s(2853) =< s(2843)*(3/7)+s(2849) s(2854) =< s(2843)*(3/7)+s(2849) s(2857) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2856) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2850) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2851) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2852) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2853) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2854) =< s(2843)*(3/5)+s(2845)*(1/5)+s(2847) s(2860) =< s(2855)*s(2858) s(2861) =< s(2855)*s(2858) s(2862) =< s(2854)*s(2858) s(2863) =< s(2851)*s(2859) s(2864) =< s(2856)*s(2859) s(2865) =< s(2857)*s(2844) s(2866) =< s(2860)*3 s(2867) =< s(2860)*2 s(2868) =< s(2860) s(2869) =< s(2860)*2 s(2870) =< s(2867) s(2871) =< s(2867)*2 s(2872) =< s(2866) s(2873) =< s(2866) s(2872) =< s(2867) s(2873) =< s(2867) s(2874) =< s(2872)*2 s(2875) =< s(2865) s(2876) =< s(2865)*2 with precondition: [V>=1,Out>=1,2*V+1>=Out] * Chain [72]: 0 with precondition: [Out=0,V>=0] * Chain [71]: 0 with precondition: [Out=1,V>=0] #### Cost of chains of fun5(Out): * Chain [75]: 0 with precondition: [Out=0] * Chain [74]: 0 with precondition: [Out=1] #### Cost of chains of fun6(Out): * Chain [77]: 0 with precondition: [Out=0] * Chain [76]: 0 with precondition: [Out=2] #### Cost of chains of fun7(V,Out): * Chain [79]: 1*s(2885)+1*s(2886)+10*s(2887)+1*s(2888)+1*s(2889)+42*s(2890)+1*s(2891)+19*s(2892)+17*s(2896)+1*s(2897)+1*s(2898)+1*s(2899)+32*s(2903)+3*s(2904)+20*s(2905)+4*s(2906)+10*s(2908)+2*s(2909)+15*s(2910)+3*s(2911)+1 Such that:s(2877) =< V s(2878) =< V+1 s(2879) =< 2*V s(2880) =< V/2+1/2 s(2881) =< 2/3*V s(2882) =< 2/5*V s(2883) =< 4/5*V s(2884) =< 4/7*V s(2885) =< s(2877) s(2886) =< s(2877) s(2887) =< s(2877) s(2888) =< s(2877) s(2889) =< s(2877) s(2890) =< s(2877) s(2880) =< s(2877) s(2880) =< s(2878) s(2891) =< s(2881) s(2886) =< s(2881) s(2887) =< s(2881) s(2892) =< s(2882) s(2888) =< s(2883) s(2886) =< s(2884) s(2893) =< s(2879)+2 s(2894) =< s(2879)+1 s(2888) =< s(2878)*(1/5)+s(2883) s(2889) =< s(2878)*(1/5)+s(2883) s(2891) =< s(2878)*(1/3)+s(2881) s(2885) =< s(2878)*(1/3)+s(2881) s(2886) =< s(2878)*(1/3)+s(2881) s(2887) =< s(2878)*(1/3)+s(2881) s(2888) =< s(2878)*(1/3)+s(2881) s(2889) =< s(2878)*(1/3)+s(2881) s(2886) =< s(2878)*(3/7)+s(2884) s(2887) =< s(2878)*(3/7)+s(2884) s(2888) =< s(2878)*(3/7)+s(2884) s(2889) =< s(2878)*(3/7)+s(2884) s(2892) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2891) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2885) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2886) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2887) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2888) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2889) =< s(2878)*(3/5)+s(2880)*(1/5)+s(2882) s(2895) =< s(2890)*s(2893) s(2896) =< s(2890)*s(2893) s(2897) =< s(2889)*s(2893) s(2898) =< s(2886)*s(2894) s(2899) =< s(2891)*s(2894) s(2900) =< s(2892)*s(2879) s(2901) =< s(2895)*3 s(2902) =< s(2895)*2 s(2903) =< s(2895) s(2904) =< s(2895)*2 s(2905) =< s(2902) s(2906) =< s(2902)*2 s(2907) =< s(2901) s(2908) =< s(2901) s(2907) =< s(2902) s(2908) =< s(2902) s(2909) =< s(2907)*2 s(2910) =< s(2900) s(2911) =< s(2900)*2 with precondition: [Out=0,V>=0] * Chain [78]: 1*s(2920)+1*s(2921)+10*s(2922)+1*s(2923)+1*s(2924)+42*s(2925)+1*s(2926)+19*s(2927)+17*s(2931)+1*s(2932)+1*s(2933)+1*s(2934)+32*s(2938)+3*s(2939)+20*s(2940)+4*s(2941)+10*s(2943)+2*s(2944)+15*s(2945)+3*s(2946)+1 Such that:s(2912) =< V s(2913) =< V+1 s(2914) =< 2*V s(2915) =< V/2+1/2 s(2916) =< 2/3*V s(2917) =< 2/5*V s(2918) =< 4/5*V s(2919) =< 4/7*V s(2920) =< s(2912) s(2921) =< s(2912) s(2922) =< s(2912) s(2923) =< s(2912) s(2924) =< s(2912) s(2925) =< s(2912) s(2915) =< s(2912) s(2915) =< s(2913) s(2926) =< s(2916) s(2921) =< s(2916) s(2922) =< s(2916) s(2927) =< s(2917) s(2923) =< s(2918) s(2921) =< s(2919) s(2928) =< s(2914)+2 s(2929) =< s(2914)+1 s(2923) =< s(2913)*(1/5)+s(2918) s(2924) =< s(2913)*(1/5)+s(2918) s(2926) =< s(2913)*(1/3)+s(2916) s(2920) =< s(2913)*(1/3)+s(2916) s(2921) =< s(2913)*(1/3)+s(2916) s(2922) =< s(2913)*(1/3)+s(2916) s(2923) =< s(2913)*(1/3)+s(2916) s(2924) =< s(2913)*(1/3)+s(2916) s(2921) =< s(2913)*(3/7)+s(2919) s(2922) =< s(2913)*(3/7)+s(2919) s(2923) =< s(2913)*(3/7)+s(2919) s(2924) =< s(2913)*(3/7)+s(2919) s(2927) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2926) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2920) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2921) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2922) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2923) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2924) =< s(2913)*(3/5)+s(2915)*(1/5)+s(2917) s(2930) =< s(2925)*s(2928) s(2931) =< s(2925)*s(2928) s(2932) =< s(2924)*s(2928) s(2933) =< s(2921)*s(2929) s(2934) =< s(2926)*s(2929) s(2935) =< s(2927)*s(2914) s(2936) =< s(2930)*3 s(2937) =< s(2930)*2 s(2938) =< s(2930) s(2939) =< s(2930)*2 s(2940) =< s(2937) s(2941) =< s(2937)*2 s(2942) =< s(2936) s(2943) =< s(2936) s(2942) =< s(2937) s(2943) =< s(2937) s(2944) =< s(2942)*2 s(2945) =< s(2935) s(2946) =< s(2935)*2 with precondition: [V>=1,Out>=0,2*V>=Out+1] #### Cost of chains of fun8(V,Out): * Chain [82]: 1*s(2955)+1*s(2956)+10*s(2957)+1*s(2958)+1*s(2959)+42*s(2960)+1*s(2961)+19*s(2962)+17*s(2966)+1*s(2967)+1*s(2968)+1*s(2969)+32*s(2973)+3*s(2974)+20*s(2975)+4*s(2976)+10*s(2978)+2*s(2979)+15*s(2980)+3*s(2981)+1 Such that:s(2947) =< V s(2948) =< V+1 s(2949) =< 2*V s(2950) =< V/2+1/2 s(2951) =< 2/3*V s(2952) =< 2/5*V s(2953) =< 4/5*V s(2954) =< 4/7*V s(2955) =< s(2947) s(2956) =< s(2947) s(2957) =< s(2947) s(2958) =< s(2947) s(2959) =< s(2947) s(2960) =< s(2947) s(2950) =< s(2947) s(2950) =< s(2948) s(2961) =< s(2951) s(2956) =< s(2951) s(2957) =< s(2951) s(2962) =< s(2952) s(2958) =< s(2953) s(2956) =< s(2954) s(2963) =< s(2949)+2 s(2964) =< s(2949)+1 s(2958) =< s(2948)*(1/5)+s(2953) s(2959) =< s(2948)*(1/5)+s(2953) s(2961) =< s(2948)*(1/3)+s(2951) s(2955) =< s(2948)*(1/3)+s(2951) s(2956) =< s(2948)*(1/3)+s(2951) s(2957) =< s(2948)*(1/3)+s(2951) s(2958) =< s(2948)*(1/3)+s(2951) s(2959) =< s(2948)*(1/3)+s(2951) s(2956) =< s(2948)*(3/7)+s(2954) s(2957) =< s(2948)*(3/7)+s(2954) s(2958) =< s(2948)*(3/7)+s(2954) s(2959) =< s(2948)*(3/7)+s(2954) s(2962) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2961) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2955) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2956) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2957) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2958) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2959) =< s(2948)*(3/5)+s(2950)*(1/5)+s(2952) s(2965) =< s(2960)*s(2963) s(2966) =< s(2960)*s(2963) s(2967) =< s(2959)*s(2963) s(2968) =< s(2956)*s(2964) s(2969) =< s(2961)*s(2964) s(2970) =< s(2962)*s(2949) s(2971) =< s(2965)*3 s(2972) =< s(2965)*2 s(2973) =< s(2965) s(2974) =< s(2965)*2 s(2975) =< s(2972) s(2976) =< s(2972)*2 s(2977) =< s(2971) s(2978) =< s(2971) s(2977) =< s(2972) s(2978) =< s(2972) s(2979) =< s(2977)*2 s(2980) =< s(2970) s(2981) =< s(2970)*2 with precondition: [Out=0,V>=0] * Chain [81]: 2*s(2990)+2*s(2991)+20*s(2992)+2*s(2993)+2*s(2994)+84*s(2995)+2*s(2996)+38*s(2997)+34*s(3001)+2*s(3002)+2*s(3003)+2*s(3004)+64*s(3008)+6*s(3009)+40*s(3010)+8*s(3011)+20*s(3013)+4*s(3014)+30*s(3015)+6*s(3016)+17*s(3052)+10*s(3055)+2*s(3056)+5*s(3058)+1*s(3059)+17*s(3060)+10*s(3063)+2*s(3064)+5*s(3066)+1*s(3067)+9 Such that:s(3060) =< 2 s(3062) =< 4 s(3061) =< 6 s(3054) =< 4*V s(3053) =< 6*V aux(234) =< V aux(235) =< V+1 aux(236) =< 2*V aux(237) =< V/2+1/2 aux(238) =< 2/3*V aux(239) =< 2/5*V aux(240) =< 4/5*V aux(241) =< 4/7*V s(2985) =< aux(237) s(3063) =< s(3062) s(3064) =< s(3062)*2 s(3065) =< s(3061) s(3066) =< s(3061) s(3065) =< s(3062) s(3066) =< s(3062) s(3067) =< s(3065)*2 s(2990) =< aux(234) s(2991) =< aux(234) s(2992) =< aux(234) s(2993) =< aux(234) s(2994) =< aux(234) s(2995) =< aux(234) s(2985) =< aux(234) s(2985) =< aux(235) s(2996) =< aux(238) s(2991) =< aux(238) s(2992) =< aux(238) s(2997) =< aux(239) s(2993) =< aux(240) s(2991) =< aux(241) s(2998) =< aux(236)+2 s(2999) =< aux(236)+1 s(2993) =< aux(235)*(1/5)+aux(240) s(2994) =< aux(235)*(1/5)+aux(240) s(2996) =< aux(235)*(1/3)+aux(238) s(2990) =< aux(235)*(1/3)+aux(238) s(2991) =< aux(235)*(1/3)+aux(238) s(2992) =< aux(235)*(1/3)+aux(238) s(2993) =< aux(235)*(1/3)+aux(238) s(2994) =< aux(235)*(1/3)+aux(238) s(2991) =< aux(235)*(3/7)+aux(241) s(2992) =< aux(235)*(3/7)+aux(241) s(2993) =< aux(235)*(3/7)+aux(241) s(2994) =< aux(235)*(3/7)+aux(241) s(2997) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(2996) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(2990) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(2991) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(2992) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(2993) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(2994) =< aux(235)*(3/5)+s(2985)*(1/5)+aux(239) s(3000) =< s(2995)*s(2998) s(3001) =< s(2995)*s(2998) s(3002) =< s(2994)*s(2998) s(3003) =< s(2991)*s(2999) s(3004) =< s(2996)*s(2999) s(3005) =< s(2997)*aux(236) s(3006) =< s(3000)*3 s(3007) =< s(3000)*2 s(3008) =< s(3000) s(3009) =< s(3000)*2 s(3010) =< s(3007) s(3011) =< s(3007)*2 s(3012) =< s(3006) s(3013) =< s(3006) s(3012) =< s(3007) s(3013) =< s(3007) s(3014) =< s(3012)*2 s(3015) =< s(3005) s(3016) =< s(3005)*2 s(3052) =< aux(236) s(3055) =< s(3054) s(3056) =< s(3054)*2 s(3057) =< s(3053) s(3058) =< s(3053) s(3057) =< s(3054) s(3058) =< s(3054) s(3059) =< s(3057)*2 with precondition: [Out>=1,V>=Out] * Chain [80]: 1*s(3076)+1*s(3077)+10*s(3078)+1*s(3079)+1*s(3080)+42*s(3081)+1*s(3082)+19*s(3083)+17*s(3087)+1*s(3088)+1*s(3089)+1*s(3090)+32*s(3094)+3*s(3095)+20*s(3096)+4*s(3097)+10*s(3099)+2*s(3100)+15*s(3101)+3*s(3102)+17*s(3103)+10*s(3106)+2*s(3107)+5*s(3109)+1*s(3110)+17*s(3111)+10*s(3114)+2*s(3115)+5*s(3117)+1*s(3118)+9 Such that:s(3111) =< 2 s(3113) =< 4 s(3112) =< 6 s(3068) =< V s(3069) =< V+1 aux(242) =< 2*V s(3105) =< 4*V s(3104) =< 6*V s(3071) =< V/2+1/2 s(3072) =< 2/3*V s(3073) =< 2/5*V s(3074) =< 4/5*V s(3075) =< 4/7*V s(3114) =< s(3113) s(3115) =< s(3113)*2 s(3116) =< s(3112) s(3117) =< s(3112) s(3116) =< s(3113) s(3117) =< s(3113) s(3118) =< s(3116)*2 s(3103) =< aux(242) s(3106) =< s(3105) s(3107) =< s(3105)*2 s(3108) =< s(3104) s(3109) =< s(3104) s(3108) =< s(3105) s(3109) =< s(3105) s(3110) =< s(3108)*2 s(3076) =< s(3068) s(3077) =< s(3068) s(3078) =< s(3068) s(3079) =< s(3068) s(3080) =< s(3068) s(3081) =< s(3068) s(3071) =< s(3068) s(3071) =< s(3069) s(3082) =< s(3072) s(3077) =< s(3072) s(3078) =< s(3072) s(3083) =< s(3073) s(3079) =< s(3074) s(3077) =< s(3075) s(3084) =< aux(242)+2 s(3085) =< aux(242)+1 s(3079) =< s(3069)*(1/5)+s(3074) s(3080) =< s(3069)*(1/5)+s(3074) s(3082) =< s(3069)*(1/3)+s(3072) s(3076) =< s(3069)*(1/3)+s(3072) s(3077) =< s(3069)*(1/3)+s(3072) s(3078) =< s(3069)*(1/3)+s(3072) s(3079) =< s(3069)*(1/3)+s(3072) s(3080) =< s(3069)*(1/3)+s(3072) s(3077) =< s(3069)*(3/7)+s(3075) s(3078) =< s(3069)*(3/7)+s(3075) s(3079) =< s(3069)*(3/7)+s(3075) s(3080) =< s(3069)*(3/7)+s(3075) s(3083) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3082) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3076) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3077) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3078) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3079) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3080) =< s(3069)*(3/5)+s(3071)*(1/5)+s(3073) s(3086) =< s(3081)*s(3084) s(3087) =< s(3081)*s(3084) s(3088) =< s(3080)*s(3084) s(3089) =< s(3077)*s(3085) s(3090) =< s(3082)*s(3085) s(3091) =< s(3083)*aux(242) s(3092) =< s(3086)*3 s(3093) =< s(3086)*2 s(3094) =< s(3086) s(3095) =< s(3086)*2 s(3096) =< s(3093) s(3097) =< s(3093)*2 s(3098) =< s(3092) s(3099) =< s(3092) s(3098) =< s(3093) s(3099) =< s(3093) s(3100) =< s(3098)*2 s(3101) =< s(3091) s(3102) =< s(3091)*2 with precondition: [Out>=2,V+1>=Out] #### Cost of chains of start(V,V2): * Chain [83]: 1109*s(3122)+3*s(3123)+1604*s(3132)+3*s(3133)+70*s(3145)+7*s(3146)+10*s(3148)+2*s(3149)+37*s(3166)+37*s(3167)+370*s(3168)+37*s(3169)+37*s(3170)+37*s(3172)+703*s(3173)+629*s(3177)+37*s(3178)+37*s(3179)+37*s(3180)+1184*s(3184)+111*s(3185)+740*s(3186)+148*s(3187)+370*s(3189)+74*s(3190)+555*s(3191)+111*s(3192)+51*s(3238)+2*s(3239)+26*s(3314)+26*s(3315)+260*s(3316)+26*s(3317)+26*s(3318)+26*s(3320)+494*s(3321)+442*s(3325)+26*s(3326)+26*s(3327)+26*s(3328)+832*s(3332)+78*s(3333)+520*s(3334)+104*s(3335)+260*s(3337)+52*s(3338)+390*s(3339)+78*s(3340)+34*s(3431)+6*s(3432)+1*s(3562)+20*s(3866)+4*s(3867)+10*s(3869)+2*s(3870)+20*s(3899)+4*s(3900)+10*s(3902)+2*s(3903)+19 Such that:s(3562) =< 1 aux(247) =< 2 aux(248) =< 4 aux(249) =< 6 aux(250) =< V aux(251) =< V+1 aux(252) =< 2*V aux(253) =< 3*V aux(254) =< 4*V aux(255) =< 6*V aux(256) =< V/2+1/2 aux(257) =< 2/3*V aux(258) =< 2/5*V aux(259) =< 4/5*V aux(260) =< 4/7*V aux(261) =< V2 aux(262) =< V2+1 aux(263) =< 2*V2 aux(264) =< V2/2+1/2 aux(265) =< 2/3*V2 aux(266) =< 2/5*V2 aux(267) =< 4/5*V2 aux(268) =< 4/7*V2 s(3238) =< aux(247) s(3132) =< aux(250) s(3161) =< aux(256) s(3122) =< aux(261) s(3166) =< aux(250) s(3167) =< aux(250) s(3168) =< aux(250) s(3169) =< aux(250) s(3170) =< aux(250) s(3161) =< aux(250) s(3161) =< aux(251) s(3172) =< aux(257) s(3167) =< aux(257) s(3168) =< aux(257) s(3173) =< aux(258) s(3169) =< aux(259) s(3167) =< aux(260) s(3174) =< aux(252)+2 s(3175) =< aux(252)+1 s(3169) =< aux(251)*(1/5)+aux(259) s(3170) =< aux(251)*(1/5)+aux(259) s(3172) =< aux(251)*(1/3)+aux(257) s(3166) =< aux(251)*(1/3)+aux(257) s(3167) =< aux(251)*(1/3)+aux(257) s(3168) =< aux(251)*(1/3)+aux(257) s(3169) =< aux(251)*(1/3)+aux(257) s(3170) =< aux(251)*(1/3)+aux(257) s(3167) =< aux(251)*(3/7)+aux(260) s(3168) =< aux(251)*(3/7)+aux(260) s(3169) =< aux(251)*(3/7)+aux(260) s(3170) =< aux(251)*(3/7)+aux(260) s(3173) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3172) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3166) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3167) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3168) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3169) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3170) =< aux(251)*(3/5)+s(3161)*(1/5)+aux(258) s(3176) =< s(3132)*s(3174) s(3177) =< s(3132)*s(3174) s(3178) =< s(3170)*s(3174) s(3179) =< s(3167)*s(3175) s(3180) =< s(3172)*s(3175) s(3181) =< s(3173)*aux(252) s(3182) =< s(3176)*3 s(3183) =< s(3176)*2 s(3184) =< s(3176) s(3185) =< s(3176)*2 s(3186) =< s(3183) s(3187) =< s(3183)*2 s(3188) =< s(3182) s(3189) =< s(3182) s(3188) =< s(3183) s(3189) =< s(3183) s(3190) =< s(3188)*2 s(3191) =< s(3181) s(3192) =< s(3181)*2 s(3313) =< aux(264) s(3314) =< aux(261) s(3315) =< aux(261) s(3316) =< aux(261) s(3317) =< aux(261) s(3318) =< aux(261) s(3313) =< aux(261) s(3313) =< aux(262) s(3320) =< aux(265) s(3315) =< aux(265) s(3316) =< aux(265) s(3321) =< aux(266) s(3317) =< aux(267) s(3315) =< aux(268) s(3322) =< aux(263)+2 s(3323) =< aux(263)+1 s(3317) =< aux(262)*(1/5)+aux(267) s(3318) =< aux(262)*(1/5)+aux(267) s(3320) =< aux(262)*(1/3)+aux(265) s(3314) =< aux(262)*(1/3)+aux(265) s(3315) =< aux(262)*(1/3)+aux(265) s(3316) =< aux(262)*(1/3)+aux(265) s(3317) =< aux(262)*(1/3)+aux(265) s(3318) =< aux(262)*(1/3)+aux(265) s(3315) =< aux(262)*(3/7)+aux(268) s(3316) =< aux(262)*(3/7)+aux(268) s(3317) =< aux(262)*(3/7)+aux(268) s(3318) =< aux(262)*(3/7)+aux(268) s(3321) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3320) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3314) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3315) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3316) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3317) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3318) =< aux(262)*(3/5)+s(3313)*(1/5)+aux(266) s(3324) =< s(3122)*s(3322) s(3325) =< s(3122)*s(3322) s(3326) =< s(3318)*s(3322) s(3327) =< s(3315)*s(3323) s(3328) =< s(3320)*s(3323) s(3329) =< s(3321)*aux(263) s(3330) =< s(3324)*3 s(3331) =< s(3324)*2 s(3332) =< s(3324) s(3333) =< s(3324)*2 s(3334) =< s(3331) s(3335) =< s(3331)*2 s(3336) =< s(3330) s(3337) =< s(3330) s(3336) =< s(3331) s(3337) =< s(3331) s(3338) =< s(3336)*2 s(3339) =< s(3329) s(3340) =< s(3329)*2 s(3431) =< aux(263) s(3239) =< aux(247)*2 s(3145) =< aux(252) s(3146) =< aux(252)*2 s(3866) =< aux(248) s(3867) =< aux(248)*2 s(3868) =< aux(249) s(3869) =< aux(249) s(3868) =< aux(248) s(3869) =< aux(248) s(3870) =< s(3868)*2 s(3899) =< aux(254) s(3900) =< aux(254)*2 s(3901) =< aux(255) s(3902) =< aux(255) s(3901) =< aux(254) s(3902) =< aux(254) s(3903) =< s(3901)*2 s(3133) =< aux(250)*2 s(3147) =< aux(253) s(3148) =< aux(253) s(3147) =< aux(252) s(3148) =< aux(252) s(3149) =< s(3147)*2 s(3432) =< aux(263)*2 s(3123) =< aux(261)*2 with precondition: [] Closed-form bounds of start(V,V2): ------------------------------------- * Chain [83] with precondition: [] - Upper bound: nat(V)*13561+326+nat(V)*5735*nat(2*V)+nat(V2)*9513+nat(V2)*4030*nat(2*V2)+nat(2*V)*84+nat(2*V)*37*nat(2/3*V)+nat(2*V)*777*nat(2/5*V)+nat(2*V2)*46+nat(2*V2)*26*nat(2/3*V2)+nat(2*V2)*546*nat(2/5*V2)+nat(3*V)*14+nat(4*V)*28+nat(6*V)*14+nat(2/3*V)*74+nat(2/3*V2)*52+nat(2/5*V)*703+nat(2/5*V2)*494 - Complexity: n^2 ### Maximum cost of start(V,V2): nat(V)*13561+326+nat(V)*5735*nat(2*V)+nat(V2)*9513+nat(V2)*4030*nat(2*V2)+nat(2*V)*84+nat(2*V)*37*nat(2/3*V)+nat(2*V)*777*nat(2/5*V)+nat(2*V2)*46+nat(2*V2)*26*nat(2/3*V2)+nat(2*V2)*546*nat(2/5*V2)+nat(3*V)*14+nat(4*V)*28+nat(6*V)*14+nat(2/3*V)*74+nat(2/3*V2)*52+nat(2/5*V)*703+nat(2/5*V2)*494 Asymptotic class: n^2 * Total analysis performed in 10830 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: half(x) -> if(ge(x, s(s(0'))), x) if(false, x) -> 0' if(true, x) -> s(half(p(p(x)))) p(0') -> 0' p(s(x)) -> x ge(x, 0') -> true ge(0', s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0') -> 0' log(s(x)) -> s(log(half(s(x)))) The (relative) TRS S consists of the following rules: encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (17) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (18) Obligation: Innermost TRS: Rules: half(x) -> if(ge(x, s(s(0'))), x) if(false, x) -> 0' if(true, x) -> s(half(p(p(x)))) p(0') -> 0' p(s(x)) -> x ge(x, 0') -> true ge(0', s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0') -> 0' log(s(x)) -> s(log(half(s(x)))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) Types: half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log 0' :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encArg :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_0 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log hole_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log1_3 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3 :: Nat -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log ---------------------------------------- (19) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: half, if, ge, log, encArg They will be analysed ascendingly in the following order: half = if ge < half half < log half < encArg if < encArg ge < encArg log < encArg ---------------------------------------- (20) Obligation: Innermost TRS: Rules: half(x) -> if(ge(x, s(s(0'))), x) if(false, x) -> 0' if(true, x) -> s(half(p(p(x)))) p(0') -> 0' p(s(x)) -> x ge(x, 0') -> true ge(0', s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0') -> 0' log(s(x)) -> s(log(half(s(x)))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) Types: half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log 0' :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encArg :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_0 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log hole_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log1_3 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3 :: Nat -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log Generator Equations: gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(0) <=> 0' gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(+(x, 1)) <=> s(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(x)) The following defined symbols remain to be analysed: ge, half, if, log, encArg They will be analysed ascendingly in the following order: half = if ge < half half < log half < encArg if < encArg ge < encArg log < encArg ---------------------------------------- (21) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: ge(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n4_3), gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n4_3)) -> true, rt in Omega(1 + n4_3) Induction Base: ge(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(0), gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(0)) ->_R^Omega(1) true Induction Step: ge(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(+(n4_3, 1)), gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(+(n4_3, 1))) ->_R^Omega(1) ge(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n4_3), gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n4_3)) ->_IH true 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: half(x) -> if(ge(x, s(s(0'))), x) if(false, x) -> 0' if(true, x) -> s(half(p(p(x)))) p(0') -> 0' p(s(x)) -> x ge(x, 0') -> true ge(0', s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0') -> 0' log(s(x)) -> s(log(half(s(x)))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) Types: half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log 0' :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encArg :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_0 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log hole_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log1_3 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3 :: Nat -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log Generator Equations: gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(0) <=> 0' gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(+(x, 1)) <=> s(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(x)) The following defined symbols remain to be analysed: ge, half, if, log, encArg They will be analysed ascendingly in the following order: half = if ge < half half < log half < encArg if < encArg ge < encArg log < encArg ---------------------------------------- (24) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (25) BOUNDS(n^1, INF) ---------------------------------------- (26) Obligation: Innermost TRS: Rules: half(x) -> if(ge(x, s(s(0'))), x) if(false, x) -> 0' if(true, x) -> s(half(p(p(x)))) p(0') -> 0' p(s(x)) -> x ge(x, 0') -> true ge(0', s(x)) -> false ge(s(x), s(y)) -> ge(x, y) log(0') -> 0' log(s(x)) -> s(log(half(s(x)))) encArg(s(x_1)) -> s(encArg(x_1)) encArg(0') -> 0' encArg(false) -> false encArg(true) -> true encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_if(x_1, x_2)) -> if(encArg(x_1), encArg(x_2)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_ge(x_1, x_2)) -> ge(encArg(x_1), encArg(x_2)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encode_half(x_1) -> half(encArg(x_1)) encode_if(x_1, x_2) -> if(encArg(x_1), encArg(x_2)) encode_ge(x_1, x_2) -> ge(encArg(x_1), encArg(x_2)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_false -> false encode_true -> true encode_p(x_1) -> p(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) Types: half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log 0' :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encArg :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log cons_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_half :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_if :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_ge :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_s :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_0 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_false :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_true :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_p :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log encode_log :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log hole_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log1_3 :: 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3 :: Nat -> 0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log Lemmas: ge(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n4_3), gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n4_3)) -> true, rt in Omega(1 + n4_3) Generator Equations: gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(0) <=> 0' gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(+(x, 1)) <=> s(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(x)) The following defined symbols remain to be analysed: if, half, log, encArg They will be analysed ascendingly in the following order: half = if half < log half < encArg if < encArg log < encArg ---------------------------------------- (27) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n719_3)) -> gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n719_3), rt in Omega(0) Induction Base: encArg(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(0)) ->_R^Omega(0) 0' Induction Step: encArg(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(+(n719_3, 1))) ->_R^Omega(0) s(encArg(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(n719_3))) ->_IH s(gen_0':s:false:true:cons_half:cons_if:cons_p:cons_ge:cons_log2_3(c720_3)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (28) BOUNDS(1, INF)