ExecutionLog | `- Expected Cost | +- [f] | 0 | +- [Program] | 0:While(m 1 n 1) | Choice | 1/2: n :~ {1 : -1 + n} | 1/2: m :~ {1 : -1 + m} | Tick(1) | +- While.step | | | +- [Problem] | | 0:While(m 1 n 1) | | Choice | | 1/2: n :~ {1 : -1 + n} | | 1/2: m :~ {1 : -1 + m} | | Tick(1) | | | +- [f] | | 0 | | | +- Expected Cost Body | | | | | `- [1 | ] | | | +- linear-template | | | | | `- 1 + [m | m 0] + [n | n 0] | | | +- [Norms] | | [[1 | ],[m | m 0],[n | n 0]] | | | +- [Invariant] | | m 1 n 1 ==> [1 | ] + h([1 | ],1/2[m | m 0] + 1/2[-1 + m | -1 + m 0],1/2[-1 + n | -1 + n 0] + 1/2[n | n 0]) h([1 | ],[m | m 0],[n | n 0]) | | 1 1 + m 1 1 + n ==> 0 h([1 | ],[m | m 0],[n | n 0]) | | | `- 2[m | m 0] | `- 2[m | m 0] [Success] 2[m | m 0] Degree: 1