% misc \newcommand{\Pate}{P\^at\'e} \newcommand{\myldots}{{\everymath{}\ldots\!\!}} % for use out of math mode \newcommand{\nats}{\mathbb{N}} \newcommand{\ints}{\mathbb{Z}} \newcommand{\reals}{\mathbb{R}} % relations and functions \newcommand{\myiff}{\mathrel{\;\eqtxt{iff}\;}} \newcommand{\concat}{\mathbin{@}} \newcommand{\lparr}[1]{\stackrel{\strut#1}{\Rightarrow}} \newcommand{\derarr}{\Rightarrow} \newcommand{\myand}{\mathbin{\mathbf{and}}} \newcommand{\myor}{\mathbin{\mathbf{or}}} \newcommand{\iso}{\mathbin{\mathbf{iso}}} \newcommand{\diff}{\mathbf{diff}} % mathematical variables \newcommand{\myexp}{{\it exp}} \newcommand{\tr}{{\it tr}} \newcommand{\pat}{{\it pat}} \newcommand{\lp}{{\it lp}} \newcommand{\code}{{\it code}} \newcommand{\pt}{{\it pt}} \newcommand{\der}{{\it der}} \newcommand{\Simp}{{\it simp}} \newcommand{\Sub}{{\it sub}} \newcommand{\acc}{\mathit{acc}} \newcommand{\mach}{\mathit{mach}} \newcommand{\aft}{\mathit{aft}} \newcommand{\rel}{\mathit{rel}} \newcommand{\bs}{\mathit{bs}} % symbols \newcommand{\zerosf}{\mathsf{0}} \newcommand{\onesf}{\mathsf{1}} \newcommand{\twosf}{\mathsf{2}} \newcommand{\threesf}{\mathsf{3}} \newcommand{\foursf}{\mathsf{4}} \newcommand{\fivesf}{\mathsf{5}} \newcommand{\sixsf}{\mathsf{6}} \newcommand{\asf}{\mathsf{a}} \newcommand{\bsf}{\mathsf{b}} \newcommand{\csf}{\mathsf{c}} \newcommand{\dsf}{\mathsf{d}} \newcommand{\Asf}{\mathsf{A}} \newcommand{\Bsf}{\mathsf{B}} \newcommand{\Csf}{\mathsf{C}} \newcommand{\Dsf}{\mathsf{D}} \newcommand{\Esf}{\mathsf{E}} \newcommand{\Fsf}{\mathsf{F}} \newcommand{\Gsf}{\mathsf{G}} \newcommand{\Hsf}{\mathsf{H}} \newcommand{\Isf}{\mathsf{I}} \newcommand{\Jsf}{\mathsf{J}} \newcommand{\Ksf}{\mathsf{K}} \newcommand{\Lsf}{\mathsf{L}} \newcommand{\Msf}{\mathsf{M}} \newcommand{\Nsf}{\mathsf{N}} \newcommand{\Osf}{\mathsf{O}} \newcommand{\Psf}{\mathsf{P}} \newcommand{\Qsf}{\mathsf{Q}} \newcommand{\Rsf}{\mathsf{R}} \newcommand{\Ssf}{\mathsf{S}} \newcommand{\Tsf}{\mathsf{T}} \newcommand{\Usf}{\mathsf{U}} \newcommand{\Vsf}{\mathsf{V}} \newcommand{\Wsf}{\mathsf{W}} \newcommand{\Xsf}{\mathsf{X}} \newcommand{\Ysf}{\mathsf{Y}} \newcommand{\Zsf}{\mathsf{Z}} \newcommand{\dead}{\langle\mathsf{dead}\rangle} \newcommand{\newlinesym}{\mathsf{\langle newline\rangle}} \newcommand{\spacesym}{\mathsf{\langle space\rangle}} \newcommand{\plussym}{{\langle\mathsf{plus}\rangle}} \newcommand{\timessym}{{\langle\mathsf{times}\rangle}} \newcommand{\openparsym}{{\langle\mathsf{openPar}\rangle}} \newcommand{\closparsym}{{\langle\mathsf{closPar}\rangle}} \newcommand{\idsym}{{\langle\mathsf{id}\rangle}} \newcommand{\Zero}{\langle\zerosf\rangle} \newcommand{\One}{\langle\onesf\rangle} \newcommand{\Two}{\langle\twosf\rangle} % defined names \newcommand{\mySS}{\mathit{SS}} \newcommand{\Alp}{\mathbf{Alp}} \newcommand{\Btw}{\mathbf{Btw}} \newcommand{\CFLan}{\mathbf{CFLan}} \newcommand{\DFA}{\mathbf{DFA}} \newcommand{\Der}{\mathbf{Der}} \newcommand{\EFA}{\mathbf{EFA}} \newcommand{\FA}{\mathbf{FA}} \newcommand{\Gram}{\mathbf{Gram}} \newcommand{\LP}{\mathbf{LP}} \newcommand{\Lan}{\mathbf{Lan}} \newcommand{\NFA}{\mathbf{NFA}} \newcommand{\PT}{\mathbf{PT}} \newcommand{\Path}{\mathbf{Path}} \newcommand{\Prog}{\mathbf{Prog}} \newcommand{\RELan}{\mathbf{RELan}} \newcommand{\RecLan}{\mathbf{RecLan}} \newcommand{\RegLab}{\mathbf{RegLab}} \newcommand{\RegLan}{\mathbf{RegLan}} \newcommand{\Reg}{\mathbf{Reg}} \newcommand{\Str}{\mathbf{Str}} \newcommand{\Sym}{\mathbf{Sym}} \newcommand{\Syn}{\mathbf{Syn}} \newcommand{\Tree}{\mathbf{Tree}} \newcommand{\alphabet}{\mathbf{alphabet}} \newcommand{\anyreg}{[\mathbf{any}]} \newcommand{\btw}{\mathbf{btw}} \newcommand{\derendStr}{\mathbf{endStr}} \newcommand{\deriv}{\mathrel{\mathbf{deriv}}} \newcommand{\derstartStr}{\mathbf{startStr}} \newcommand{\determSimplify}{\mathbf{determSimplify}} \newcommand{\dfacomplement}{\mathbf{complement}} \newcommand{\dfaminus}{\mathbf{minus}} \newcommand{\digitreg}{[\mathbf{digit}]} \newcommand{\domain}{\mathbf{domain}} \newcommand{\efaToNFA}{\mathbf{efaToNFA}} \newcommand{\efainter}{\mathbf{inter}} \newcommand{\emptyCloseBackwards}{\mathbf{emptyCloseBackwards}} \newcommand{\emptyClose}{\mathbf{emptyClose}} \newcommand{\errorval}{\mathbf{error}} \newcommand{\explans}{\mathbf{explans}} \newcommand{\faToEFA}{\mathbf{faToEFA}} \newcommand{\faToReg}{\mathbf{faToReg}} \newcommand{\faclosure}{\mathbf{closure}} \newcommand{\faconcat}{\mathbf{concat}} \newcommand{\faemptySet}{\mathbf{emptySet}} \newcommand{\faemptyStr}{\mathbf{emptyStr}} \newcommand{\false}{\mathbf{false}} \newcommand{\faunion}{\mathbf{union}} \newcommand{\findIso}{\mathbf{findIso}} \newcommand{\fromStr}{\mathbf{fromStr}} \newcommand{\fromSym}{\mathbf{fromSym}} \newcommand{\hasEmp}{\mathbf{hasEmp}} \newcommand{\hasSym}{\mathbf{hasSym}} \newcommand{\id}{\mathbf{id}} \newcommand{\letterreg}{[\mathbf{letter}]} \newcommand{\lpendState}{\mathbf{endState}} \newcommand{\lpjoin}{\mathbf{join}} \newcommand{\lplabel}{\mathbf{label}} \newcommand{\minimize}{\mathbf{minimize}} \newcommand{\nextEmp}{\mathbf{nextEmp}} \newcommand{\nextSym}{\mathbf{nextSym}} \newcommand{\nfaToDFA}{\mathbf{nfaToDFA}} \newcommand{\nil}{\mathbf{nil}} \newcommand{\nontermval}{\mathbf{nonterm}} \newcommand{\ord}{\mathbf{ord}} \newcommand{\pre}{\mathbf{pre}} \newcommand{\range}{\mathbf{range}} \newcommand{\reachify}{\mathbf{reachify}} \newcommand{\regToFA}{\mathbf{regToFA}} \newcommand{\renameStates}{\mathbf{renameStates}} \newcommand{\renameStatesCanonically}{\mathbf{renameStatesCanonically}} \newcommand{\renameVariables}{\mathbf{renameVariables}} \newcommand{\renameVariablesCanonically}{\mathbf{renameVariablesCanonically}} \newcommand{\rootLabel}{\mathbf{rootLabel}} \newcommand{\run}{\mathbf{run}} \newcommand{\shiftRight}{\mathbf{shiftRight}} \newcommand{\simplify}{\mathbf{simplify}} \newcommand{\startState}{\mathbf{startState}} \newcommand{\state}{\mathbf{state}} \newcommand{\true}{\mathbf{true}} \newcommand{\weakSimplify}{\mathbf{weakSimplify}} \newcommand{\weakSubset}{\mathbf{weakSubset}} \newcommand{\weakSub}{\mathbf{weakSub}} \newcommand{\validExplans}{\mathbf{validExplans}} \newcommand{\valid}{\mathbf{valid}} \newcommand{\yield}{\mathbf{yield}} \newcommand{\symToReg}{\mathbf{symToReg}} \newcommand{\strToReg}{\mathbf{strToReg}} \newcommand{\rev}{\mathbf{rev}} \newcommand{\prefix}{\mathbf{prefix}} \newcommand{\suffix}{\mathbf{suffix}} \newcommand{\substring}{\mathbf{substring}} \newcommand{\renameAlphabet}{\mathbf{renameAlphabet}}