Documentation
Init
.
Data
.
String
.
Lemmas
.
Slice
Search
return to top
source
Imports
Init.Data.ByteArray.Lemmas
Init.Data.String.Slice
Init.Data.String.Lemmas.Basic
Init.Data.String.Lemmas.FindPos
Init.Data.String.Lemmas.IsEmpty
Init.Data.String.Lemmas.Pattern.Memcmp
Imported by
String
.
Slice
.
beq_eq_true_iff
String
.
Slice
.
beq_eq_false_iff
String
.
Slice
.
beq_eq_decide
String
.
Slice
.
instEquivBEq
String
.
Slice
.
beq_list_iff
String
.
Slice
.
beq_list_eq_false_iff
String
.
Slice
.
beq_list_eq_decide
String
.
Slice
.
Pos
.
get?_eq_dif
String
.
Slice
.
Pos
.
get?_eq_some_get
String
.
Slice
.
Pos
.
get?_eq_none_iff
String
.
Slice
.
Pos
.
get?_eq_none
String
.
Slice
.
Pos
.
get?_endPos
String
.
Pos
.
get?_toSlice
String
.
Pos
.
get?_eq_dif
String
.
Pos
.
get?_eq_some_get
String
.
Pos
.
get?_eq_none_iff
String
.
Pos
.
get?_eq_none
String
.
Pos
.
get?_endPos
String
.
Slice
.
front?_eq_get?
String
.
Slice
.
front?_eq
String
.
Slice
.
front_eq
String
.
Slice
.
back?_eq_get?
String
.
Slice
.
back?_eq
String
.
Slice
.
back_eq
source
@[simp]
theorem
String
.
Slice
.
beq_eq_true_iff
{
s
t
:
Slice
}
:
(
s
==
t
)
=
true
↔
s
.
copy
=
t
.
copy
source
@[simp]
theorem
String
.
Slice
.
beq_eq_false_iff
{
s
t
:
Slice
}
:
(
s
==
t
)
=
false
↔
s
.
copy
≠
t
.
copy
source
theorem
String
.
Slice
.
beq_eq_decide
{
s
t
:
Slice
}
:
(
s
==
t
)
=
decide
(
s
.
copy
=
t
.
copy
)
source
instance
String
.
Slice
.
instEquivBEq
:
EquivBEq
Slice
source
theorem
String
.
Slice
.
beq_list_iff
{
l
l'
:
List
Slice
}
:
(
l
==
l'
)
=
true
↔
List.map
copy
l
=
List.map
copy
l'
source
theorem
String
.
Slice
.
beq_list_eq_false_iff
{
l
l'
:
List
Slice
}
:
(
l
==
l'
)
=
false
↔
List.map
copy
l
≠
List.map
copy
l'
source
theorem
String
.
Slice
.
beq_list_eq_decide
{
l
l'
:
List
Slice
}
:
(
l
==
l'
)
=
decide
(
List.map
copy
l
=
List.map
copy
l'
)
source
theorem
String
.
Slice
.
Pos
.
get?_eq_dif
{
s
:
Slice
}
{
p
:
s
.
Pos
}
:
p
.
get?
=
if h :
p
=
s
.
endPos
then
none
else
some
(
p
.
get
h
)
source
theorem
String
.
Slice
.
Pos
.
get?_eq_some_get
{
s
:
Slice
}
{
p
:
s
.
Pos
}
(
h
:
p
≠
s
.
endPos
)
:
p
.
get?
=
some
(
p
.
get
h
)
source
@[simp]
theorem
String
.
Slice
.
Pos
.
get?_eq_none_iff
{
s
:
Slice
}
{
p
:
s
.
Pos
}
:
p
.
get?
=
none
↔
p
=
s
.
endPos
source
theorem
String
.
Slice
.
Pos
.
get?_eq_none
{
s
:
Slice
}
{
p
:
s
.
Pos
}
(
h
:
p
=
s
.
endPos
)
:
p
.
get?
=
none
source
@[simp]
theorem
String
.
Slice
.
Pos
.
get?_endPos
{
s
:
Slice
}
:
s
.
endPos
.
get?
=
none
source
theorem
String
.
Pos
.
get?_toSlice
{
s
:
String
}
{
p
:
s
.
Pos
}
:
p
.
toSlice
.
get?
=
p
.
get?
source
theorem
String
.
Pos
.
get?_eq_dif
{
s
:
String
}
{
p
:
s
.
Pos
}
:
p
.
get?
=
if h :
p
=
s
.
endPos
then
none
else
some
(
p
.
get
h
)
source
theorem
String
.
Pos
.
get?_eq_some_get
{
s
:
String
}
{
p
:
s
.
Pos
}
(
h
:
p
≠
s
.
endPos
)
:
p
.
get?
=
some
(
p
.
get
h
)
source
@[simp]
theorem
String
.
Pos
.
get?_eq_none_iff
{
s
:
String
}
{
p
:
s
.
Pos
}
:
p
.
get?
=
none
↔
p
=
s
.
endPos
source
theorem
String
.
Pos
.
get?_eq_none
{
s
:
String
}
{
p
:
s
.
Pos
}
(
h
:
p
=
s
.
endPos
)
:
p
.
get?
=
none
source
@[simp]
theorem
String
.
Pos
.
get?_endPos
{
s
:
String
}
:
s
.
endPos
.
get?
=
none
source
theorem
String
.
Slice
.
front?_eq_get?
{
s
:
Slice
}
:
s
.
front?
=
s
.
startPos
.
get?
source
theorem
String
.
Slice
.
front?_eq
{
s
:
Slice
}
:
s
.
front?
=
s
.
copy
.
toList
.
head?
source
@[simp]
theorem
String
.
Slice
.
front_eq
{
s
:
Slice
}
:
s
.
front
=
s
.
front?
.
getD
default
source
theorem
String
.
Slice
.
back?_eq_get?
{
s
:
Slice
}
:
s
.
back?
=
s
.
endPos
.
prev?
.
bind
Pos.get?
source
theorem
String
.
Slice
.
back?_eq
{
s
:
Slice
}
:
s
.
back?
=
s
.
copy
.
toList
.
getLast?
source
@[simp]
theorem
String
.
Slice
.
back_eq
{
s
:
Slice
}
:
s
.
back
=
s
.
back?
.
getD
default