[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 elim-add
⊦ x ≠ [] → (head = x.first ∧ tail = x.rest ↔ x = head + tail)
Type: A proof obligation
Validity: The proof is valid.
Features:
Comment: |- not x = [] -> (head = x.head and tail = x.tail <-> x = head + tail)
Used by:
Used by units in proved state:
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 13
Proof steps: 25
Used lemmas:
get-succ
,
get-zero
,
size-add
,
Used spec theorems:
array-listops
/
first
array-listops
/
rest
array-listops
/
nil
array
/
Extension
Used simplifier rules:
array
/
size-0
nat
/
elim-pred-c
nat-basic
/
c
nat-basic
/
a
nat-basic
/
oz
nat-basic
/
s-04
nat
/
lels
nat-basic
/
eq-01
nat-basic
/
succ
array-copy
/
size-subarray
nat
/
lez
nat-basic
/
f
nat
/
succ-01
array-copy
/
subarray-at