Documentation
Batteries
.
Data
.
Vector
.
Lemmas
Search
return to top
source
Imports
Init
Batteries.Data.Array.Lemmas
Batteries.Data.List.Basic
Batteries.Data.List.Lemmas
Batteries.Data.Vector.Basic
Batteries.Tactic.Lint.Simp
Imported by
Vector
.
toArray_injective
Vector
.
get_mk
Vector
.
getD_mk
Vector
.
uget_mk
Vector
.
tail_eq_of_zero
Vector
.
tail_eq_of_ne_zero
Vector
.
toList_tail
Vector
.
getElem_tail
Vector
.
get_push_last
Vector
.
get_push_castSucc
Vector
.
get_map
Vector
.
get_reverse
Vector
.
get_replicate
Vector
.
get_range
Vector
.
get_ofFn
Vector
.
get_cast
Vector
.
get_tail
source
theorem
Vector
.
toArray_injective
{
α
:
Type
u_1}
{
n
:
Nat
}
{
v
w
:
Vector
α
n
}
:
v
.
toArray
=
w
.
toArray
→
v
=
w
mk lemmas
#
source
@[simp]
theorem
Vector
.
get_mk
{
α
:
Type
u_1}
{
n
:
Nat
}
(
a
:
Array
α
)
(
h
:
a
.
size
=
n
)
(
i
:
Fin
n
)
:
{
toArray
:=
a
,
size_toArray
:=
h
}
.
get
i
=
a
[
i
]
source
@[simp]
theorem
Vector
.
getD_mk
{
α
:
Type
u_1}
{
n
:
Nat
}
(
a
:
Array
α
)
(
h
:
a
.
size
=
n
)
(
i
:
Nat
)
(
x
:
α
)
:
{
toArray
:=
a
,
size_toArray
:=
h
}
.
getD
i
x
=
a
.
getD
i
x
source
@[simp]
theorem
Vector
.
uget_mk
{
α
:
Type
u_1}
{
n
:
Nat
}
(
a
:
Array
α
)
(
h
:
a
.
size
=
n
)
(
i
:
USize
)
(
hi
:
i
.
toNat
<
n
)
:
{
toArray
:=
a
,
size_toArray
:=
h
}
.
uget
i
hi
=
a
.
uget
i
⋯
tail lemmas
#
source
theorem
Vector
.
tail_eq_of_zero
{
α
:
Type
u_1}
{
v
:
Vector
α
0
}
:
v
.
tail
=
{
toArray
:=
#[
]
,
size_toArray
:=
⋯
}
source
theorem
Vector
.
tail_eq_of_ne_zero
{
n
:
Nat
}
{
α
:
Type
u_1}
[
NeZero
n
]
{
v
:
Vector
α
n
}
:
v
.
tail
=
v
.
eraseIdx
0
⋯
source
theorem
Vector
.
toList_tail
{
α
:
Type
u_1}
{
n
:
Nat
}
{
v
:
Vector
α
n
}
:
v
.
tail
.
toList
=
v
.
toList
.
tail
getElem lemmas
#
source
theorem
Vector
.
getElem_tail
{
α
:
Type
u_1}
{
n
:
Nat
}
{
v
:
Vector
α
n
}
{
i
:
Nat
}
(
hi
:
i
<
n
-
1
)
:
v
.
tail
[
i
]
=
v
[
i
+
1
]
get lemmas
#
source
@[simp]
theorem
Vector
.
get_push_last
{
α
:
Type
u_1}
{
n
:
Nat
}
(
v
:
Vector
α
n
)
(
a
:
α
)
:
(
v
.
push
a
)
.
get
(
Fin.last
n
)
=
a
source
@[simp]
theorem
Vector
.
get_push_castSucc
{
α
:
Type
u_1}
{
n
:
Nat
}
(
v
:
Vector
α
n
)
(
a
:
α
)
(
i
:
Fin
n
)
:
(
v
.
push
a
)
.
get
i
.
castSucc
=
v
.
get
i
source
@[simp]
theorem
Vector
.
get_map
{
α
:
Type
u_1}
{
n
:
Nat
}
{
β
:
Type
u_2}
(
v
:
Vector
α
n
)
(
f
:
α
→
β
)
(
i
:
Fin
n
)
:
(
map
f
v
)
.
get
i
=
f
(
v
.
get
i
)
source
@[simp]
theorem
Vector
.
get_reverse
{
α
:
Type
u_1}
{
n
:
Nat
}
(
v
:
Vector
α
n
)
(
i
:
Fin
n
)
:
v
.
reverse
.
get
i
=
v
.
get
i
.
rev
source
@[simp]
theorem
Vector
.
get_replicate
{
α
:
Type
u_1}
(
n
:
Nat
)
(
a
:
α
)
(
i
:
Fin
n
)
:
(
replicate
n
a
)
.
get
i
=
a
source
@[simp]
theorem
Vector
.
get_range
(
n
:
Nat
)
(
i
:
Fin
n
)
:
(
range
n
)
.
get
i
=
↑
i
source
@[simp]
theorem
Vector
.
get_ofFn
{
n
:
Nat
}
{
α
:
Type
u_1}
(
f
:
Fin
n
→
α
)
(
i
:
Fin
n
)
:
(
ofFn
f
)
.
get
i
=
f
i
source
@[simp]
theorem
Vector
.
get_cast
{
α
:
Type
u_1}
{
m
n
:
Nat
}
(
v
:
Vector
α
m
)
(
h
:
m
=
n
)
(
i
:
Fin
n
)
:
(
Vector.cast
h
v
)
.
get
i
=
v
.
get
(
Fin.cast
⋯
i
)
source
theorem
Vector
.
get_tail
{
α
:
Type
u_1}
{
n
:
Nat
}
(
v
:
Vector
α
(
n
+
1
)
)
(
i
:
Fin
n
)
:
v
.
tail
.
get
i
=
v
.
get
i
.
succ