[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 refine-write-data-wl
ubi-io-write-data-wl-pre(m, n, buf, apebs), abs(pebs, apebs), ubi-io-inv(apebs), m0 = EB_PAGE_SIZE, mtd-cons(pebs) ⊦ ⟪ubi_io_write_data_wl#(m, n, buf, m0; pebs; err)⟫ ⟨aubi_io_write_data_wl#(m, n, buf; apebs; err0)⟩ (abs(pebs, apebs) ∧ err = err0)
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: 39
Proof steps: 166
Used lemmas:
Used spec theorems:
array-copy
/buffer/
at-copy
array-splice
/buffer/
append-at
array-copy
/buffer/
subarray-copy
array-splice
/buffer/
copy2append0
array-copy
/buffer/
subarray-subarray-elim
array-splice
/buffer/
range-eq-ext
array
/apebs/
Put-other
mtd-base
/
mtd-cons-extract
array-splice
/buffer/
range-eq-subarrays
ubi-io-abs
/
abs-peb
array
/buffer/
Extension
ubi-io-abs
/
abs
Used simplifier rules:
apeb
/
elim
peb
/
elim
eraseblock
/
pebsize-le-2page-size-lebsize
error-class
/
esuccess
align
/
is-aligned-multiplier
mtd-base
/
mtd-valid-peb
eraseblock
/
pebsize-minus-2eb-page-size
eraseblock
/
subarray-emptypeb-eq-emptyleb
nat-mult
/
two-zero-01
nat-mult
/
neqone
array-splice
/buffer/
append-len
array-copy
/buffer/
size-copy
nat
/
lels-02
array-copy
/buffer/
copy-exact
nat-basic
/
zero-01
nat
/
le-ls-simp
nat
/
lep
eraseblock
/
lebsize-ls-2page-size-pebsize
eraseblock
/
lebsize-neq-zero
align
/
alignup-le-is-aligned
array
/pebs/
cputput
array
/pebs/
Put-same
array
/pebs/
Size-put
peb
/
inj
nat
/
fle
datasize
/
datasize-is-smaller-help
checksum
/
checksum-append-left
peb
/
upd-07
peb
/
upd-05
ubi-io-abs
/
abs-reduce
eraseblock
/
pebsize-le-2page-size
nat-mult
/
two-02
array-copy
/buffer/
subarray-copy-higher
eraseblock
/
pebsize-le-page-size
apeb
/
sel-06
nat-mult
/
twole-02
peb
/
sel-07
peb
/
sel-06
peb
/
sel-05
nat-mult
/
le-num
nat-mult
/
zero
nat-mult
/
dist-sub-04
array-splice
/buffer/
append-eq-left
array-copy
/buffer/
subarray-zero
nat
/
elim-sub
nat-basic
/
l-01
nat-basic
/
eqs
nat
/
lels-03
nat
/
le-def
nat-basic
/
lf-02
nat-basic
/
lf
nat-basic
/
l
nat-basic
/
ref
array-copy
/buffer/
subarray-elim
nat-basic
/
ls-02
nat
/
let
array-copy
/buffer/
subarray-at
array-copy
/buffer/
size-subarray
eraseblock
/
emptypeb-at
eraseblock
/
pebsize-ls-2page-size-n
mtd-base
/
mtd-cons-peb-size
nat
/
ler
eraseblock
/
emptypeb-size
nat-mult
/
mult-c
nat-mult
/
mult-a
eraseblock
/
lebsize-pebsize
nat-basic
/
l-06
apeb
/
sel-07
ubi-io-pre
/
write-data-wl-pre
error-class
/
not-esuccess
array-splice
/buffer/
append-a
array-splice
/buffer/
append-zero-left
datasize
/
datasize-base
array
/buffer/
Size-mkarray
apeb
/
sel-08
apeb
/
sel-05
apeb
/
sel-04
nat
/
sub-base
nat
/
lez
nat
/
ge
ubi-io-abs
/
abs-size-apebs1
array
/apebs/
Size-put
array
/apebs/
Put-same
eraseblock
/
emptyleb-size
array-splice
/buffer/
emparray-len
nat
/
ls-le-simp
eraseblock
/
emptyleb-at
array-splice
/buffer/
emparray-at
nat-basic
/
lf-01
nat-basic
/
zero
align
/
is-aligned-zero
error
/
disj-91
error-class
/
ecommit
align
/
alignup-same
nat-basic
/
f
ubi-io-abs
/
abs-size-apebs0
nat
/
fle-01
nat
/
lels
nat-basic
/
c
nat-basic
/
a
nat-basic
/
add-base
ubi-io-abs
/
abs-fillcount-valid-headers
ubi-io-abs
/
abs-fwd
ubi-io-abs
/
abs-bad
eraseblock
/
page-size
align
/
alignup-is-aligned