| err0 = ESUCCESS, avols[default-volid][m2].mapped?, m2 < # avols[default-volid], ebm-cons(avols), default-volid ∈ avols, n0 + n ≤ # buf, m1 + n ≤ LEB_SIZE, ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ (m1 + n ≤ # avols[default-volid][m2].data ∧ n0 + n ≤ # buf) ∧ avols[default-volid][m2].mapped? ∧ m2 < # avols[default-volid] ∧ default-volid ∈ avols |
avols[default-volid][m2].mapped?, m2 < # avols[default-volid], # avols[default-volid][m2].data < m1 + n, # avols[default-volid][m2].data < LEB_SIZE, ebm-cons(avols), default-volid ∈ avols, m1 + n ≤ LEB_SIZE, n0 + n ≤ # buf ⊦
Used simplifier rules: ⊦ LEB_SIZE ≠ 0; (s)% ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ ¬ ⌊ESUCCESS⌋ ; (s)