Documentation
Init
.
Data
.
String
.
Lemmas
.
TakeDrop
Search
return to top
source
Imports
Init.Data.String.Slice
Init.Data.String.TakeDrop
Init.Data.String.Lemmas.Splits
Imported by
String
.
Slice
.
drop_eq_sliceFrom
String
.
Slice
.
toList_copy_drop
String
.
Slice
.
dropEnd_eq_sliceTo
String
.
Slice
.
toList_copy_dropEnd
String
.
Slice
.
take_eq_sliceTo
String
.
Slice
.
toList_copy_take
String
.
Slice
.
takeEnd_eq_sliceFrom
String
.
Slice
.
toList_copy_takeEnd
String
.
drop_toSlice
String
.
toList_copy_drop
String
.
dropEnd_toSlice
String
.
toList_copy_dropEnd
String
.
take_toSlice
String
.
toList_copy_take
String
.
takeEnd_toSlice
String
.
toList_copy_takeEnd
source
theorem
String
.
Slice
.
drop_eq_sliceFrom
{
s
:
Slice
}
{
n
:
Nat
}
:
s
.
drop
n
=
s
.
sliceFrom
(
s
.
startPos
.
nextn
n
)
source
@[simp]
theorem
String
.
Slice
.
toList_copy_drop
{
s
:
Slice
}
{
n
:
Nat
}
:
(
s
.
drop
n
)
.
copy
.
toList
=
List.drop
n
s
.
copy
.
toList
source
theorem
String
.
Slice
.
dropEnd_eq_sliceTo
{
s
:
Slice
}
{
n
:
Nat
}
:
s
.
dropEnd
n
=
s
.
sliceTo
(
s
.
endPos
.
prevn
n
)
source
@[simp]
theorem
String
.
Slice
.
toList_copy_dropEnd
{
s
:
Slice
}
{
n
:
Nat
}
:
(
s
.
dropEnd
n
)
.
copy
.
toList
=
List.take
(
s
.
copy
.
length
-
n
)
s
.
copy
.
toList
source
theorem
String
.
Slice
.
take_eq_sliceTo
{
s
:
Slice
}
{
n
:
Nat
}
:
s
.
take
n
=
s
.
sliceTo
(
s
.
startPos
.
nextn
n
)
source
@[simp]
theorem
String
.
Slice
.
toList_copy_take
{
s
:
Slice
}
{
n
:
Nat
}
:
(
s
.
take
n
)
.
copy
.
toList
=
List.take
n
s
.
copy
.
toList
source
theorem
String
.
Slice
.
takeEnd_eq_sliceFrom
{
s
:
Slice
}
{
n
:
Nat
}
:
s
.
takeEnd
n
=
s
.
sliceFrom
(
s
.
endPos
.
prevn
n
)
source
@[simp]
theorem
String
.
Slice
.
toList_copy_takeEnd
{
s
:
Slice
}
{
n
:
Nat
}
:
(
s
.
takeEnd
n
)
.
copy
.
toList
=
List.drop
(
s
.
copy
.
length
-
n
)
s
.
copy
.
toList
source
@[simp]
theorem
String
.
drop_toSlice
{
s
:
String
}
{
n
:
Nat
}
:
s
.
toSlice
.
drop
n
=
s
.
drop
n
source
@[simp]
theorem
String
.
toList_copy_drop
{
s
:
String
}
{
n
:
Nat
}
:
(
s
.
drop
n
)
.
copy
.
toList
=
List.drop
n
s
.
toList
source
@[simp]
theorem
String
.
dropEnd_toSlice
{
s
:
String
}
{
n
:
Nat
}
:
s
.
toSlice
.
dropEnd
n
=
s
.
dropEnd
n
source
@[simp]
theorem
String
.
toList_copy_dropEnd
{
s
:
String
}
{
n
:
Nat
}
:
(
s
.
dropEnd
n
)
.
copy
.
toList
=
List.take
(
s
.
length
-
n
)
s
.
toList
source
@[simp]
theorem
String
.
take_toSlice
{
s
:
String
}
{
n
:
Nat
}
:
s
.
toSlice
.
take
n
=
s
.
take
n
source
@[simp]
theorem
String
.
toList_copy_take
{
s
:
String
}
{
n
:
Nat
}
:
(
s
.
take
n
)
.
copy
.
toList
=
List.take
n
s
.
toList
source
@[simp]
theorem
String
.
takeEnd_toSlice
{
s
:
String
}
{
n
:
Nat
}
:
s
.
toSlice
.
takeEnd
n
=
s
.
takeEnd
n
source
@[simp]
theorem
String
.
toList_copy_takeEnd
{
s
:
String
}
{
n
:
Nat
}
:
(
s
.
takeEnd
n
)
.
copy
.
toList
=
List.drop
(
s
.
length
-
n
)
s
.
toList