| x2 = x, x ≠ [], max(x) < 0, head(x) ≤ max(x), head(x) < 0 ⊦ 〈build_rec#(0; x, to)〉 〈to0 := to, x0 := x ; if x0 ≠ [] then to0 := fail〉 (to0 ≠ fail → x2 = depths(to0 .t, 0)) |
x2 = x, x ≠ [], max(x) < 0, d ≤ max(x), d < 0, x = d + y ⊦ 〈build_rec#(0; x, to)〉 〈to0 := to, x0 := x ; if x0 ≠ [] then to0 := fail〉 (to0 ≠ fail → x2 = depths(to0 .t, 0))
[[CONCRETESIMPRULES : ([CSIMPELIM : x ≠ [] ⊦ d = head(x) ∧ y = pop(x) ↔ x = d + y])], [EXTRATERMS : (x, d, y)]]