[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 encode
# buf ≥ # vtbl * (ENCODED_NAT_SIZE + ENCODED_VOLID_SIZE) + ENCODED_NAT_SIZE, buf0 = buf, vtbl0 = vtbl ⊦ ⟪encode_vtbl#(; vtbl, buf; err)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ # buf = # buf0 ∧ (err = ESUCCESS → is-encoded(vtbl0, buf)))
Type: A user defined theorem
Validity: The proof is valid.
Features:
Comment:
Used by:
Used by units in proved state:
ubi-asm
,
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 46
Proof steps: 116
Used lemmas:
is-encoded
,
is-encoded-rec-unique
,
is-encoded-rec-append
,
is-encoded-rec-size
,
is-encoded-base
,
encode-vtbl
,
Used spec theorems:
encoding
/encoding-volid/
encode-contract
encoding
/encoding-nat/
encode-contract
store
/vtbl/
exin
array-splice
/encoding-nat-buffer/
subarray-elim
array-copy
/encoding-nat-buffer/
subarray-subarray-elim
store-union
/vtbl/
disjoint
store-union
/vtbl/
union-in
store
/vtbl/
Del-in
store-union
/vtbl/
union-at-left
store
/vtbl/
At-other
array-splice
/encoding-nat-buffer/
subarray-append-consec0
store
/vtbl/
Extension
Used simplifier rules:
array-copy
/encoding-nat-buffer/
subarray-zero
array
/encoding-nat-buffer/
Size-mkarray
store-union
/vtbl/
disjoint-left-empty
store-union
/vtbl/
union-left-empty
array-splice
/encoding-nat-buffer/
append-zero-left
store
/vtbl/
notmemlookup
store
/vtbl/
In-empty
nat
/
le
encoding-fixed-size
/encoding-volid/
encoding-size
nat-mult
/
ls-07
nat-mult
/
numeral-36
encoding-fixed-size
/encoding-nat/
encoding-size
nat
/
elim-pred-c
nat-mult
/
numeral-21
nat-mult
/
numeral-32
nat-mult
/
ls-01
nat-basic
/
neq-01
nat-basic
/
succ
nat
/
fle
nat
/
le-add
array-splice
/encoding-nat-buffer/
subarray-elim-right
nat-mult
/
ls-08
nat-mult
/
numeral-20
nat-mult
/
two-02
nat-mult
/
numeral-19
array-splice
/encoding-nat-buffer/
append-left-size0
nat-basic
/
eq-02
array-splice
/encoding-nat-buffer/
subarray-append-left
nat
/
zero
nat
/
eq-01
array-splice
/encoding-nat-buffer/
subarray-append-elim-left
encoding-fixed-size
/encoding-volid/
encoding-requires-space
nat
/
le-ls-simp
nat
/
ls-02
nat-mult
/
one
nat-mult
/
numeral-25
array-splice
/encoding-nat-buffer/
append-eq-left
nat-basic
/
trans
nat-basic
/
l-02
encoding-fixed-size
/encoding-nat/
encoding-requires-space
store
/vtbl/
Size-insert
nat-mult
/
rsucc-02
nat
/
elim-sub
nat-basic
/
eqs
encoding
/encoding-volid/
is-encoded-unique
nat
/
ler
nat-basic
/
add-base
nat
/
lels-03
store
/vtbl/
In-insert
store
/vtbl/
Del-at
store
/vtbl/
At-same
store
/vtbl/
Del-in
store
/vtbl/
in-neq
store-union
/vtbl/
disjoint-in-right
store-union
/vtbl/
disjoint-in-left
array-copy
/encoding-nat-buffer/
subarray-elim
nat
/
lels-02
nat-basic
/
lf-02
nat-basic
/
lf-01
nat-basic
/
lf
nat
/
fle-01
nat-basic
/
f
nat-basic
/
l
array-splice
/encoding-nat-buffer/
append-prefix-left
array-copy
/encoding-nat-buffer/
size-subarray
encoding-fixed-size
/encoding-volid/
is-encoded-size
nat-basic
/
l-01
nat-basic
/
ls-02
error-class
/
not-esuccess
store
/vtbl/
size
nat
/
pred-03
nat
/
le-def
nat-basic
/
one-01
store
/vtbl/
empty
nat
/
ls-01
nat-basic
/
s-04
nat-basic
/
ref
store-union
/vtbl/
disjoint-right-empty
nat
/
lez
nat-mult
/
mult-c
nat-mult
/
mult-a
nat-mult
/
zero
store
/vtbl/
Size-empty
store-union
/vtbl/
union-right-empty
array-splice
/encoding-nat-buffer/
append-len
encoding-fixed-size
/encoding-nat/
is-encoded-size
nat
/
ge
nat
/
lep
nat
/
lep-02
nat-basic
/
c
nat-basic
/
a
nat-basic
/
eq-01
array-splice
/encoding-nat-buffer/
append-a
encoding
/encoding-nat/
is-encoded-unique