| 〈build_rec#(0; x, to)〉 (x = x1 ∧ to = to1), x2 = x, x0 = x, to1 ≠ fail → x0 = depths(to1 .t, 0) + x1, to2 = to1 ∧ x3 = x1 ⊦ 〈if x3 ≠ [] then to2 := fail〉 (to2 ≠ fail → x2 = depths(to2 .t, 0)) |
〈build_rec#(0; x, to)〉 (x = x1 ∧ to = to1), x2 = x, x0 = x, to1 ≠ fail → x0 = depths(to1 .t, 0) + x1, to2 = to1 ∧ x3 = x1, x3 ≠ [] ⊦ 〈to2 := fail〉 (to2 ≠ fail → x2 = depths(to2 .t, 0))
〈build_rec#(0; x, to)〉 (x = x1 ∧ to = to1), x2 = x, x0 = x, to1 ≠ fail → x0 = depths(to1 .t, 0) + x1, to2 = to1 ∧ x3 = x1, ¬ x3 ≠ [] ⊦ 〈skip〉 (to2 ≠ fail → x2 = depths(to2 .t, 0))
[[CONCRETESIMPRULES : ()]]