| n1 + encoding-size(n) ≤ # buf, buf0 = buf ⊦ ⟪encode_nat#(n, n1; buf, n0; err)⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ # buf = # buf0 ∧ subarray(buf, 0, n1) = subarray(buf0, 0, n1) ∧ subarray(buf, n1 + encoding-size(n), # buf - n1 + encoding-size(n)) = subarray(buf0, n1 + encoding-size(n), # buf - n1 + encoding-size(n)) ∧ (err = ESUCCESS → is-encoded(n, subarray(buf, n1, encoding-size(n))) ∧ n0 = encoding-size(n))) |