Expected Cost | +- [f] | 0 | +- [Program] | 0:While(0 ≥ 1 + n) | Tick(1) | n :~ {1 : 1 + n} | y :~ {1 : 1000 + y} | 1:While(y ≥ 100) | Tick(1) | y :~ {1 : -100 + y} | +- While.step | | | +- [Problem] | | 0:While(0 ≥ 1 + n) | | Tick(1) | | n :~ {1 : 1 + n} | | y :~ {1 : 1000 + y} | | 1:While(y ≥ 100) | | Tick(1) | | y :~ {1 : -100 + y} | | | +- [f] | | 0 | | | +- Expected Cost Body | | | | | +- While.step | | | | | | | +- [Problem] | | | | 1:While(y ≥ 100) | | | | Tick(1) | | | | y :~ {1 : -100 + y} | | | | | | | +- [f] | | | | 0 | | | | | | | +- Expected Cost Body | | | | | | | | | `- [1 | ⊤] | | | | | | | +- linear-template | | | | | | | | | `- 1 + [-99 + y | -99 + y ≥ 0] | | | | | | | +- [Norms] | | | | [[1 | ⊤],[-99 + y | -99 + y ≥ 0]] | | | | | | | +- [Invariant] | | | | y ≥ 100 ==> [1 | ⊤] + h([1 | ⊤],[-199 + y | -199 + y ≥ 0]) ≼ h([1 | ⊤],[-99 + y | -99 + y ≥ 0]) | | | | 100 ≥ 1 + y ==> 0 ≼ h([1 | ⊤],[-99 + y | -99 + y ≥ 0]) | | | | | | | `- [-99 + y | -99 + y ≥ 0] | | | | | `- [1 | ⊤] + [901 + y | 901 + y ≥ 0] | | | +- linear-template | | | | | `- 1 + [901 + y | 901 + y ≥ 0] + [-n | -n ≥ 0] | | | +- [Norms] | | [[1 | ⊤],[901 + y | 901 + y ≥ 0],[-n | -n ≥ 0]] | | | +- While.step | | | | | +- [Problem] | | | 1:While(y ≥ 100) | | | Tick(1) | | | y :~ {1 : -100 + y} | | | | | +- [f] | | | [901 + y | 901 + y ≥ 0] | | | | | +- linear-template | | | | | | | `- 1 + 2·([-99 + y | -99 + y ≥ 0]) + [901 + y | 901 + y ≥ 0] | | | | | +- [Norms] | | | [[1 | ⊤],[-99 + y | -99 + y ≥ 0],[901 + y | 901 + y ≥ 0]] | | | | | +- [Invariant] | | | y ≥ 100 ==> 0 + h([1 | ⊤],[-199 + y | -199 + y ≥ 0],[801 + y | 801 + y ≥ 0]) ≼ h([1 | ⊤],[-99 + y | -99 + y ≥ 0],[901 + y | 901 + y ≥ 0]) | | | 100 ≥ 1 + y ==> [901 + y | 901 + y ≥ 0] ≼ h([1 | ⊤],[-99 + y | -99 + y ≥ 0],[901 + y | 901 + y ≥ 0]) | | | | | `- 1000 | | | +- [Invariant] | | 0 ≥ 1 + n ==> [1 | ⊤] + [901 + y | 901 + y ≥ 0] + h([1 | ⊤],1000,-1·[1 + n | -1 + -n ≥ 0]) ≼ h([1 | ⊤],[901 + y | 901 + y ≥ 0],[-n | -n ≥ 0]) | | 1 + n ≥ 1 ==> 0 ≼ h([1 | ⊤],[901 + y | 901 + y ≥ 0],[-n | -n ≥ 0]) | | | `- [901 + y | 901 + y ≥ 0] + -1001·[n | -n ≥ 0] | `- [901 + y | 901 + y ≥ 0] + -1001·[n | -n ≥ 0]