| n0 = n ⊦ ⟪to_delete := []; xs_len := 0; H := ∅⟫ ⟨caterpillar_init#(n; ; h0, xs, xs_len0, ys)⟩ ∃ n. ((ls(null, xs) * ls(null, ys) * del-list(to_delete, n)))(H) ∧ n ≤ # xs + # ys ∧ n + # xs ≤ h0 ∧ n0 = h0 ∧ xs_len = xs_len0, n = 0 |
n0 = n ⊦ ⟪xs_len := 0; H := ∅⟫ ⟨caterpillar_init#(n; ; h0, xs, xs_len0, ys)⟩ ∃ n. ((ls(null, xs) * ls(null, ys) * del-list([], n)))(H) ∧ n ≤ # xs + # ys ∧ n + # xs ≤ h0 ∧ n0 = h0 ∧ xs_len = xs_len0, n = 0