Expected Cost | +- [f] | 0 | +- [Program] | o :~ {1 : 0} | upDown :~ {1 : 0} | 0:While(0 ≥ o ∧ o ≥ 0) | Tick(1) | 1:If(0 ≥ upDown ∧ upDown ≥ 0) Then | 2:If(y ≥ 1 + z) Then | y :~ {1 : -1 + y} | upDown :~ {1 : 1} | Else | o :~ {1 : 1} | Else | 3:If(y ≥ 2 + z) Then | z :~ {1 : 2 + z} | upDown :~ {1 : 0} | Else | o :~ {1 : 1} | +- While.step | | | +- [Problem] | | 0:While(0 ≥ o ∧ o ≥ 0) | | Tick(1) | | 1:If(0 ≥ upDown ∧ upDown ≥ 0) Then | | 2:If(y ≥ 1 + z) Then | | y :~ {1 : -1 + y} | | upDown :~ {1 : 1} | | Else | | o :~ {1 : 1} | | Else | | 3:If(y ≥ 2 + z) Then | | z :~ {1 : 2 + z} | | upDown :~ {1 : 0} | | Else | | o :~ {1 : 1} | | | +- [f] | | 0 | | | +- Expected Cost Body | | | | | `- [1 | ⊤] | | | +- conditions-template | | | | | `- 1 + 2·([-1 + y + -z | -1 + y + -z ≥ 0]) + [1 + -o | 1 + -o ≥ 0] + [1 + o | 1 + o ≥ 0] + 3·([1 + -upDown | 1 + -upDown ≥ 0]) + 3·([1 + upDown | 1 + upDown ≥ 0]) + [1 + -y + z | 1 + -y + z ≥ 0] + [2 + -y + z | 2 + -y + z ≥ 0] + 3·([-upDown | -upDown ≥ 0]) + 3·([upDown | upDown ≥ 0]) + 2·([y + -z | y + -z ≥ 0]) | | | +- [Norms] | | [[1 | ⊤],[-1 + y + -z | -1 + y + -z ≥ 0],[1 + -o | 1 + -o ≥ 0],[1 + o | 1 + o ≥ 0],[1 + -upDown | 1 + -upDown ≥ 0],[1 + upDown | 1 + upDown ≥ 0],[1 + -y + z | 1 + -y + z ≥ 0],[2 + -y + z | 2 + -y + z ≥ 0],[-upDown | -upDown ≥ 0],[upDown | upDown ≥ 0],[y + -z | y + -z ≥ 0]] | | | +- [Invariant] | | 0 ≥ o ∧ o ≥ 0 ==> [1 | ⊤] + h([1 | ⊤],ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,[-2 + y + -z | -2 + y + -z ≥ 0],[-1 + y + -z | -1 + y + -z ≥ 0]),ite(y ≥ 2 + z,[-3 + y + -z | -3 + y + -z ≥ 0],[-1 + y + -z | -1 + y + -z ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,[y ≥ 1 + z] · [1 + -o | 1 + -o ≥ 0],[y ≥ 2 + z] · [1 + -o | 1 + -o ≥ 0]),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,[1 + o | 1 + o ≥ 0],2),ite(y ≥ 2 + z,[1 + o | 1 + o ≥ 0],2)),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,0,[1 + -upDown | 1 + -upDown ≥ 0]),ite(y ≥ 2 + z,[1 | ⊤],[1 + -upDown | 1 + -upDown ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,2,[1 + upDown | 1 + upDown ≥ 0]),ite(y ≥ 2 + z,[1 | ⊤],[1 + upDown | 1 + upDown ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,[2 + -y + z | 2 + -y + z ≥ 0],[1 + -y + z | 1 + -y + z ≥ 0]),ite(y ≥ 2 + z,[3 + -y + z | 3 + -y + z ≥ 0],[1 + -y + z | 1 + -y + z ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,[3 + -y + z | 3 + -y + z ≥ 0],[2 + -y + z | 2 + -y + z ≥ 0]),ite(y ≥ 2 + z,[4 + -y + z | 4 + -y + z ≥ 0],[2 + -y + z | 2 + -y + z ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,-1,-1·[upDown | -upDown ≥ 0]),ite(y ≥ 2 + z,0,-1·[upDown | -upDown ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,[1 | ⊤],[upDown | upDown ≥ 0]),ite(y ≥ 2 + z,0,[upDown | upDown ≥ 0])),ite(0 ≥ upDown ∧ upDown ≥ 0,ite(y ≥ 1 + z,[-1 + y + -z | -1 + y + -z ≥ 0],[y + -z | y + -z ≥ 0]),ite(y ≥ 2 + z,[-2 + y + -z | -2 + y + -z ≥ 0],[y + -z | y + -z ≥ 0]))) ≼ h([1 | ⊤],[-1 + y + -z | -1 + y + -z ≥ 0],[1 + -o | 1 + -o ≥ 0],[1 + o | 1 + o ≥ 0],[1 + -upDown | 1 + -upDown ≥ 0],[1 + upDown | 1 + upDown ≥ 0],[1 + -y + z | 1 + -y + z ≥ 0],[2 + -y + z | 2 + -y + z ≥ 0],[-upDown | -upDown ≥ 0],[upDown | upDown ≥ 0],[y + -z | y + -z ≥ 0]) | | 0 ≥ 1 + o ∨ o ≥ 1 ==> 0 ≼ h([1 | ⊤],[-1 + y + -z | -1 + y + -z ≥ 0],[1 + -o | 1 + -o ≥ 0],[1 + o | 1 + o ≥ 0],[1 + -upDown | 1 + -upDown ≥ 0],[1 + upDown | 1 + upDown ≥ 0],[1 + -y + z | 1 + -y + z ≥ 0],[2 + -y + z | 2 + -y + z ≥ 0],[-upDown | -upDown ≥ 0],[upDown | upDown ≥ 0],[y + -z | y + -z ≥ 0]) | | | `- [1 + -o | 1 + -o ≥ 0] + [y + -z | y + -z ≥ 0] | `- [1 | ⊤] + [y + -z | y + -z ≥ 0]