[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 prepost-read-superblock
# avol ≠ 0, avol[0].mapped?, is-encoded(sb0, avol[0].data), ebm-vol-inv(avol) ⊦ ⟪persistence_io_read_superblock#(EB_PAGE_SIZE, LEB_SIZE, avol; sb; err)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → sb = sb0))
Type: A user defined theorem
Validity: The proof is valid.
Features:
Comment:
Used by:
inv-recover
,
Used by units in proved state:
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 13
Proof steps: 52
Used lemmas:
read-superblock
,
Used spec theorems:
encoding-aligned
/encoding-superblock/
decode-contract
encoding-aligned
/encoding-superblock/
is-encoded-aligned
array-splice
/buffer/
append-a
array-splice
/buffer/
subarray-append-shift-right
encoding
/encoding-superblock/
is-encoded-unique-size
array
/buffer/
Extension
array-splice
/buffer/
subarray-eq-elim
ebm-vol-inv
/
ebm-vol-inv
Used simplifier rules:
nat
/
lep
aleb
/
inj
aleb
/
ex
array-copy
/buffer/
copy-exact
nat
/
add
nat
/
elim-sub
nat
/
let
eraseblock
/
lebsize-neq-zero
nat-basic
/
ls-02
nat
/
fle
nat-basic
/
lf-01
encoding
/encoding-superblock/
is-encoded-prefix
array-splice
/buffer/
subarray-elim-right
nat-basic
/
succ
array-copy
/buffer/
size-subarray
nat-basic
/
lf-02
nat-basic
/
l-02
array-copy
/buffer/
subarray-elim
nat-basic
/
lf
oelem
/nat-set/
transitivity
array-splice
/buffer/
append-left-size0
nat
/
lels-03
array-splice
/buffer/
subarray-append-left
encoding
/encoding-superblock/
is-encoded-unique
nat-basic
/
f
nat
/
sub-ls
array-splice
/buffer/
append-a
array-splice
/buffer/
emparray-len
array-splice
/buffer/
append-len
error-class
/
esuccess
nat-basic
/
zero
aleb
/
test-02
aleb
/
sel
nat
/
ls-le-simp
nat
/
zero
error-class
/
not-esuccess
eraseblock
/
emptyleb-size
nat
/
ler
oelem
/nat-set/
irreflexivity
nat
/
le-def
nat
/
ge
nat-basic
/
c
nat-basic
/
a
nat-basic
/
add-base
nat
/
lez
array-splice
/buffer/
range-eq-0
array
/buffer/
Size-mkarray
error
/
disj-91
error-class
/
ecommit