Initial Problem

Start: eval_insertsort_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars: nondef.0, nondef.1
Locations: eval_insertsort_0, eval_insertsort_1, eval_insertsort_3, eval_insertsort_4, eval_insertsort_bb0_in, eval_insertsort_bb1_in, eval_insertsort_bb2_in, eval_insertsort_bb3_in, eval_insertsort_bb4_in, eval_insertsort_bb5_in, eval_insertsort_bb6_in, eval_insertsort_bb7_in, eval_insertsort_start, eval_insertsort_stop
Transitions:
t₆: eval_insertsort_0(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_1(nondef.0, X₁, X₂, X₃, X₄)
t₇: eval_insertsort_1(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb3_in(X₀, X₁, X₂, X₂-1, X₄)
t₁₂: eval_insertsort_3(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_4(X₀, nondef.1, X₂, X₃, X₄)
t₁₃: eval_insertsort_4(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₀ ≤ X₁
t₁₄: eval_insertsort_4(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₀
t₁: eval_insertsort_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb1_in(X₀, X₁, 1, X₃, X₄)
t₂: eval_insertsort_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb2_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₂ ≤ X₄
t₃: eval_insertsort_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb7_in(X₀, X₁, X₂, X₃, X₄) :|: X₄ ≤ X₂
t₄: eval_insertsort_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_0(X₀, X₁, X₂, X₃, X₄)
t₈: eval_insertsort_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₃
t₉: eval_insertsort_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₃ ≤ 0
t₁₀: eval_insertsort_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_3(X₀, X₁, X₂, X₃, X₄)
t₁₅: eval_insertsort_bb5_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb3_in(X₀, X₁, X₂, X₃-1, X₄)
t₁₆: eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb1_in(X₀, X₁, 1+X₂, X₃, X₄)
t₁₇: eval_insertsort_bb7_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_stop(X₀, X₁, X₂, X₃, X₄)
t₀: eval_insertsort_start(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb0_in(X₀, X₁, X₂, X₃, X₄)

Preprocessing

Found invariant 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ for location eval_insertsort_0

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_bb4_in

Found invariant X₄ ≤ X₂ ∧ 1 ≤ X₂ for location eval_insertsort_bb7_in

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_4

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1 ≤ X₂ ∧ 1+X₀ ≤ X₁ for location eval_insertsort_bb5_in

Found invariant 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ for location eval_insertsort_1

Found invariant 2 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ 1+X₃ ∧ 0 ≤ X₂+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_bb3_in

Found invariant 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ for location eval_insertsort_bb2_in

Found invariant 2 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ 1+X₃ ∧ 0 ≤ X₂+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_bb6_in

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_3

Found invariant X₄ ≤ X₂ ∧ 1 ≤ X₂ for location eval_insertsort_stop

Found invariant 1 ≤ X₂ for location eval_insertsort_bb1_in

Problem after Preprocessing

Start: eval_insertsort_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars: nondef.0, nondef.1
Locations: eval_insertsort_0, eval_insertsort_1, eval_insertsort_3, eval_insertsort_4, eval_insertsort_bb0_in, eval_insertsort_bb1_in, eval_insertsort_bb2_in, eval_insertsort_bb3_in, eval_insertsort_bb4_in, eval_insertsort_bb5_in, eval_insertsort_bb6_in, eval_insertsort_bb7_in, eval_insertsort_start, eval_insertsort_stop
Transitions:
t₆: eval_insertsort_0(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_1(nondef.0, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄
t₇: eval_insertsort_1(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb3_in(X₀, X₁, X₂, X₂-1, X₄) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄
t₁₂: eval_insertsort_3(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_4(X₀, nondef.1, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₁₃: eval_insertsort_4(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₁₄: eval_insertsort_4(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₀ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₁: eval_insertsort_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb1_in(X₀, X₁, 1, X₃, X₄)
t₂: eval_insertsort_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb2_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₂ ≤ X₄ ∧ 1 ≤ X₂
t₃: eval_insertsort_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb7_in(X₀, X₁, X₂, X₃, X₄) :|: X₄ ≤ X₂ ∧ 1 ≤ X₂
t₄: eval_insertsort_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_0(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄
t₈: eval_insertsort_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₃ ∧ 0 ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₂+X₃
t₉: eval_insertsort_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₃ ≤ 0 ∧ 0 ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₂+X₃
t₁₀: eval_insertsort_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_3(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₁₅: eval_insertsort_bb5_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb3_in(X₀, X₁, X₂, X₃-1, X₄) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₁₆: eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb1_in(X₀, X₁, 1+X₂, X₃, X₄) :|: 0 ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₂+X₃
t₁₇: eval_insertsort_bb7_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_stop(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ X₄ ≤ X₂
t₀: eval_insertsort_start(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb0_in(X₀, X₁, X₂, X₃, X₄)

MPRF for transition t₂: eval_insertsort_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb2_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-1-X₂]
• eval_insertsort_1: [X₄-1-X₂]
• eval_insertsort_3: [X₄-1-X₂]
• eval_insertsort_4: [X₄-1-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-1-X₂]
• eval_insertsort_bb3_in: [X₄-1-X₂]
• eval_insertsort_bb4_in: [X₄-1-X₂]
• eval_insertsort_bb5_in: [X₄-1-X₂]
• eval_insertsort_bb6_in: [X₄-1-X₂]

MPRF for transition t₄: eval_insertsort_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_0(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-1-X₂]
• eval_insertsort_1: [X₄-1-X₂]
• eval_insertsort_3: [X₄-1-X₂]
• eval_insertsort_4: [X₄-1-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-X₂]
• eval_insertsort_bb3_in: [X₄-1-X₂]
• eval_insertsort_bb4_in: [X₄-1-X₂]
• eval_insertsort_bb5_in: [X₄-1-X₂]
• eval_insertsort_bb6_in: [X₄-1-X₂]

MPRF for transition t₆: eval_insertsort_0(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_1(nondef.0, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-X₂]
• eval_insertsort_1: [X₄-1-X₂]
• eval_insertsort_3: [X₄-1-X₂]
• eval_insertsort_4: [X₄-1-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-X₂]
• eval_insertsort_bb3_in: [X₄-1-X₂]
• eval_insertsort_bb4_in: [X₄-1-X₂]
• eval_insertsort_bb5_in: [X₄-1-X₂]
• eval_insertsort_bb6_in: [X₄-1-X₂]

MPRF for transition t₇: eval_insertsort_1(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb3_in(X₀, X₁, X₂, X₂-1, X₄) :|: 1 ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-X₂]
• eval_insertsort_1: [X₄-X₂]
• eval_insertsort_3: [X₄-1-X₂]
• eval_insertsort_4: [X₄-1-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-X₂]
• eval_insertsort_bb3_in: [X₄-1-X₂]
• eval_insertsort_bb4_in: [X₄-1-X₂]
• eval_insertsort_bb5_in: [X₄-1-X₂]
• eval_insertsort_bb6_in: [X₄-1-X₂]

MPRF for transition t₉: eval_insertsort_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₃ ≤ 0 ∧ 0 ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₂+X₃ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-X₂]
• eval_insertsort_1: [X₄-X₂]
• eval_insertsort_3: [X₄-X₂]
• eval_insertsort_4: [X₄-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-X₂]
• eval_insertsort_bb3_in: [X₄-X₂]
• eval_insertsort_bb4_in: [X₄-X₂]
• eval_insertsort_bb5_in: [X₄-X₂]
• eval_insertsort_bb6_in: [X₄-1-X₂]

MPRF for transition t₁₄: eval_insertsort_4(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₀ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-X₂]
• eval_insertsort_1: [X₄-X₂]
• eval_insertsort_3: [X₄-X₂]
• eval_insertsort_4: [X₄-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-X₂]
• eval_insertsort_bb3_in: [X₄-X₂]
• eval_insertsort_bb4_in: [X₄-X₂]
• eval_insertsort_bb5_in: [X₄-X₂]
• eval_insertsort_bb6_in: [X₄-1-X₂]

MPRF for transition t₁₆: eval_insertsort_bb6_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb1_in(X₀, X₁, 1+X₂, X₃, X₄) :|: 0 ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₂+X₃ of depth 1:

new bound:

X₄+1 {O(n)}

MPRF:

• eval_insertsort_0: [X₄-X₂]
• eval_insertsort_1: [X₄-X₂]
• eval_insertsort_3: [X₄-X₂]
• eval_insertsort_4: [X₄-X₂]
• eval_insertsort_bb1_in: [X₄-X₂]
• eval_insertsort_bb2_in: [X₄-X₂]
• eval_insertsort_bb3_in: [X₄-X₂]
• eval_insertsort_bb4_in: [X₄-X₂]
• eval_insertsort_bb5_in: [X₄-X₂]
• eval_insertsort_bb6_in: [X₄-X₂]

MPRF for transition t₈: eval_insertsort_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₃ ∧ 0 ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₂+X₃ of depth 1:

new bound:

2⋅X₄⋅X₄+6⋅X₄+6 {O(n^2)}

MPRF:

• eval_insertsort_0: [2⋅X₂]
• eval_insertsort_1: [2⋅X₂]
• eval_insertsort_3: [X₂+X₃]
• eval_insertsort_4: [X₂+X₃]
• eval_insertsort_bb1_in: [2⋅X₂]
• eval_insertsort_bb2_in: [2⋅X₂]
• eval_insertsort_bb3_in: [1+X₂+X₃]
• eval_insertsort_bb4_in: [X₂+X₃]
• eval_insertsort_bb5_in: [X₂+X₃]
• eval_insertsort_bb6_in: [X₂+X₃]

MPRF for transition t₁₀: eval_insertsort_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_3(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

X₄⋅X₄+3⋅X₄+3 {O(n^2)}

MPRF:

• eval_insertsort_0: [X₂]
• eval_insertsort_1: [X₂]
• eval_insertsort_3: [X₃]
• eval_insertsort_4: [X₃]
• eval_insertsort_bb1_in: [X₂]
• eval_insertsort_bb2_in: [X₂]
• eval_insertsort_bb3_in: [1+X₃]
• eval_insertsort_bb4_in: [1+X₃]
• eval_insertsort_bb5_in: [X₃]
• eval_insertsort_bb6_in: [X₃]

MPRF for transition t₁₂: eval_insertsort_3(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_4(X₀, nondef.1, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

3⋅X₄⋅X₄+9⋅X₄+9 {O(n^2)}

MPRF:

• eval_insertsort_0: [3⋅X₂]
• eval_insertsort_1: [3⋅X₂]
• eval_insertsort_3: [1+2⋅X₂+X₃]
• eval_insertsort_4: [2⋅X₂+X₃]
• eval_insertsort_bb1_in: [3⋅X₂]
• eval_insertsort_bb2_in: [3⋅X₂]
• eval_insertsort_bb3_in: [1+2⋅X₂+X₃]
• eval_insertsort_bb4_in: [1+2⋅X₂+X₃]
• eval_insertsort_bb5_in: [2⋅X₂+X₃]
• eval_insertsort_bb6_in: [2⋅X₂+X₃]

MPRF for transition t₁₃: eval_insertsort_4(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

X₄⋅X₄+3⋅X₄+3 {O(n^2)}

MPRF:

• eval_insertsort_0: [X₂]
• eval_insertsort_1: [X₂]
• eval_insertsort_3: [1+X₃]
• eval_insertsort_4: [1+X₃]
• eval_insertsort_bb1_in: [X₂]
• eval_insertsort_bb2_in: [X₂]
• eval_insertsort_bb3_in: [1+X₃]
• eval_insertsort_bb4_in: [1+X₃]
• eval_insertsort_bb5_in: [X₃]
• eval_insertsort_bb6_in: [X₃]

MPRF for transition t₁₅: eval_insertsort_bb5_in(X₀, X₁, X₂, X₃, X₄) → eval_insertsort_bb3_in(X₀, X₁, X₂, X₃-1, X₄) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂+X₃ ∧ 1+X₃ ≤ X₂ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

X₄⋅X₄+3⋅X₄+3 {O(n^2)}

MPRF:

• eval_insertsort_0: [X₂]
• eval_insertsort_1: [X₂]
• eval_insertsort_3: [1+X₃]
• eval_insertsort_4: [1+X₃]
• eval_insertsort_bb1_in: [X₂]
• eval_insertsort_bb2_in: [X₂]
• eval_insertsort_bb3_in: [1+X₃]
• eval_insertsort_bb4_in: [1+X₃]
• eval_insertsort_bb5_in: [1+X₃]
• eval_insertsort_bb6_in: [X₃]

Cut unreachable locations [eval_insertsort_4] from the program graph

Cut unsatisfiable transition [t₉: eval_insertsort_bb3_in→eval_insertsort_bb6_in; t₈₃: eval_insertsort_bb3_in→eval_insertsort_bb6_in]

Found invariant 3 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 3+X₃ ≤ X₄ ∧ 5 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 2+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₂ ∧ 1+X₀ ≤ X₁ for location eval_insertsort_bb4_in_v2

Found invariant 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ for location eval_insertsort_bb2_in

Found invariant X₄ ≤ X₂ ∧ 1 ≤ X₂ for location eval_insertsort_stop

Found invariant 1 ≤ X₂ for location eval_insertsort_bb1_in

Found invariant 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ for location eval_insertsort_0

Found invariant 2 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 3+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 2+X₃ ≤ X₂ ∧ 0 ≤ 1+X₃ ∧ 0 ≤ X₂+X₃ ∧ 1 ≤ X₂ ∧ 1+X₀ ≤ X₁ for location eval_insertsort_bb3_in_v1

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ X₂ ≤ 1+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_bb4_in_v1

Found invariant X₄ ≤ X₂ ∧ 1 ≤ X₂ for location eval_insertsort_bb7_in

Found invariant 3 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 3+X₃ ≤ X₄ ∧ 5 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 2+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₂ ∧ 1+X₀ ≤ X₁ for location eval_insertsort_3_v2

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ X₂ ≤ 1+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_4_v1

Found invariant 2 ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1 ≤ X₂ for location eval_insertsort_1

Found invariant 3 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 3+X₃ ≤ X₄ ∧ 5 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 2+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₂ for location eval_insertsort_4_v2

Found invariant 3 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 3+X₃ ≤ X₄ ∧ 5 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 2+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₂ ∧ 1+X₀ ≤ X₁ for location eval_insertsort_bb5_in_v2

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ X₂ ≤ 1+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_bb3_in

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ X₂ ≤ 1+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_3_v1

Found invariant 2 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ 1+X₃ ∧ 0 ≤ X₂+X₃ ∧ 1 ≤ X₂ for location eval_insertsort_bb6_in

Found invariant 2 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2+X₃ ≤ X₄ ∧ 3 ≤ X₂+X₄ ∧ 1+X₂ ≤ X₄ ∧ 1+X₃ ≤ X₂ ∧ 0 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ X₂ ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 1+X₀ ≤ X₁ for location eval_insertsort_bb5_in_v1

All Bounds

Timebounds

Overall timebound:8⋅X₄⋅X₄+31⋅X₄+35 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: X₄+1 {O(n)}
t₃: 1 {O(1)}
t₄: X₄+1 {O(n)}
t₆: X₄+1 {O(n)}
t₇: X₄+1 {O(n)}
t₈: 2⋅X₄⋅X₄+6⋅X₄+6 {O(n^2)}
t₉: X₄+1 {O(n)}
t₁₀: X₄⋅X₄+3⋅X₄+3 {O(n^2)}
t₁₂: 3⋅X₄⋅X₄+9⋅X₄+9 {O(n^2)}
t₁₃: X₄⋅X₄+3⋅X₄+3 {O(n^2)}
t₁₄: X₄+1 {O(n)}
t₁₅: X₄⋅X₄+3⋅X₄+3 {O(n^2)}
t₁₆: X₄+1 {O(n)}
t₁₇: 1 {O(1)}

Costbounds

Overall costbound: 8⋅X₄⋅X₄+31⋅X₄+35 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: X₄+1 {O(n)}
t₃: 1 {O(1)}
t₄: X₄+1 {O(n)}
t₆: X₄+1 {O(n)}
t₇: X₄+1 {O(n)}
t₈: 2⋅X₄⋅X₄+6⋅X₄+6 {O(n^2)}
t₉: X₄+1 {O(n)}
t₁₀: X₄⋅X₄+3⋅X₄+3 {O(n^2)}
t₁₂: 3⋅X₄⋅X₄+9⋅X₄+9 {O(n^2)}
t₁₃: X₄⋅X₄+3⋅X₄+3 {O(n^2)}
t₁₄: X₄+1 {O(n)}
t₁₅: X₄⋅X₄+3⋅X₄+3 {O(n^2)}
t₁₆: X₄+1 {O(n)}
t₁₇: 1 {O(1)}

Sizebounds

t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₂ {O(n)}
t₀, X₃: X₃ {O(n)}
t₀, X₄: X₄ {O(n)}
t₁, X₀: X₀ {O(n)}
t₁, X₁: X₁ {O(n)}
t₁, X₂: 1 {O(1)}
t₁, X₃: X₃ {O(n)}
t₁, X₄: X₄ {O(n)}
t₂, X₂: X₄+2 {O(n)}
t₂, X₃: X₃+X₄+4 {O(n)}
t₂, X₄: X₄ {O(n)}
t₃, X₂: X₄+3 {O(n)}
t₃, X₃: X₃+X₄+4 {O(n)}
t₃, X₄: 2⋅X₄ {O(n)}
t₄, X₂: X₄+2 {O(n)}
t₄, X₃: X₃+X₄+4 {O(n)}
t₄, X₄: X₄ {O(n)}
t₆, X₂: X₄+2 {O(n)}
t₆, X₃: X₃+X₄+4 {O(n)}
t₆, X₄: X₄ {O(n)}
t₇, X₂: X₄+2 {O(n)}
t₇, X₃: X₄+2 {O(n)}
t₇, X₄: X₄ {O(n)}
t₈, X₂: X₄+2 {O(n)}
t₈, X₃: X₄+3 {O(n)}
t₈, X₄: X₄ {O(n)}
t₉, X₂: X₄+2 {O(n)}
t₉, X₃: 1 {O(1)}
t₉, X₄: X₄ {O(n)}
t₁₀, X₂: X₄+2 {O(n)}
t₁₀, X₃: X₄+3 {O(n)}
t₁₀, X₄: X₄ {O(n)}
t₁₂, X₂: X₄+2 {O(n)}
t₁₂, X₃: X₄+3 {O(n)}
t₁₂, X₄: X₄ {O(n)}
t₁₃, X₂: X₄+2 {O(n)}
t₁₃, X₃: X₄+3 {O(n)}
t₁₃, X₄: X₄ {O(n)}
t₁₄, X₂: X₄+2 {O(n)}
t₁₄, X₃: X₄+3 {O(n)}
t₁₄, X₄: X₄ {O(n)}
t₁₅, X₂: X₄+2 {O(n)}
t₁₅, X₃: X₄+3 {O(n)}
t₁₅, X₄: X₄ {O(n)}
t₁₆, X₂: X₄+2 {O(n)}
t₁₆, X₃: X₄+4 {O(n)}
t₁₆, X₄: X₄ {O(n)}
t₁₇, X₂: X₄+3 {O(n)}
t₁₇, X₃: X₃+X₄+4 {O(n)}
t₁₇, X₄: 2⋅X₄ {O(n)}