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