[Imprint]
[Data Privacy Statement]
[E-Mail]
View
long theorem info
. View
the proof
. Back to
main index
. View
the specification
. View
theorem base summary
, View
theorem base listing
, the
used properties by spec
, the
dependency list
, the
symbol table
,
Theorem inv-write
ebm-cons(avols), v ∈ avols, m < # avols[v], m0 + n ≤ LEB_SIZE, is-aligned(m0, EB_PAGE_SIZE), is-aligned(n, EB_PAGE_SIZE), n + n0 ≤ # buf, avols[v][m].mapped? → m0 ≥ avols[v][m].fill ⊦ ⟪ebm_write#(v, m, m0, n0, n, buf; avols; err)⟫ ebm-cons(avols)
Type: A proof obligation
Validity: The proof is valid.
Features:
Comment:
Used by:
Used by units in proved state:
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 9
Proof steps: 74
Used lemmas:
write
,
Used spec theorems:
array-splice
/buffer/
range-eq-ext
array-splice
/buffer/
append-at
Used simplifier rules:
nat-basic
/
eqs
nat
/
lels-02
array-copy
/buffer/
subarray-elim
array-splice
/buffer/
emparray-at
ebm-base
/
ebm-cons-leb-size
leb
/
elim
error-class
/
esuccess
nat-basic
/
lf-01
nat-basic
/
lf-02
eraseblock
/
emptyleb-at
eraseblock
/
emptyleb-size
nat
/
ler
nat
/
lep-02
nat
/
lels
nat
/
eq-01
align
/
is-aligned-add
eraseblock
/
page-size
leb
/
sel-01
nat-basic
/
eq-01
nat
/
sub-add
nat
/
eq-02
array-splice
/buffer/
append-a
array-splice
/buffer/
emparray-len
array-copy
/buffer/
size-subarray
array-splice
/buffer/
append-len
leb
/
sel
leb
/
test-03
nat
/
le-ls-simp
nat
/
elim-sub
eraseblock
/
lebsize-neq-zero
nat
/
let
nat
/
fle
nat-basic
/
l-02
nat-basic
/
ls-02
nat-basic
/
l
nat
/
fle-01
nat-basic
/
f
nat
/
ls-02
nat
/
ls-le-simp
nat
/
le-def
nat
/
ge
nat-basic
/
c
nat-basic
/
a
nat-basic
/
add-base
ebm-base
/
ebm-cons-write
ebm-base
/
valid-leb-def
leb
/
test-01
error-class
/
not-esuccess
error
/
disj-91
error-class
/
ecommit