[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 subarray-eq-elim
n + m ≤ # ar, n0 = # ar ⊦ subarray(ar, n, m) = ar1 ↔ (∃ ar0, ar2. ar = ar0 + ar1 + ar2 ∧ # ar0 = n ∧ # ar2 = n0 - n + m)
Type: A user defined theorem
Validity: The proof is valid.
Features:
Comment:
Used by:
Used by units in proved state:
Proof exists?: Yes
View
the proof
Infos about the proof
Proved?: Yes
Interactions: 13
Proof steps: 28
Used lemmas:
subarray-append-elim-left0
,
subarray-append-consec
,
subarray-append-consec0
,
append-prefix-left
,
append-eq-left
,
append-zero-right
,
subarray-elim-right
,
append-zero-left
,
subarray-split-at
,
append-a
,
append-len
,
Used spec theorems:
array-copy
/
subarray-subarray-elim
Used simplifier rules:
nat
/
fle-01
nat-basic
/
l-02
nat
/
lez-01
nat
/
elim-sub
nat-basic
/
l-01
nat
/
le-add
nat
/
cancel-01
nat
/
zero
nat-basic
/
eq-02
nat-basic
/
z-01
array-copy
/
subarray-zero
array
/
Size-mkarray
nat
/
sub-base
array
/
size-0
nat
/
lep
nat-basic
/
add-base
nat-basic
/
lf-02
nat-basic
/
lf-01
nat-basic
/
f
nat-basic
/
l
array-copy
/
size-subarray
nat-basic
/
ls-02
nat-basic
/
ref
nat
/
le-def
nat
/
lep-02
nat
/
eq-01
nat-basic
/
c
nat-basic
/
a
nat-basic
/
eq-01
array-copy
/
subarray-elim
nat
/
ler