[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 insert-contract
# x0 = # rx0, x0 ≠ [], x1 ≠ [], ((r => mkcell(rx0.last, rx1.first, a) * dls(head, prev, x0 + x1, rx0 + rx1, next, tail) * P))(H) ⊦ ⟪insert(r; H)⟫ ((dls(head, prev, x0 + a ' + x1, rx0 + r ' + rx1, next, tail) * P))(H)
Type: A user defined theorem
Validity: The proof is valid.
Features:
Comment:
Used by:
insert-simple-contract
,
Used by units in proved state:
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 23
Proof steps: 48
Used lemmas:
insert
,
Used spec theorems:
list
/
lastdiv-rew
list
/reflist/
lastdiv-rew
dllist
/
dls-one
dllist
/
dls-split
dllist
/
dls-last
dllist
/
dls-rec
Used simplifier rules:
list-data
/
l
list-data
/reflist/
elim-list-c
list
/reflist/
c
list-data
/reflist/
size-01
nat-basic2
/
oz
nat
/
add-num-01
list-last
/reflist/
last-def
list
/
c
list
/reflist/
Nil
list
/
Nil
list-data
/reflist/
l
list-data
/
size-01
heap-sep
/cell-heap/
prop
heap-sep
/cell-heap/
and
heap-sep
/cell-heap/
prop-shift
cell
/
upd-02
separation
/cell-heap/
assign-known
cell
/
sel-03
cell
/
upd-03
cell
/
sel-02
maplet
/cell-heap/
at-rw
list
/
e
list
/reflist/
c-07
list
/reflist/
c-08
list
/reflist/
e-01
dllist
/
dls-length
maplet
/cell-heap/
ex2-shift
list
/
len
list
/
len-02
list
/reflist/
len
list
/reflist/
len-02
nat-basic2
/
eq-01
nat-basic2
/
a
nat-basic2
/
c
list
/
e-02
list
/
e-01
list
/reflist/
a
list
/
a
heap-sep
/cell-heap/
sep-com
heap-sep
/cell-heap/
sep-ass
maplet
/cell-heap/
ex1-shift
heap-sep
/cell-heap/
and-com
heap-sep
/cell-heap/
and-ass
heap-sep
/cell-heap/
true-and
heap-sep
/cell-heap/
true-rev