| n ≠ 0 ⊦ ⟨caterpillar_init#(n; ; h1, xs1, xs_len, ys)⟩ (prefixn(h1, xs1 + ys) = [] ∧ # xs1 + # ys = 0 ∧ n = h1) |
⊦ ⟨if n > 0 then h := n, xs := [], xs_len := 0, ys := [] else abort⟩ (prefixn(h, xs + ys) = [] ∧ # xs + # ys = 0 ∧ n = h), n = 0
Used simplifier rules: caterpillar_init#(n; ; h, xs, xs_len, ys) {h := n, xs := [], xs_len := 0, ys := []};