theorem
Regex.Data.BoundedIterator.valid_of_it_valid
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
(v : bit.it.Valid)
:
bit.Valid
theorem
Regex.Data.BoundedIterator.valid_of_valid
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
(v : bit.Valid)
:
theorem
Regex.Data.BoundedIterator.next_valid
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
(h : bit.hasNext = true)
(v : bit.Valid)
:
@[simp]
theorem
Regex.Data.BoundedIterator.toEnd_toString
{startIdx maxIdx : ℕ}
(bit : BoundedIterator startIdx maxIdx)
:
theorem
Regex.Data.BoundedIterator.toEnd_pos
{startIdx maxIdx : ℕ}
(bit : BoundedIterator startIdx maxIdx)
:
theorem
Regex.Data.BoundedIterator.toEnd_valid
{startIdx maxIdx : ℕ}
(bit : BoundedIterator startIdx maxIdx)
:
theorem
Regex.Data.BoundedIterator.pos_le_toEnd_pos
{startIdx maxIdx : ℕ}
(bit : BoundedIterator startIdx maxIdx)
:
theorem
Regex.Data.BoundedIterator.toEnd_not_hasNext
{startIdx maxIdx : ℕ}
(bit : BoundedIterator startIdx maxIdx)
:
theorem
Regex.Data.BoundedIterator.nextn_valid
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
{n : ℕ}
(v : bit.Valid)
:
theorem
Regex.Data.BoundedIterator.nextn_toString
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
{n : ℕ}
:
theorem
Regex.Data.BoundedIterator.nextn_add
{startIdx maxIdx : ℕ}
(bit : BoundedIterator startIdx maxIdx)
(n₁ n₂ : ℕ)
:
def
Regex.Data.BoundedIterator.ValidFor
{startIdx maxIdx : ℕ}
(l r : List Char)
(bit : BoundedIterator startIdx maxIdx)
:
Equations
- Regex.Data.BoundedIterator.ValidFor l r bit = String.Iterator.ValidFor l r bit.it
Instances For
theorem
Regex.Data.BoundedIterator.ValidFor.pos
{startIdx maxIdx : ℕ}
{l r : List Char}
{bit : BoundedIterator startIdx maxIdx}
(vf : ValidFor l r bit)
:
theorem
Regex.Data.BoundedIterator.ValidFor.valid
{startIdx maxIdx : ℕ}
{l r : List Char}
{bit : BoundedIterator startIdx maxIdx}
(vf : ValidFor l r bit)
:
bit.Valid
theorem
Regex.Data.BoundedIterator.ValidFor.eq_it
{startIdx maxIdx : ℕ}
{l r : List Char}
{bit bit' : BoundedIterator startIdx maxIdx}
(vf : ValidFor l r bit)
(vf' : ValidFor l r bit')
:
theorem
Regex.Data.BoundedIterator.Valid.next
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
(hnext : bit.hasNext = true)
(v : bit.Valid)
:
inductive
Regex.Data.BoundedIterator.Reaches
{startIdx maxIdx : ℕ}
:
BoundedIterator startIdx maxIdx → BoundedIterator startIdx maxIdx → Prop
- refl {startIdx maxIdx : ℕ} {bit : BoundedIterator startIdx maxIdx} (v : bit.Valid) : bit.Reaches bit
- next {startIdx maxIdx : ℕ} {bit₁ bit₂ : BoundedIterator startIdx maxIdx} (v : bit₁.Valid) (hnext : bit₁.hasNext = true) (rest : (bit₁.next hnext).Reaches bit₂) : bit₁.Reaches bit₂
Instances For
theorem
Regex.Data.BoundedIterator.Reaches.trans
{startIdx maxIdx : ℕ}
{bit₁ bit₂ bit₃ : BoundedIterator startIdx maxIdx}
(h₁ : bit₁.Reaches bit₂)
(h₂ : bit₂.Reaches bit₃)
:
bit₁.Reaches bit₃
theorem
Regex.Data.BoundedIterator.Reaches.validL
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
(h : bit₁.Reaches bit₂)
:
bit₁.Valid
theorem
Regex.Data.BoundedIterator.Reaches.validR
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
(h : bit₁.Reaches bit₂)
:
bit₂.Valid
theorem
Regex.Data.BoundedIterator.Reaches.toString
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
(h : bit₁.Reaches bit₂)
:
theorem
Regex.Data.BoundedIterator.Reaches.le_pos
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
(h : bit₁.Reaches bit₂)
:
theorem
Regex.Data.BoundedIterator.Reaches.next'
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
(hnext₂ : bit₂.hasNext = true)
(h : bit₁.Reaches bit₂)
:
theorem
Regex.Data.BoundedIterator.reaches_toEnd
{startIdx maxIdx : ℕ}
{bit : BoundedIterator startIdx maxIdx}
(v : bit.Valid)
:
theorem
Regex.Data.BoundedIterator.Reaches.reaches_toEnd_of_reaches
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
(h : bit₁.Reaches bit₂)
:
def
Regex.Data.BoundedIterator.BetweenI
{startIdx maxIdx : ℕ}
(bit bs be : BoundedIterator startIdx maxIdx)
:
Instances For
theorem
Regex.Data.BoundedIterator.BetweenI.reachesSE
{startIdx maxIdx : ℕ}
{bit bs be : BoundedIterator startIdx maxIdx}
(h : bit.BetweenI bs be)
:
bs.Reaches be
theorem
Regex.Data.BoundedIterator.BetweenI.le_pos
{startIdx maxIdx : ℕ}
{bit bs be : BoundedIterator startIdx maxIdx}
(h : bit.BetweenI bs be)
:
theorem
Regex.Data.BoundedIterator.BetweenE.validE
{startIdx maxIdx : ℕ}
{bit bs be : BoundedIterator startIdx maxIdx}
(h : bit.BetweenE bs be)
:
be.Valid
theorem
Regex.Data.BoundedIterator.BetweenE.ne_end
{startIdx maxIdx : ℕ}
{bit bs be : BoundedIterator startIdx maxIdx}
(h : bit.BetweenE bs be)
:
@[simp]
theorem
Regex.Data.BoundedIterator.BetweenE.not_self
{startIdx maxIdx : ℕ}
{bit₁ bit₂ : BoundedIterator startIdx maxIdx}
: