| n > 0 ⊦ ⟪caterpillar_init#(n; ; h, xs, xs_len, ys)⟫ (# xs < h ∧ # xs = xs_len ∧ (# ys = 0 ∨ # ys = h)) |
n ≠ 0 ⊦ ⟪caterpillar_init#(n; ; h, xs, xs_len, ys)⟫ (# xs < h ∧ # xs = xs_len ∧ (ys = [] ∨ # ys = h))
Used simplifier rules: ⊦ # x = 0 ↔ x = []; (s)% ⊦ 0 < m ↔ m ≠ 0; (s)% ⊦ m > n ↔ n < m; (s)