[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-simple-contract
# x0 = # rx0, x0 ≠ [], x1 ≠ [], ((r => mkcell(rx0.last, r0, a) * dls(head, prev, x0 + x1, rx0 + r0 ' + rx1, next, tail) * P))(H) ⊦ ⟪insert(r; H)⟫ ((dls(head, prev, x0 + a ' + x1, rx0 + r ' + r0 ' + rx1, next, tail) * P))(H)
Type: A user defined theorem
Validity: The proof is valid.
Features:
Comment:
Used by:
remove-insert-inverse
,
remove-insert-inverse-twice
,
Used by units in proved state:
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 1
Proof steps: 2
Used lemmas:
insert-contract
,
Used spec theorems:
Used simplifier rules:
nat-basic2
/
c
nat-basic2
/
a
nat-basic2
/
eq-01
list
/reflist/
len-02
list
/reflist/
len
list
/
len
dllist
/
dls-length
list
/reflist/
c-08
list
/reflist/
a
list
/
a
heap-sep
/cell-heap/
sep-ass
heap-sep
/cell-heap/
sep-com