Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂) :|: 0 ≤ X₀ ∧ X₂ ≤ X₁
t₁: l1(X₀, X₁, X₂) → l1(X₀-1, X₁, X₂-1) :|: 1 ≤ X₀ ∧ X₂ ≤ X₁+1
t₂: l1(X₀, X₁, X₂) → l1(X₀, X₁+X₂-1, X₂-1) :|: 0 ≤ X₀ ∧ 0 ≤ X₁

Preprocessing

Found invariant X₂ ≤ X₁ ∧ 0 ≤ X₀ for location l1

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂) :|: 0 ≤ X₀ ∧ X₂ ≤ X₁
t₁: l1(X₀, X₁, X₂) → l1(X₀-1, X₁, X₂-1) :|: 1 ≤ X₀ ∧ X₂ ≤ X₁+1 ∧ X₂ ≤ X₁ ∧ 0 ≤ X₀
t₂: l1(X₀, X₁, X₂) → l1(X₀, X₁+X₂-1, X₂-1) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₀

MPRF for transition t₁: l1(X₀, X₁, X₂) → l1(X₀-1, X₁, X₂-1) :|: 1 ≤ X₀ ∧ X₂ ≤ X₁+1 ∧ X₂ ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

l1 [X₀+1 ]

Found invariant 1 ≤ 0 for location l1

Found invariant X₂ ≤ X₁ ∧ 0 ≤ X₀ for location l1

MPRF for transition t₂: l1(X₀, X₁, X₂) → l1(X₀, X₁+X₂-1, X₂-1) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₀ of depth 2:

new bound:

8⋅X₁+8⋅X₂+1 {O(n)}

MPRF:

l1 [X₂ ; X₁ ]

All Bounds

Timebounds

Overall timebound:8⋅X₁+8⋅X₂+X₀+3 {O(n)}
t₀: 1 {O(1)}
t₁: X₀+1 {O(n)}
t₂: 8⋅X₁+8⋅X₂+1 {O(n)}

Costbounds

Overall costbound: 8⋅X₁+8⋅X₂+X₀+3 {O(n)}
t₀: 1 {O(1)}
t₁: X₀+1 {O(n)}
t₂: 8⋅X₁+8⋅X₂+1 {O(n)}

Sizebounds

t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₂ {O(n)}
t₁, X₀: 2⋅X₀ {O(n)}
t₁, X₁: 128⋅X₁⋅X₁+16⋅X₀⋅X₁+16⋅X₀⋅X₂+168⋅X₂⋅X₂+296⋅X₁⋅X₂+4⋅X₀+74⋅X₁+82⋅X₂+9 {O(n^2)}
t₁, X₂: 10⋅X₂+8⋅X₁+X₀+2 {O(n)}
t₂, X₀: 2⋅X₀ {O(n)}
t₂, X₁: 128⋅X₁⋅X₁+16⋅X₀⋅X₁+16⋅X₀⋅X₂+168⋅X₂⋅X₂+296⋅X₁⋅X₂+4⋅X₀+74⋅X₁+82⋅X₂+9 {O(n^2)}
t₂, X₂: 10⋅X₂+8⋅X₁+X₀+2 {O(n)}