/export/starexec/sandbox2/solver/bin/starexec_run_complexity /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: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). (0) CpxTRS (1) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxWeightedTrs (3) TypeInferenceProof [BOTH BOUNDS(ID, ID), 1 ms] (4) CpxTypedWeightedTrs (5) CompletionProof [UPPER BOUND(ID), 0 ms] (6) CpxTypedWeightedCompleteTrs (7) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (8) CpxRNTS (9) CompleteCoflocoProof [FINISHED, 3063 ms] (10) BOUNDS(1, n^2) (11) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (12) TRS for Loop Detection (13) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] (14) BEST (15) proven lower bound (16) LowerBoundPropagationProof [FINISHED, 0 ms] (17) BOUNDS(n^1, INF) (18) TRS for Loop Detection ---------------------------------------- (0) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: division(x, y) -> div(x, y, 0) div(x, y, z) -> if(lt(x, y), x, y, inc(z)) if(true, x, y, z) -> z if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) minus(x, 0) -> x minus(s(x), s(y)) -> minus(x, y) lt(x, 0) -> false lt(0, s(y)) -> true lt(s(x), s(y)) -> lt(x, y) inc(0) -> s(0) inc(s(x)) -> s(inc(x)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (2) 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: division(x, y) -> div(x, y, 0) [1] div(x, y, z) -> if(lt(x, y), x, y, inc(z)) [1] if(true, x, y, z) -> z [1] if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] lt(x, 0) -> false [1] lt(0, s(y)) -> true [1] lt(s(x), s(y)) -> lt(x, y) [1] inc(0) -> s(0) [1] inc(s(x)) -> s(inc(x)) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (3) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (4) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: division(x, y) -> div(x, y, 0) [1] div(x, y, z) -> if(lt(x, y), x, y, inc(z)) [1] if(true, x, y, z) -> z [1] if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] lt(x, 0) -> false [1] lt(0, s(y)) -> true [1] lt(s(x), s(y)) -> lt(x, y) [1] inc(0) -> s(0) [1] inc(s(x)) -> s(inc(x)) [1] The TRS has the following type information: division :: 0:s -> 0:s -> 0:s div :: 0:s -> 0:s -> 0:s -> 0:s 0 :: 0:s if :: true:false -> 0:s -> 0:s -> 0:s -> 0:s lt :: 0:s -> 0:s -> true:false inc :: 0:s -> 0:s true :: true:false false :: true:false s :: 0:s -> 0:s minus :: 0:s -> 0:s -> 0:s Rewrite Strategy: INNERMOST ---------------------------------------- (5) 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: if(v0, v1, v2, v3) -> null_if [0] minus(v0, v1) -> null_minus [0] lt(v0, v1) -> null_lt [0] inc(v0) -> null_inc [0] And the following fresh constants: null_if, null_minus, null_lt, null_inc ---------------------------------------- (6) 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: division(x, y) -> div(x, y, 0) [1] div(x, y, z) -> if(lt(x, y), x, y, inc(z)) [1] if(true, x, y, z) -> z [1] if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) [1] minus(x, 0) -> x [1] minus(s(x), s(y)) -> minus(x, y) [1] lt(x, 0) -> false [1] lt(0, s(y)) -> true [1] lt(s(x), s(y)) -> lt(x, y) [1] inc(0) -> s(0) [1] inc(s(x)) -> s(inc(x)) [1] if(v0, v1, v2, v3) -> null_if [0] minus(v0, v1) -> null_minus [0] lt(v0, v1) -> null_lt [0] inc(v0) -> null_inc [0] The TRS has the following type information: division :: 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc div :: 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc 0 :: 0:s:null_if:null_minus:null_inc if :: true:false:null_lt -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc lt :: 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> true:false:null_lt inc :: 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc true :: true:false:null_lt false :: true:false:null_lt s :: 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc minus :: 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc -> 0:s:null_if:null_minus:null_inc null_if :: 0:s:null_if:null_minus:null_inc null_minus :: 0:s:null_if:null_minus:null_inc null_lt :: true:false:null_lt null_inc :: 0:s:null_if:null_minus:null_inc Rewrite Strategy: INNERMOST ---------------------------------------- (7) 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 true => 2 false => 1 null_if => 0 null_minus => 0 null_lt => 0 null_inc => 0 ---------------------------------------- (8) Obligation: Complexity RNTS consisting of the following rules: div(z', z'', z1) -{ 1 }-> if(lt(x, y), x, y, inc(z)) :|: z1 = z, z >= 0, z' = x, z'' = y, x >= 0, y >= 0 division(z', z'') -{ 1 }-> div(x, y, 0) :|: z' = x, z'' = y, x >= 0, y >= 0 if(z', z'', z1, z2) -{ 1 }-> z :|: z1 = y, z >= 0, z' = 2, z2 = z, x >= 0, y >= 0, z'' = x if(z', z'', z1, z2) -{ 1 }-> div(minus(x, 1 + y), 1 + y, z) :|: z >= 0, z2 = z, x >= 0, y >= 0, z'' = x, z1 = 1 + y, z' = 1 if(z', z'', z1, z2) -{ 0 }-> 0 :|: z2 = v3, v0 >= 0, z1 = v2, v1 >= 0, z'' = v1, v2 >= 0, v3 >= 0, z' = v0 inc(z') -{ 0 }-> 0 :|: v0 >= 0, z' = v0 inc(z') -{ 1 }-> 1 + inc(x) :|: z' = 1 + x, x >= 0 inc(z') -{ 1 }-> 1 + 0 :|: z' = 0 lt(z', z'') -{ 1 }-> lt(x, y) :|: z' = 1 + x, x >= 0, y >= 0, z'' = 1 + y lt(z', z'') -{ 1 }-> 2 :|: y >= 0, z'' = 1 + y, z' = 0 lt(z', z'') -{ 1 }-> 1 :|: z'' = 0, z' = x, x >= 0 lt(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 minus(z', z'') -{ 1 }-> x :|: z'' = 0, z' = x, x >= 0 minus(z', z'') -{ 1 }-> minus(x, y) :|: z' = 1 + x, x >= 0, y >= 0, z'' = 1 + y minus(z', z'') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z'' = v1, z' = v0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (9) CompleteCoflocoProof (FINISHED) Transformed the RNTS (where only complete derivations are relevant) into cost relations for CoFloCo: eq(start(V, V1, V7, V11),0,[division(V, V1, Out)],[V >= 0,V1 >= 0]). eq(start(V, V1, V7, V11),0,[div(V, V1, V7, Out)],[V >= 0,V1 >= 0,V7 >= 0]). eq(start(V, V1, V7, V11),0,[if(V, V1, V7, V11, Out)],[V >= 0,V1 >= 0,V7 >= 0,V11 >= 0]). eq(start(V, V1, V7, V11),0,[minus(V, V1, Out)],[V >= 0,V1 >= 0]). eq(start(V, V1, V7, V11),0,[lt(V, V1, Out)],[V >= 0,V1 >= 0]). eq(start(V, V1, V7, V11),0,[inc(V, Out)],[V >= 0]). eq(division(V, V1, Out),1,[div(V3, V2, 0, Ret)],[Out = Ret,V = V3,V1 = V2,V3 >= 0,V2 >= 0]). eq(div(V, V1, V7, Out),1,[lt(V4, V5, Ret0),inc(V6, Ret3),if(Ret0, V4, V5, Ret3, Ret1)],[Out = Ret1,V7 = V6,V6 >= 0,V = V4,V1 = V5,V4 >= 0,V5 >= 0]). eq(if(V, V1, V7, V11, Out),1,[],[Out = V8,V7 = V9,V8 >= 0,V = 2,V11 = V8,V10 >= 0,V9 >= 0,V1 = V10]). eq(if(V, V1, V7, V11, Out),1,[minus(V12, 1 + V13, Ret01),div(Ret01, 1 + V13, V14, Ret2)],[Out = Ret2,V14 >= 0,V11 = V14,V12 >= 0,V13 >= 0,V1 = V12,V7 = 1 + V13,V = 1]). eq(minus(V, V1, Out),1,[],[Out = V15,V1 = 0,V = V15,V15 >= 0]). eq(minus(V, V1, Out),1,[minus(V17, V16, Ret4)],[Out = Ret4,V = 1 + V17,V17 >= 0,V16 >= 0,V1 = 1 + V16]). eq(lt(V, V1, Out),1,[],[Out = 1,V1 = 0,V = V18,V18 >= 0]). eq(lt(V, V1, Out),1,[],[Out = 2,V19 >= 0,V1 = 1 + V19,V = 0]). eq(lt(V, V1, Out),1,[lt(V20, V21, Ret5)],[Out = Ret5,V = 1 + V20,V20 >= 0,V21 >= 0,V1 = 1 + V21]). eq(inc(V, Out),1,[],[Out = 1,V = 0]). eq(inc(V, Out),1,[inc(V22, Ret11)],[Out = 1 + Ret11,V = 1 + V22,V22 >= 0]). eq(if(V, V1, V7, V11, Out),0,[],[Out = 0,V11 = V25,V24 >= 0,V7 = V26,V23 >= 0,V1 = V23,V26 >= 0,V25 >= 0,V = V24]). eq(minus(V, V1, Out),0,[],[Out = 0,V28 >= 0,V27 >= 0,V1 = V27,V = V28]). eq(lt(V, V1, Out),0,[],[Out = 0,V30 >= 0,V29 >= 0,V1 = V29,V = V30]). eq(inc(V, Out),0,[],[Out = 0,V31 >= 0,V = V31]). input_output_vars(division(V,V1,Out),[V,V1],[Out]). input_output_vars(div(V,V1,V7,Out),[V,V1,V7],[Out]). input_output_vars(if(V,V1,V7,V11,Out),[V,V1,V7,V11],[Out]). input_output_vars(minus(V,V1,Out),[V,V1],[Out]). input_output_vars(lt(V,V1,Out),[V,V1],[Out]). input_output_vars(inc(V,Out),[V],[Out]). CoFloCo proof output: Preprocessing Cost Relations ===================================== #### Computed strongly connected components 0. recursive : [minus/3] 1. recursive : [inc/2] 2. recursive : [lt/3] 3. recursive : [(div)/4,if/5] 4. non_recursive : [division/3] 5. non_recursive : [start/4] #### Obtained direct recursion through partial evaluation 0. SCC is partially evaluated into minus/3 1. SCC is partially evaluated into inc/2 2. SCC is partially evaluated into lt/3 3. SCC is partially evaluated into (div)/4 4. SCC is completely evaluated into other SCCs 5. SCC is partially evaluated into start/4 Control-Flow Refinement of Cost Relations ===================================== ### Specialization of cost equations minus/3 * CE 11 is refined into CE [22] * CE 9 is refined into CE [23] * CE 10 is refined into CE [24] ### Cost equations --> "Loop" of minus/3 * CEs [24] --> Loop 15 * CEs [22] --> Loop 16 * CEs [23] --> Loop 17 ### Ranking functions of CR minus(V,V1,Out) * RF of phase [15]: [V,V1] #### Partial ranking functions of CR minus(V,V1,Out) * Partial RF of phase [15]: - RF of loop [15:1]: V V1 ### Specialization of cost equations inc/2 * CE 21 is refined into CE [25] * CE 19 is refined into CE [26] * CE 20 is refined into CE [27] ### Cost equations --> "Loop" of inc/2 * CEs [27] --> Loop 18 * CEs [25] --> Loop 19 * CEs [26] --> Loop 20 ### Ranking functions of CR inc(V,Out) * RF of phase [18]: [V] #### Partial ranking functions of CR inc(V,Out) * Partial RF of phase [18]: - RF of loop [18:1]: V ### Specialization of cost equations lt/3 * CE 18 is refined into CE [28] * CE 15 is refined into CE [29] * CE 16 is refined into CE [30] * CE 17 is refined into CE [31] ### Cost equations --> "Loop" of lt/3 * CEs [31] --> Loop 21 * CEs [28] --> Loop 22 * CEs [29] --> Loop 23 * CEs [30] --> Loop 24 ### Ranking functions of CR lt(V,V1,Out) * RF of phase [21]: [V,V1] #### Partial ranking functions of CR lt(V,V1,Out) * Partial RF of phase [21]: - RF of loop [21:1]: V V1 ### Specialization of cost equations (div)/4 * CE 12 is refined into CE [32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51] * CE 14 is refined into CE [52,53,54,55,56,57,58,59] * CE 13 is refined into CE [60,61,62,63,64,65,66,67] ### Cost equations --> "Loop" of (div)/4 * CEs [67] --> Loop 25 * CEs [65] --> Loop 26 * CEs [63] --> Loop 27 * CEs [66] --> Loop 28 * CEs [64] --> Loop 29 * CEs [62] --> Loop 30 * CEs [61] --> Loop 31 * CEs [60] --> Loop 32 * CEs [59] --> Loop 33 * CEs [58] --> Loop 34 * CEs [56] --> Loop 35 * CEs [40,44,48] --> Loop 36 * CEs [36,37,38,39] --> Loop 37 * CEs [55] --> Loop 38 * CEs [54] --> Loop 39 * CEs [52] --> Loop 40 * CEs [32,33,34,35,41,42,43,45,46,47,49,50,51,53,57] --> Loop 41 ### Ranking functions of CR div(V,V1,V7,Out) * RF of phase [25,26,27,31]: [V,V-V1+1] #### Partial ranking functions of CR div(V,V1,V7,Out) * Partial RF of phase [25,26,27,31]: - RF of loop [25:1,26:1,27:1,31:1]: V V-V1+1 - RF of loop [31:1]: -V7+1 depends on loops [25:1,27:1] ### Specialization of cost equations start/4 * CE 3 is refined into CE [68] * CE 1 is refined into CE [69] * CE 2 is refined into CE [70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87] * CE 4 is refined into CE [88,89,90,91,92,93,94,95] * CE 5 is refined into CE [96,97,98,99,100,101,102,103,104,105,106,107,108] * CE 6 is refined into CE [109,110,111] * CE 7 is refined into CE [112,113,114,115,116] * CE 8 is refined into CE [117,118,119,120] ### Cost equations --> "Loop" of start/4 * CEs [100,101] --> Loop 42 * CEs [109,113] --> Loop 43 * CEs [68] --> Loop 44 * CEs [76,77] --> Loop 45 * CEs [70,71,72,73,74,75,78,79,80,81,82,83,84,85,86,87] --> Loop 46 * CEs [69,88,89,90,91,92,93,94,95,96,97,98,99,102,103,104,105,106,107,108,110,111,112,114,115,116,117,118,119,120] --> Loop 47 ### Ranking functions of CR start(V,V1,V7,V11) #### Partial ranking functions of CR start(V,V1,V7,V11) Computing Bounds ===================================== #### Cost of chains of minus(V,V1,Out): * Chain [[15],17]: 1*it(15)+1 Such that:it(15) =< V1 with precondition: [V=Out+V1,V1>=1,V>=V1] * Chain [[15],16]: 1*it(15)+0 Such that:it(15) =< V1 with precondition: [Out=0,V>=1,V1>=1] * Chain [17]: 1 with precondition: [V1=0,V=Out,V>=0] * Chain [16]: 0 with precondition: [Out=0,V>=0,V1>=0] #### Cost of chains of inc(V,Out): * Chain [[18],20]: 1*it(18)+1 Such that:it(18) =< Out with precondition: [V+1=Out,V>=1] * Chain [[18],19]: 1*it(18)+0 Such that:it(18) =< Out with precondition: [Out>=1,V>=Out] * Chain [20]: 1 with precondition: [V=0,Out=1] * Chain [19]: 0 with precondition: [Out=0,V>=0] #### Cost of chains of lt(V,V1,Out): * Chain [[21],24]: 1*it(21)+1 Such that:it(21) =< V with precondition: [Out=2,V>=1,V1>=V+1] * Chain [[21],23]: 1*it(21)+1 Such that:it(21) =< V1 with precondition: [Out=1,V1>=1,V>=V1] * Chain [[21],22]: 1*it(21)+0 Such that:it(21) =< V1 with precondition: [Out=0,V>=1,V1>=1] * Chain [24]: 1 with precondition: [V=0,Out=2,V1>=1] * Chain [23]: 1 with precondition: [V1=0,Out=1,V>=0] * Chain [22]: 0 with precondition: [Out=0,V>=0,V1>=0] #### Cost of chains of div(V,V1,V7,Out): * Chain [[25,26,27,31],41]: 9*it(25)+4*it(27)+5*it(31)+10*s(3)+4*s(4)+6*s(5)+1*s(42)+6*s(44)+1*s(45)+3 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(3) =< V+V7 aux(2) =< V1 aux(13) =< -V7+1 aux(21) =< V aux(22) =< V+V7+1 s(3) =< aux(22) s(5) =< aux(2) s(4) =< aux(3) aux(14) =< aux(21) it(25) =< aux(21) it(27) =< aux(21) it(31) =< aux(21) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(22) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< aux(21) with precondition: [Out=0,V1>=1,V7>=0,V>=V1] * Chain [[25,26,27,31],40]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+4 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(19) =< V+V7 aux(18) =< V+V7+1 aux(13) =< -V7+1 aux(23) =< V aux(14) =< aux(23) it(25) =< aux(23) it(27) =< aux(23) it(31) =< aux(23) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< aux(23) s(41) =< s(43) with precondition: [Out=1,V1>=1,V7>=0,V>=V1] * Chain [[25,26,27,31],39]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+1*s(51)+4 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(18) =< V+V7+1 aux(19) =< V+V7-Out+1 aux(13) =< -V7+1 s(51) =< Out aux(24) =< V aux(14) =< aux(24) it(25) =< aux(24) it(27) =< aux(24) it(31) =< aux(24) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< aux(24) s(41) =< s(43) with precondition: [V1>=1,V7>=0,Out>=2,V>=V1,V+V7+2>=Out+V1] * Chain [[25,26,27,31],38]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+1*s(52)+3 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(18) =< V+V7+1 aux(13) =< -V7+1 aux(25) =< V aux(26) =< V+V7 s(52) =< aux(26) aux(14) =< aux(25) it(25) =< aux(25) it(27) =< aux(25) it(31) =< aux(25) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(26) s(43) =< aux(26) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< aux(25) s(41) =< s(43) with precondition: [V1>=1,V7>=0,Out>=1,V>=V1,V+V7+1>=Out+V1] * Chain [[25,26,27,31],36]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+7*s(44)+1*s(45)+2*s(53)+3 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(19) =< V+V7 aux(18) =< V+V7+1 aux(27) =< V1 aux(13) =< -V7+1 aux(28) =< V s(44) =< aux(28) s(53) =< aux(27) aux(14) =< aux(28) it(25) =< aux(28) it(27) =< aux(28) it(31) =< aux(28) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(41) =< s(43) with precondition: [Out=0,V1>=1,V7>=0,V>=V1] * Chain [[25,26,27,31],35]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+7*s(44)+1*s(45)+4 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(19) =< V+V7 aux(18) =< V+V7+1 aux(13) =< -V7+1 aux(29) =< V s(44) =< aux(29) aux(14) =< aux(29) it(25) =< aux(29) it(27) =< aux(29) it(31) =< aux(29) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(41) =< s(43) with precondition: [Out=1,V1>=2,V7>=0,V>=V1+1] * Chain [[25,26,27,31],34]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+7*s(44)+1*s(45)+1*s(58)+4 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(18) =< V+V7+1 aux(19) =< V+V7-Out+1 aux(13) =< -V7+1 s(58) =< Out aux(30) =< V s(44) =< aux(30) aux(14) =< aux(30) it(25) =< aux(30) it(27) =< aux(30) it(31) =< aux(30) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(41) =< s(43) with precondition: [V1>=2,V7>=0,Out>=2,V>=V1+1,V+2*V7+3>=2*Out+V1] * Chain [[25,26,27,31],33]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+2*s(59)+3 Such that:aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(18) =< V+V7+1 aux(13) =< -V7+1 aux(31) =< V aux(32) =< V+V7 s(59) =< aux(32) aux(14) =< aux(31) it(25) =< aux(31) it(27) =< aux(31) it(31) =< aux(31) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(32) s(43) =< aux(32) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< aux(31) s(41) =< s(43) with precondition: [V1>=2,V7>=0,Out>=1,V>=V1+1,V+2*V7+1>=2*Out+V1] * Chain [[25,26,27,31],32,41]: 9*it(25)+4*it(27)+5*it(31)+4*s(3)+4*s(4)+8*s(5)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+7 Such that:aux(3) =< 1 aux(4) =< 2 aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(34) =< V1 aux(13) =< -V7+1 aux(35) =< V-V1 aux(36) =< V-V1+V7 s(5) =< aux(34) s(4) =< aux(3) s(3) =< aux(4) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(35) it(25) =< aux(35) it(27) =< aux(35) it(31) =< aux(35) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(36) s(43) =< aux(36) s(46) =< aux(35) aux(10) =< aux(36)+1 s(42) =< it(25)*aux(36) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=0,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],32,39]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+1*s(51)+2*s(61)+8 Such that:s(51) =< 2 aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(33) =< V1 aux(13) =< -V7+1 aux(37) =< V-V1 aux(38) =< V-V1+V7 s(61) =< aux(33) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(37) it(25) =< aux(37) it(27) =< aux(37) it(31) =< aux(37) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(38) s(43) =< aux(38) s(46) =< aux(37) aux(10) =< aux(38)+1 s(42) =< it(25)*aux(38) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=2,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],32,38]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+1*s(52)+2*s(61)+7 Such that:s(52) =< 1 aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(33) =< V1 aux(13) =< -V7+1 aux(39) =< V-V1 aux(40) =< V-V1+V7 s(61) =< aux(33) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(39) it(25) =< aux(39) it(27) =< aux(39) it(31) =< aux(39) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(40) s(43) =< aux(40) s(46) =< aux(39) aux(10) =< aux(40)+1 s(42) =< it(25)*aux(40) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=1,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],30,41]: 9*it(25)+4*it(27)+5*it(31)+4*s(3)+8*s(5)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+6 Such that:aux(4) =< 1 aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(43) =< V1 aux(13) =< -V7+1 aux(44) =< V-V1 aux(45) =< V-V1+V7 s(5) =< aux(43) s(3) =< aux(4) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(44) it(25) =< aux(44) it(27) =< aux(44) it(31) =< aux(44) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(45) s(43) =< aux(45) s(46) =< aux(44) aux(10) =< aux(45)+1 s(42) =< it(25)*aux(45) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=0,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],30,40]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+2*s(63)+7 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(41) =< V1 aux(13) =< -V7+1 aux(46) =< V-V1 aux(47) =< V-V1+V7 s(63) =< aux(41) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(46) it(25) =< aux(46) it(27) =< aux(46) it(31) =< aux(46) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(47) s(43) =< aux(47) s(46) =< aux(46) aux(10) =< aux(47)+1 s(42) =< it(25)*aux(47) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=1,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],30,36]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+4*s(53)+6 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(48) =< V1 aux(13) =< -V7+1 aux(49) =< V-V1 aux(50) =< V-V1+V7 s(53) =< aux(48) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(49) it(25) =< aux(49) it(27) =< aux(49) it(31) =< aux(49) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(50) s(43) =< aux(50) s(46) =< aux(49) aux(10) =< aux(50)+1 s(42) =< it(25)*aux(50) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=0,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],29,41]: 9*it(25)+4*it(27)+5*it(31)+4*s(3)+5*s(4)+8*s(5)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+7 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(4) =< V-V1+V7+2 aux(18) =< V+V7+1 aux(52) =< V1 aux(13) =< -V7+1 aux(54) =< V-V1 aux(55) =< V-V1+V7+1 s(4) =< aux(55) s(5) =< aux(52) s(3) =< aux(4) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(54) it(25) =< aux(54) it(27) =< aux(54) it(31) =< aux(54) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(55) s(43) =< aux(55) s(46) =< aux(54) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=0,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],29,39]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+2*s(51)+2*s(65)+8 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(19) =< V-V1+V7-Out+2 aux(18) =< V+V7+1 aux(51) =< V1 aux(13) =< -V7+1 aux(56) =< Out aux(57) =< V-V1 s(51) =< aux(56) s(65) =< aux(51) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(57) it(25) =< aux(57) it(27) =< aux(57) it(31) =< aux(57) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) s(46) =< aux(57) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [V1>=1,V7>=0,Out>=3,V>=2*V1,V+V7+3>=2*V1+Out] * Chain [[25,26,27,31],29,38]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+2*s(52)+2*s(65)+7 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(18) =< V+V7+1 aux(51) =< V1 aux(13) =< -V7+1 aux(59) =< V-V1 aux(60) =< V-V1+V7+1 s(52) =< aux(60) s(65) =< aux(51) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(59) it(25) =< aux(59) it(27) =< aux(59) it(31) =< aux(59) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(60) s(43) =< aux(60) s(46) =< aux(59) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [V1>=1,V7>=0,Out>=1,V>=2*V1,V+V7+2>=2*V1+Out] * Chain [[25,26,27,31],28,41]: 9*it(25)+4*it(27)+5*it(31)+4*s(3)+5*s(4)+8*s(5)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+6 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(4) =< V-V1+V7+1 aux(18) =< V+V7+1 aux(62) =< V1 aux(13) =< -V7+1 aux(64) =< V-V1 aux(65) =< V-V1+V7 s(4) =< aux(65) s(5) =< aux(62) s(3) =< aux(4) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(64) it(25) =< aux(64) it(27) =< aux(64) it(31) =< aux(64) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(65) s(43) =< aux(65) s(46) =< aux(64) aux(10) =< aux(65)+1 s(42) =< it(25)*aux(65) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [Out=0,V1>=1,V7>=0,V>=2*V1] * Chain [[25,26,27,31],28,39]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+2*s(51)+2*s(68)+7 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(9) =< V-V1+V7 aux(19) =< V-V1+V7-Out+1 aux(18) =< V+V7+1 aux(61) =< V1 aux(13) =< -V7+1 aux(66) =< Out aux(67) =< V-V1 s(51) =< aux(66) s(68) =< aux(61) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(67) it(25) =< aux(67) it(27) =< aux(67) it(31) =< aux(67) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(19) s(43) =< aux(19) s(46) =< aux(67) aux(10) =< aux(9)+1 s(42) =< it(25)*aux(9) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [V1>=1,V7>=0,Out>=2,V>=2*V1,V+V7+2>=2*V1+Out] * Chain [[25,26,27,31],28,38]: 9*it(25)+4*it(27)+5*it(31)+2*s(41)+1*s(42)+6*s(44)+1*s(45)+2*s(52)+2*s(68)+6 Such that:aux(15) =< V aux(16) =< V-V1+1 aux(18) =< V+V7+1 aux(61) =< V1 aux(13) =< -V7+1 aux(69) =< V-V1 aux(70) =< V-V1+V7 s(52) =< aux(70) s(68) =< aux(61) aux(14) =< aux(15) it(25) =< aux(15) it(27) =< aux(15) it(31) =< aux(15) s(46) =< aux(15) aux(14) =< aux(16) it(25) =< aux(16) it(27) =< aux(16) it(31) =< aux(16) aux(14) =< aux(69) it(25) =< aux(69) it(27) =< aux(69) it(31) =< aux(69) it(27) =< aux(18) s(43) =< aux(18) it(27) =< aux(70) s(43) =< aux(70) s(46) =< aux(69) aux(10) =< aux(70)+1 s(42) =< it(25)*aux(70) it(31) =< aux(14)+aux(13) s(45) =< it(25)*aux(10) s(44) =< s(46) s(41) =< s(43) with precondition: [V1>=1,V7>=0,Out>=1,V>=2*V1,V+V7+1>=2*V1+Out] * Chain [41]: 4*s(3)+4*s(4)+6*s(5)+4*s(15)+3 Such that:aux(1) =< V aux(2) =< V1 aux(3) =< V7 aux(4) =< V7+1 s(15) =< aux(1) s(5) =< aux(2) s(4) =< aux(3) s(3) =< aux(4) with precondition: [Out=0,V>=0,V1>=0,V7>=0] * Chain [40]: 4 with precondition: [V=0,V7=0,Out=1,V1>=1] * Chain [39]: 1*s(51)+4 Such that:s(51) =< V7+1 with precondition: [V=0,V7+1=Out,V1>=1,V7>=1] * Chain [38]: 1*s(52)+3 Such that:s(52) =< V7 with precondition: [V=0,V1>=1,Out>=1,V7>=Out] * Chain [37]: 1*s(71)+1*s(72)+3 Such that:s(72) =< V7 s(71) =< V7+1 with precondition: [V1=0,Out=0,V>=0,V7>=0] * Chain [36]: 2*s(53)+1*s(55)+3 Such that:s(55) =< V aux(27) =< V1 s(53) =< aux(27) with precondition: [V7=0,Out=0,V>=0,V1>=0] * Chain [35]: 1*s(56)+4 Such that:s(56) =< V with precondition: [V7=0,Out=1,V>=1,V1>=V+1] * Chain [34]: 1*s(57)+1*s(58)+4 Such that:s(57) =< V s(58) =< V7+1 with precondition: [V7+1=Out,V>=1,V7>=1,V1>=V+1] * Chain [33]: 1*s(59)+1*s(60)+3 Such that:s(59) =< V s(60) =< V7 with precondition: [V>=1,Out>=1,V1>=V+1,V7>=Out] * Chain [32,41]: 4*s(3)+4*s(4)+8*s(5)+7 Such that:aux(3) =< 1 aux(4) =< 2 aux(34) =< V1 s(5) =< aux(34) s(4) =< aux(3) s(3) =< aux(4) with precondition: [V7=0,Out=0,V1>=1,V>=V1] * Chain [32,39]: 1*s(51)+2*s(61)+8 Such that:s(51) =< 2 aux(33) =< V1 s(61) =< aux(33) with precondition: [V7=0,Out=2,V1>=1,V>=V1] * Chain [32,38]: 1*s(52)+2*s(61)+7 Such that:s(52) =< 1 aux(33) =< V1 s(61) =< aux(33) with precondition: [V7=0,Out=1,V1>=1,V>=V1] * Chain [30,41]: 4*s(3)+8*s(5)+6 Such that:aux(4) =< 1 aux(43) =< V1 s(5) =< aux(43) s(3) =< aux(4) with precondition: [Out=0,V1>=1,V7>=0,V>=V1] * Chain [30,40]: 2*s(63)+7 Such that:aux(41) =< V1 s(63) =< aux(41) with precondition: [Out=1,V1>=1,V7>=0,V>=V1] * Chain [30,36]: 4*s(53)+6 Such that:aux(48) =< V1 s(53) =< aux(48) with precondition: [Out=0,V1>=1,V7>=0,V>=V1] * Chain [29,41]: 4*s(3)+5*s(4)+8*s(5)+7 Such that:aux(4) =< V7+2 aux(52) =< V1 aux(53) =< V7+1 s(4) =< aux(53) s(5) =< aux(52) s(3) =< aux(4) with precondition: [Out=0,V1>=1,V7>=1,V>=V1] * Chain [29,39]: 2*s(51)+2*s(65)+8 Such that:aux(51) =< V1 aux(56) =< Out s(51) =< aux(56) s(65) =< aux(51) with precondition: [V7+2=Out,V1>=1,V7>=1,V>=V1] * Chain [29,38]: 2*s(52)+2*s(65)+7 Such that:aux(51) =< V1 aux(58) =< V7+1 s(52) =< aux(58) s(65) =< aux(51) with precondition: [V1>=1,V7>=1,Out>=1,V>=V1,V7+1>=Out] * Chain [28,41]: 4*s(3)+5*s(4)+8*s(5)+6 Such that:aux(4) =< V7+1 aux(62) =< V1 aux(63) =< V7 s(4) =< aux(63) s(5) =< aux(62) s(3) =< aux(4) with precondition: [Out=0,V1>=1,V7>=1,V>=V1] * Chain [28,39]: 2*s(51)+2*s(68)+7 Such that:aux(61) =< V1 aux(66) =< Out s(51) =< aux(66) s(68) =< aux(61) with precondition: [V1>=1,Out>=2,V>=V1,V7+1>=Out] * Chain [28,38]: 2*s(52)+2*s(68)+6 Such that:aux(61) =< V1 aux(68) =< V7 s(52) =< aux(68) s(68) =< aux(61) with precondition: [V1>=1,Out>=1,V>=V1,V7>=Out] #### Cost of chains of start(V,V1,V7,V11): * Chain [47]: 48*s(514)+224*s(515)+216*s(518)+44*s(519)+60*s(520)+12*s(524)+12*s(525)+144*s(526)+16*s(527)+20*s(528)+123*s(529)+7*s(530)+11*s(531)+7*s(532)+6*s(535)+144*s(537)+32*s(538)+40*s(539)+8*s(541)+8*s(542)+10*s(543)+20*s(544)+4*s(613)+2*s(621)+18*s(677)+14*s(678)+32*s(700)+60*s(701)+12*s(705)+12*s(706)+16*s(708)+7*s(711)+11*s(712)+4*s(713)+12*s(714)+6*s(716)+20*s(719)+40*s(720)+8*s(722)+8*s(723)+10*s(724)+22*s(725)+7*s(726)+12*s(727)+6*s(728)+4*s(786)+2*s(794)+9 Such that:aux(125) =< 1 aux(126) =< 2 aux(127) =< V aux(128) =< V+1 aux(129) =< V-V1 aux(130) =< V-V1+1 aux(131) =< V-V1+2 aux(132) =< V-V1+V7 aux(133) =< V-V1+V7+1 aux(134) =< V-V1+V7+2 aux(135) =< V+V7 aux(136) =< V+V7+1 aux(137) =< V1 aux(138) =< -V7+1 aux(139) =< V7 aux(140) =< V7+1 aux(141) =< V7+2 s(514) =< aux(125) s(528) =< aux(126) s(529) =< aux(127) s(544) =< aux(128) s(515) =< aux(137) s(678) =< aux(139) s(677) =< aux(140) s(532) =< aux(131) s(517) =< aux(127) s(518) =< aux(127) s(613) =< aux(127) s(520) =< aux(127) s(521) =< aux(127) s(517) =< aux(130) s(518) =< aux(130) s(613) =< aux(130) s(520) =< aux(130) s(517) =< aux(129) s(518) =< aux(129) s(613) =< aux(129) s(520) =< aux(129) s(613) =< aux(128) s(616) =< aux(128) s(613) =< aux(131) s(616) =< aux(131) s(521) =< aux(129) s(523) =< aux(129)+1 s(524) =< s(518)*aux(129) s(520) =< s(517)+aux(125) s(525) =< s(518)*s(523) s(526) =< s(521) s(621) =< s(616) s(536) =< aux(127) s(537) =< aux(127) s(538) =< aux(127) s(539) =< aux(127) s(536) =< aux(130) s(537) =< aux(130) s(538) =< aux(130) s(539) =< aux(130) s(538) =< aux(128) s(541) =< s(537)*aux(129) s(539) =< s(536)+aux(125) s(542) =< s(537)*s(523) s(519) =< aux(127) s(519) =< aux(130) s(519) =< aux(129) s(519) =< aux(128) s(522) =< aux(128) s(522) =< aux(129) s(527) =< s(522) s(700) =< aux(127) s(701) =< aux(127) s(700) =< aux(130) s(701) =< aux(130) s(700) =< aux(129) s(701) =< aux(129) s(700) =< aux(136) s(703) =< aux(136) s(700) =< aux(132) s(703) =< aux(132) s(704) =< aux(132)+1 s(705) =< s(518)*aux(132) s(701) =< s(517)+aux(138) s(706) =< s(518)*s(704) s(708) =< s(703) s(711) =< aux(132) s(712) =< aux(133) s(713) =< aux(134) s(714) =< aux(127) s(714) =< aux(130) s(714) =< aux(129) s(714) =< aux(136) s(715) =< aux(136) s(714) =< aux(133) s(715) =< aux(133) s(716) =< s(715) s(719) =< aux(127) s(720) =< aux(127) s(719) =< aux(130) s(720) =< aux(130) s(719) =< aux(136) s(721) =< aux(136) s(719) =< aux(135) s(721) =< aux(135) s(722) =< s(537)*aux(132) s(720) =< s(536)+aux(138) s(723) =< s(537)*s(704) s(724) =< s(721) s(725) =< aux(136) s(726) =< aux(135) s(727) =< aux(127) s(727) =< aux(130) s(727) =< aux(136) s(728) =< aux(141) s(786) =< aux(127) s(786) =< aux(130) s(786) =< aux(129) s(786) =< aux(136) s(789) =< aux(136) s(786) =< aux(134) s(789) =< aux(134) s(794) =< s(789) s(530) =< aux(129) s(531) =< aux(130) s(534) =< aux(128) s(534) =< aux(130) s(535) =< s(534) s(540) =< aux(128) s(540) =< aux(127) s(543) =< s(540) with precondition: [V>=0] * Chain [46]: 219*s(865)+42*s(867)+28*s(869)+34*s(889)+8*s(900)+18*s(901)+5*s(903)+9*s(904)+4*s(905)+2*s(908)+2*s(916)+10*s(920)+1*s(929)+108*s(951)+32*s(952)+60*s(953)+12*s(957)+12*s(958)+72*s(959)+16*s(960)+59*s(962)+7*s(963)+11*s(964)+4*s(965)+12*s(966)+6*s(968)+72*s(970)+20*s(971)+40*s(972)+8*s(974)+8*s(975)+10*s(976)+22*s(977)+7*s(978)+12*s(979)+4*s(1050)+2*s(1058)+10 Such that:s(929) =< V1 s(878) =< -V7+V11 s(879) =< -V7+V11+1 s(872) =< -V7+V11+2 aux(155) =< 1 aux(156) =< 2 aux(157) =< V1-2*V7 aux(158) =< V1-2*V7+1 aux(159) =< V1-2*V7+V11 aux(160) =< V1-2*V7+V11+1 aux(161) =< V1-2*V7+V11+2 aux(162) =< V1-V7 aux(163) =< V1-V7+V11 aux(164) =< V1-V7+V11+1 aux(165) =< V7 aux(166) =< -V11+1 aux(167) =< V11 aux(168) =< V11+1 aux(169) =< V11+2 s(889) =< aux(155) s(901) =< aux(156) s(962) =< aux(162) s(865) =< aux(165) s(869) =< aux(167) s(867) =< aux(168) s(895) =< aux(168) s(895) =< s(878) s(900) =< s(895) s(903) =< s(878) s(904) =< s(879) s(905) =< s(872) s(907) =< aux(168) s(907) =< s(879) s(908) =< s(907) s(913) =< aux(168) s(913) =< aux(167) s(916) =< s(913) s(920) =< aux(169) s(950) =< aux(162) s(951) =< aux(162) s(952) =< aux(162) s(953) =< aux(162) s(954) =< aux(162) s(950) =< aux(158) s(951) =< aux(158) s(952) =< aux(158) s(953) =< aux(158) s(950) =< aux(157) s(951) =< aux(157) s(952) =< aux(157) s(953) =< aux(157) s(952) =< aux(164) s(955) =< aux(164) s(952) =< aux(159) s(955) =< aux(159) s(954) =< aux(157) s(956) =< aux(159)+1 s(957) =< s(951)*aux(159) s(953) =< s(950)+aux(166) s(958) =< s(951)*s(956) s(959) =< s(954) s(960) =< s(955) s(963) =< aux(159) s(964) =< aux(160) s(965) =< aux(161) s(966) =< aux(162) s(966) =< aux(158) s(966) =< aux(157) s(966) =< aux(164) s(967) =< aux(164) s(966) =< aux(160) s(967) =< aux(160) s(968) =< s(967) s(969) =< aux(162) s(970) =< aux(162) s(971) =< aux(162) s(972) =< aux(162) s(969) =< aux(158) s(970) =< aux(158) s(971) =< aux(158) s(972) =< aux(158) s(971) =< aux(164) s(973) =< aux(164) s(971) =< aux(163) s(973) =< aux(163) s(974) =< s(970)*aux(159) s(972) =< s(969)+aux(166) s(975) =< s(970)*s(956) s(976) =< s(973) s(977) =< aux(164) s(978) =< aux(163) s(979) =< aux(162) s(979) =< aux(158) s(979) =< aux(164) s(1050) =< aux(162) s(1050) =< aux(158) s(1050) =< aux(157) s(1050) =< aux(164) s(1053) =< aux(164) s(1050) =< aux(161) s(1053) =< aux(161) s(1058) =< s(1053) with precondition: [V=1,V1>=0,V7>=1,V11>=0] * Chain [45]: 2*s(1127)+1*s(1128)+1*s(1130)+6 Such that:s(1130) =< V11 s(1128) =< V11+1 aux(170) =< V1 s(1127) =< aux(170) with precondition: [V=1,V1=V7,V1>=1,V11>=1] * Chain [44]: 1 with precondition: [V=2,V1>=0,V7>=0,V11>=0] * Chain [43]: 1 with precondition: [V1=0,V>=0] * Chain [42]: 2*s(1133)+10*s(1135)+4*s(1136)+4*s(1137)+7 Such that:s(1131) =< 1 s(1132) =< 2 s(1134) =< V1 aux(171) =< V s(1133) =< aux(171) s(1135) =< s(1134) s(1136) =< s(1131) s(1137) =< s(1132) with precondition: [V7=0,V>=0,V1>=0] Closed-form bounds of start(V,V1,V7,V11): ------------------------------------- * Chain [47] with precondition: [V>=0] - Upper bound: 1027*V+97+40*V*nat(V-V1+V7)+40*V*nat(V-V1)+nat(V1)*224+nat(V7)*14+nat(V+V7)*7+(54*V+54)+nat(V7+1)*18+nat(V7+2)*6+nat(V+V7+1)*56+nat(V-V1+V7+1)*11+nat(V-V1+V7+2)*4+nat(V-V1+V7)*7+nat(V-V1+1)*11+nat(V-V1+2)*7+nat(V-V1)*7 - Complexity: n^2 * Chain [46] with precondition: [V=1,V1>=0,V7>=1,V11>=0] - Upper bound: V1+219*V7+92*V11+154+nat(-V7+V11)*5+nat(-V7+V11+1)*9+nat(-V7+V11+2)*4+nat(V1-V7+V11+1)*56+nat(V1-2*V7+V11+1)*11+nat(V1-2*V7+V11+2)*4+nat(V1-V7+V11)*7+nat(V1-2*V7+V11)*7+nat(V1-2*V7+V11)*40*nat(V1-V7)+nat(V1-V7)*511 - Complexity: n^2 * Chain [45] with precondition: [V=1,V1=V7,V1>=1,V11>=1] - Upper bound: 2*V1+2*V11+7 - Complexity: n * Chain [44] with precondition: [V=2,V1>=0,V7>=0,V11>=0] - Upper bound: 1 - Complexity: constant * Chain [43] with precondition: [V1=0,V>=0] - Upper bound: 1 - Complexity: constant * Chain [42] with precondition: [V7=0,V>=0,V1>=0] - Upper bound: 2*V+10*V1+19 - Complexity: n ### Maximum cost of start(V,V1,V7,V11): nat(V1)+5+max([nat(V1)+max([nat(V11+1)+nat(V11),1025*V+78+40*V*nat(V-V1+V7)+40*V*nat(V-V1)+nat(V1)*214+nat(V7)*14+nat(V+V7)*7+(54*V+54)+nat(V7+1)*18+nat(V7+2)*6+nat(V+V7+1)*56+nat(V-V1+V7+1)*11+nat(V-V1+V7+2)*4+nat(V-V1+V7)*7+nat(V-V1+1)*11+nat(V-V1+2)*7+nat(V-V1)*7+(2*V+13+nat(V1)*8)]),nat(V7)*219+74+nat(V11)*28+nat(V11+1)*54+nat(V11+2)*10+nat(-V7+V11)*5+nat(-V7+V11+1)*9+nat(-V7+V11+2)*4+nat(V1-V7+V11+1)*56+nat(V1-2*V7+V11+1)*11+nat(V1-2*V7+V11+2)*4+nat(V1-V7+V11)*7+nat(V1-2*V7+V11)*7+nat(V1-2*V7+V11)*40*nat(V1-V7)+nat(V1-V7)*511])+1 Asymptotic class: n^2 * Total analysis performed in 2747 ms. ---------------------------------------- (10) BOUNDS(1, n^2) ---------------------------------------- (11) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (12) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: division(x, y) -> div(x, y, 0) div(x, y, z) -> if(lt(x, y), x, y, inc(z)) if(true, x, y, z) -> z if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) minus(x, 0) -> x minus(s(x), s(y)) -> minus(x, y) lt(x, 0) -> false lt(0, s(y)) -> true lt(s(x), s(y)) -> lt(x, y) inc(0) -> s(0) inc(s(x)) -> s(inc(x)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (13) DecreasingLoopProof (LOWER BOUND(ID)) The following loop(s) give(s) rise to the lower bound Omega(n^1): The rewrite sequence minus(s(x), s(y)) ->^+ minus(x, y) gives rise to a decreasing loop by considering the right hand sides subterm at position []. The pumping substitution is [x / s(x), y / s(y)]. The result substitution is [ ]. ---------------------------------------- (14) Complex Obligation (BEST) ---------------------------------------- (15) Obligation: Proved the lower bound n^1 for the following obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: division(x, y) -> div(x, y, 0) div(x, y, z) -> if(lt(x, y), x, y, inc(z)) if(true, x, y, z) -> z if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) minus(x, 0) -> x minus(s(x), s(y)) -> minus(x, y) lt(x, 0) -> false lt(0, s(y)) -> true lt(s(x), s(y)) -> lt(x, y) inc(0) -> s(0) inc(s(x)) -> s(inc(x)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (16) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (17) BOUNDS(n^1, INF) ---------------------------------------- (18) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: division(x, y) -> div(x, y, 0) div(x, y, z) -> if(lt(x, y), x, y, inc(z)) if(true, x, y, z) -> z if(false, x, s(y), z) -> div(minus(x, s(y)), s(y), z) minus(x, 0) -> x minus(s(x), s(y)) -> minus(x, y) lt(x, 0) -> false lt(0, s(y)) -> true lt(s(x), s(y)) -> lt(x, y) inc(0) -> s(0) inc(s(x)) -> s(inc(x)) S is empty. Rewrite Strategy: INNERMOST