| 〈build_rec#(0; x, to)〉 (x = x1 ∧ to = to1), x ≠ [], 0 ≤ max(x), to1 ≠ fail → x = depths(to1 .t, 0) + x1 ⊦ 〈if x1 ≠ [] then to1 := fail〉 (to1 = fail → (∀ t. x ≠ depths(t, 0))) |
x ≠ [], x = x0, i ≤ j, max(x) ≤ j ⊦ 〈build_rec#(i; x, to)〉 (to = fail → ¬ (∃ t, x1. x0 = depths(t, i) + x1))
〈x1 := x〉 〈build_rec#(0; x, to)〉 (to = fail → ¬ (∃ t, x. x1 = depths(t, 0) + x)), 〈build_rec#(0; x, to)〉 (x = x1 ∧ to = to1), x ≠ [], 0 ≤ max(x), to1 ≠ fail → x = depths(to1 .t, 0) + x1 ⊦ 〈if x1 ≠ [] then to1 := fail〉 (to1 = fail → (∀ t. x ≠ depths(t, 0)))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ i])], [EXTRATERMS : (x, x, 0, max(x), to)]]