Documentation
Init
.
Data
.
String
.
Lemmas
.
Pattern
.
Char
Search
return to top
source
Imports
Init.Data.Option.Lemmas
Init.Data.String.Lemmas.Basic
Init.Data.String.Pattern.Char
Init.Data.String.Lemmas.Pattern.Basic
Imported by
String
.
Slice
.
Pattern
.
Model
.
Char
.
instForwardPatternModelChar
String
.
Slice
.
Pattern
.
Model
.
Char
.
instNoPrefixForwardPatternModelChar
String
.
Slice
.
Pattern
.
Model
.
Char
.
isMatch_iff
String
.
Slice
.
Pattern
.
Model
.
Char
.
isLongestMatch_iff
String
.
Slice
.
Pattern
.
Model
.
Char
.
instLawfulForwardPatternModelChar
String
.
Slice
.
Pattern
.
Model
.
Char
.
instLawfulToForwardSearcherModelCharDefaultForwardSearcher
source
@[instance_reducible]
instance
String
.
Slice
.
Pattern
.
Model
.
Char
.
instForwardPatternModelChar
{
c
:
Char
}
:
ForwardPatternModel
c
Equations
String.Slice.Pattern.Model.Char.instForwardPatternModelChar
=
{
Matches
:=
fun (
s
:
String
) =>
s
=
String.singleton
c
,
not_matches_empty
:=
⋯
}
source
instance
String
.
Slice
.
Pattern
.
Model
.
Char
.
instNoPrefixForwardPatternModelChar
{
c
:
Char
}
:
NoPrefixForwardPatternModel
c
source
theorem
String
.
Slice
.
Pattern
.
Model
.
Char
.
isMatch_iff
{
c
:
Char
}
{
s
:
Slice
}
{
pos
:
s
.
Pos
}
:
IsMatch
c
pos
↔
∃
(
h
:
s
.
startPos
≠
s
.
endPos
)
,
pos
=
s
.
startPos
.
next
h
∧
s
.
startPos
.
get
h
=
c
source
theorem
String
.
Slice
.
Pattern
.
Model
.
Char
.
isLongestMatch_iff
{
c
:
Char
}
{
s
:
Slice
}
{
pos
:
s
.
Pos
}
:
IsLongestMatch
c
pos
↔
∃
(
h
:
s
.
startPos
≠
s
.
endPos
)
,
pos
=
s
.
startPos
.
next
h
∧
s
.
startPos
.
get
h
=
c
source
instance
String
.
Slice
.
Pattern
.
Model
.
Char
.
instLawfulForwardPatternModelChar
{
c
:
Char
}
:
LawfulForwardPatternModel
c
source
instance
String
.
Slice
.
Pattern
.
Model
.
Char
.
instLawfulToForwardSearcherModelCharDefaultForwardSearcher
{
c
:
Char
}
:
LawfulToForwardSearcherModel
c