MAYBE Initial complexity problem: 1: T: (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f8(Ar_0, Ar_1, Ar_1, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26)) [ Ar_0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f8(Ar_0, Ar_1, Ar_1, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26)) [ Ar_1 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1, Ar_7 + 1, Ar_6 - 1, Fresh_28, Fresh_29, Ar_6 - 1, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1, Ar_7 + 1, Ar_6 - 1, Fresh_25, Fresh_26, Ar_6 - 1, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f23(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_16, 2, 1, 1, 2, Ar_10, Ar_11, Ar_12, 2, Fresh_17, Fresh_18, Fresh_19, Fresh_20, Fresh_20, Fresh_20, Fresh_20, Fresh_21, Fresh_22, 2, Fresh_23, 0, Ar_26)) [ Ar_4 >= E1 + 1 ] (Comp: ?, Cost: 1) f23(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Fresh_8, 2, 1, 1, 2, Ar_10, Ar_11, Ar_12, 2, Fresh_9, Fresh_10, Fresh_11, Fresh_12, Fresh_12, Fresh_12, Fresh_12, Fresh_13, Fresh_14, 2, Fresh_15, 0, Ar_26)) [ E1 >= Ar_4 + 1 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f8(Ar_0, Fresh_4, Fresh_4, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Fresh_5, Ar_17, Ar_18, Ar_19, Fresh_6, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Fresh_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f8(Ar_0, Fresh_0, Fresh_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Fresh_1, Ar_17, Ar_18, Ar_19, Fresh_2, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Fresh_3)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26) -> Com_1(f23(Ar_0, Ar_1, Ar_2, Ar_3, Ar_4, Ar_5, Ar_6, Ar_7, Ar_8, Ar_9, Ar_10, Ar_11, Ar_12, Ar_13, Ar_14, Ar_15, Ar_16, Ar_17, Ar_18, Ar_19, Ar_20, Ar_21, Ar_22, Ar_23, Ar_24, Ar_25, Ar_26)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Slicing away variables that do not contribute to conditions from problem 1 leaves variables [Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7]. We thus obtain the following problem: 2: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ 0 <= 0 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: ?, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_8, 2, 1)) [ E1 >= Ar_4 + 1 ] (Comp: ?, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_16, 2, 1)) [ Ar_4 >= E1 + 1 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_1 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Ar_1 + 1 ] start location: koat_start leaf cost: 0 Repeatedly propagating knowledge in problem 2 produces the following problem: 3: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ 0 <= 0 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_8, 2, 1)) [ E1 >= Ar_4 + 1 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_16, 2, 1)) [ Ar_4 >= E1 + 1 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_1 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Ar_1 + 1 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(koat_start) = 1 Pol(f23) = 1 Pol(f2) = 1 Pol(f8) = 0 orients all transitions weakly and the transitions f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] strictly and produces the following problem: 4: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ 0 <= 0 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_8, 2, 1)) [ E1 >= Ar_4 + 1 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_16, 2, 1)) [ Ar_4 >= E1 + 1 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_1 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Ar_1 + 1 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(koat_start) = 3 Pol(f23) = 3 Pol(f2) = V_5 + 1 Pol(f8) = V_5 + 1 orients all transitions weakly and the transition f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] strictly and produces the following problem: 5: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ 0 <= 0 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_8, 2, 1)) [ E1 >= Ar_4 + 1 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_16, 2, 1)) [ Ar_4 >= E1 + 1 ] (Comp: ?, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: 3, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_1 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Ar_1 + 1 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(koat_start) = 2 Pol(f23) = 2 Pol(f2) = V_5 Pol(f8) = V_5 orients all transitions weakly and the transition f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] strictly and produces the following problem: 6: T: (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ 0 <= 0 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_8, 2, 1)) [ E1 >= Ar_4 + 1 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_16, 2, 1)) [ Ar_4 >= E1 + 1 ] (Comp: 2, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: 3, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_1 >= Ar_0 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ Ar_0 >= Ar_1 + 1 ] start location: koat_start leaf cost: 0 Applied AI with 'oct' on problem 6 to obtain the following invariants: For symbol f2: -X_5 - X_6 + 3 >= 0 /\ X_6 - 1 >= 0 /\ X_5 + X_6 - 3 >= 0 /\ -X_5 + X_6 + 1 >= 0 /\ -X_5 + 2 >= 0 For symbol f8: -X_6 + 2 >= 0 /\ X_5 - X_6 + 1 >= 0 /\ -X_5 - X_6 + 3 >= 0 /\ X_6 - 1 >= 0 /\ X_5 + X_6 - 3 >= 0 /\ -X_5 + X_6 + 1 >= 0 /\ -X_5 + 2 >= 0 /\ X_5 - 1 >= 0 /\ X_3 - X_4 >= 0 /\ -X_3 + X_4 >= 0 This yielded the following problem: 7: T: (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ -Ar_7 + 2 >= 0 /\ Ar_6 - Ar_7 + 1 >= 0 /\ -Ar_6 - Ar_7 + 3 >= 0 /\ Ar_7 - 1 >= 0 /\ Ar_6 + Ar_7 - 3 >= 0 /\ -Ar_6 + Ar_7 + 1 >= 0 /\ -Ar_6 + 2 >= 0 /\ Ar_6 - 1 >= 0 /\ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_0 >= Ar_1 + 1 ] (Comp: ?, Cost: 1) f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ -Ar_7 + 2 >= 0 /\ Ar_6 - Ar_7 + 1 >= 0 /\ -Ar_6 - Ar_7 + 3 >= 0 /\ Ar_7 - 1 >= 0 /\ Ar_6 + Ar_7 - 3 >= 0 /\ -Ar_6 + Ar_7 + 1 >= 0 /\ -Ar_6 + 2 >= 0 /\ Ar_6 - 1 >= 0 /\ Ar_4 - Ar_5 >= 0 /\ -Ar_4 + Ar_5 >= 0 /\ Ar_1 >= Ar_0 + 1 ] (Comp: 3, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_27, Ar_6 - 1, Ar_7 + 1)) [ -Ar_6 - Ar_7 + 3 >= 0 /\ Ar_7 - 1 >= 0 /\ Ar_6 + Ar_7 - 3 >= 0 /\ -Ar_6 + Ar_7 + 1 >= 0 /\ -Ar_6 + 2 >= 0 /\ Ar_4 >= Ar_5 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: 2, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_24, Ar_6 - 1, Ar_7 + 1)) [ -Ar_6 - Ar_7 + 3 >= 0 /\ Ar_7 - 1 >= 0 /\ Ar_6 + Ar_7 - 3 >= 0 /\ -Ar_6 + Ar_7 + 1 >= 0 /\ -Ar_6 + 2 >= 0 /\ Ar_5 >= Ar_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_16, 2, 1)) [ Ar_4 >= E1 + 1 ] (Comp: 1, Cost: 1) f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f2(Ar_0, Ar_1, Ar_4, Fresh_8, 2, 1)) [ E1 >= Ar_4 + 1 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_4, Ar_5, Ar_5, Ar_6, Ar_7)) [ -Ar_6 - Ar_7 + 3 >= 0 /\ Ar_7 - 1 >= 0 /\ Ar_6 + Ar_7 - 3 >= 0 /\ -Ar_6 + Ar_7 + 1 >= 0 /\ -Ar_6 + 2 >= 0 /\ Ar_0 >= Fresh_4 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 1) f2(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f8(Ar_0, Fresh_0, Ar_5, Ar_5, Ar_6, Ar_7)) [ -Ar_6 - Ar_7 + 3 >= 0 /\ Ar_7 - 1 >= 0 /\ Ar_6 + Ar_7 - 3 >= 0 /\ -Ar_6 + Ar_7 + 1 >= 0 /\ -Ar_6 + 2 >= 0 /\ Fresh_0 >= Ar_0 + 1 /\ Ar_6 >= 1 /\ Ar_7 >= 0 /\ Ar_5 = Ar_4 ] (Comp: 1, Cost: 0) koat_start(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7) -> Com_1(f23(Ar_0, Ar_1, Ar_4, Ar_5, Ar_6, Ar_7)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Complexity upper bound ? Time: 5.130 sec (SMT: 4.940 sec)