| ⊦ ⟪if n > 0 then h := n, xs := [] else abort⟫ ⟨caterpillar_init#(n; ; h1, xs1, xs_len, ys)⟩ (prefixn(h1, xs1 + ys) = prefixn(h1, xs) ∧ # xs1 + # ys ≤ # xs ∧ h = h1), n = 0 |
⊦ ⟪h := n, xs := []⟫ ⟨caterpillar_init#(n; ; h1, xs1, xs_len, ys)⟩ (prefixn(h1, xs1 + ys) = prefixn(h1, xs) ∧ # xs1 + # ys ≤ # xs ∧ h = h1), n = 0
Used simplifier rules: ⊦ m > n ↔ n < m; (s)% ⊦ 0 < m ↔ m ≠ 0; (s)