| n + ENCODED_ELEM_SIZE ≤ # buf ⊦ ⟪let m = ? in decode#(n, buf; a, m; err)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → is-encoded-nonempty(a, subarray(buf, n, ENCODED_ELEM_SIZE)))), isempty(buf, n, ENCODED_ELEM_SIZE) |
n + ENCODED_ELEM_SIZE ≤ # buf, ¬ isempty(buf, n, ENCODED_ELEM_SIZE) ⊦ ⟪let m = ? in decode#(n, buf; a, m; err)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → is-encoded-nonempty(a, subarray(buf, n, ENCODED_ELEM_SIZE))))