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