| err0 = ESUCCESS, avols[v][m2].mapped?, m2 < # avols[v], ebm-cons(avols), v ∈ avols, m1 + n ≤ LEB_SIZE, n0 + n ≤ # buf, ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ (m1 + n ≤ # avols[v][m2].data ∧ n0 + n ≤ # buf) ∧ avols[v][m2].mapped? ∧ m2 < # avols[v] ∧ v ∈ avols |
avols[v][m2].mapped?, m2 < # avols[v], # avols[v][m2].data < m1 + n, # avols[v][m2].data < LEB_SIZE, ebm-cons(avols), v ∈ avols, n0 + n ≤ # buf, m1 + n ≤ LEB_SIZE ⊦
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)