Equations
- Regex.NFA.instReprNode = { reprPrec := Regex.NFA.reprNode✝ }
Equations
- Regex.NFA.instInhabitedNode = { default := Regex.NFA.Node.done }
Equations
- Regex.NFA.instToExprNode = { toExpr := Regex.NFA.toExprNode✝, toTypeExpr := Lean.Expr.const `Regex.NFA.Node [] }
Equations
- Regex.NFA.Node.done.inBounds size = True
- Regex.NFA.Node.fail.inBounds size = True
- (Regex.NFA.Node.epsilon a).inBounds size = (a < size)
- (Regex.NFA.Node.anchor a a_1).inBounds size = (a_1 < size)
- (Regex.NFA.Node.char a a_1).inBounds size = (a_1 < size)
- (Regex.NFA.Node.split a a_1).inBounds size = (a < size ∧ a_1 < size)
- (Regex.NFA.Node.save a a_1).inBounds size = (a_1 < size)
- (Regex.NFA.Node.sparse a a_1).inBounds size = (a_1 < size)
Instances For
@[simp]
theorem
Regex.NFA.Node.inBounds.epsilon
{size next : Nat}
(h : next < size)
:
(Node.epsilon next).inBounds size
@[simp]
theorem
Regex.NFA.Node.inBounds.anchor
{size next : Nat}
{a : Data.Anchor}
(h : next < size)
:
(Node.anchor a next).inBounds size
@[simp]
theorem
Regex.NFA.Node.inBounds.split
{size next₁ next₂ : Nat}
(h₁ : next₁ < size)
(h₂ : next₂ < size)
:
(Node.split next₁ next₂).inBounds size
theorem
Regex.NFA.Node.lt_of_inBounds.epsilon
{size next : Nat}
(h : (Node.epsilon next).inBounds size)
:
theorem
Regex.NFA.Node.lt_of_inBounds.split
{size next₁ next₂ : Nat}
(h : (Node.split next₁ next₂).inBounds size)
:
theorem
Regex.NFA.Node.lt_of_inBounds.split_left
{size next₁ next₂ : Nat}
(h : (Node.split next₁ next₂).inBounds size)
:
theorem
Regex.NFA.Node.lt_of_inBounds.split_right
{size next₁ next₂ : Nat}
(h : (Node.split next₁ next₂).inBounds size)
:
Equations
- Regex.NFA.Node.decInBounds = isTrue trivial
- Regex.NFA.Node.decInBounds = isTrue trivial
- Regex.NFA.Node.decInBounds = inferInstanceAs (Decidable (next < size))
- Regex.NFA.Node.decInBounds = inferInstanceAs (Decidable (next < size))
- Regex.NFA.Node.decInBounds = inferInstanceAs (Decidable (next < size))
- Regex.NFA.Node.decInBounds = inferInstanceAs (Decidable (next < size))
- Regex.NFA.Node.decInBounds = inferInstanceAs (Decidable (next₁ < size ∧ next₂ < size))
- Regex.NFA.Node.decInBounds = inferInstanceAs (Decidable (next < size))
Equations
- Regex.instReprNFA = { reprPrec := Regex.reprNFA✝ }
Equations
Equations
- Regex.instToExprNFA = { toExpr := Regex.toExprNFA✝, toTypeExpr := Lean.Expr.const `Regex.NFA [] }
Equations
- Regex.NFA.done = { nodes := #[Regex.NFA.Node.done], start := 0 }
Instances For
Equations
- nfa.maxTag = Array.foldl (fun (accum : Nat) (node : Regex.NFA.Node) => match node with | Regex.NFA.Node.save tag next => accum.max tag | x => accum) 0 nfa.nodes
Instances For
Equations
- One or more equations did not get rendered due to their size.