Documentation

Regex.NFA.Compile.Basic

def Regex.NFA.pushNode (nfa : NFA) (node : Node) :
Equations
Instances For
    @[simp]
    theorem Regex.NFA.pushNode_size {nfa : NFA} {node : Node} :
    (nfa.pushNode node).nodes.size = nfa.nodes.size + 1
    theorem Regex.NFA.pushNode_get_lt {nfa : NFA} {node : Node} (i : Nat) (h : i < nfa.nodes.size) :
    (nfa.pushNode node)[i] = nfa[i]
    @[simp]
    theorem Regex.NFA.pushNode_get_eq {nfa : NFA} {node : Node} :
    (nfa.pushNode node)[nfa.nodes.size] = node
    theorem Regex.NFA.pushNode_get {nfa : NFA} {node : Node} (i : Nat) (h : i < (nfa.pushNode node).nodes.size) :
    (nfa.pushNode node)[i] = if h' : i < nfa.nodes.size then nfa[i] else node
    @[simp]
    theorem Regex.NFA.pushNode_start_eq {nfa : NFA} {node : Node} :
    (nfa.pushNode node).start = nfa.nodes.size
    def Regex.NFA.pushRegex (nfa : NFA) (next : Nat) :

    Compile a Regex and append the resulting nodes to the NFA. The nodes will transition to next on match.

    Equations
    Instances For