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