h$.F      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"#$$-(c) 2016-2021 Dakotah LambertMIT Trustworthy>'language-toolkit+Allow for overloading of the term alphabet.language-toolkitWrap a   type to sort in order of decreasing size. For elements of the same size, treat them normally.language-toolkitWrap a   type to sort in order of increasing size. For elements of the same size, treat them normally.language-toolkitA  is a ? that may contain more than one instance of any given element. language-toolkitThe   class is used for types that can be collapsed to a single value, like a fold over a list. Any structure c that is   must necessarily be  , since: collapse (:) [] cperforms a linearization. language-toolkitThe   class is used for types that can be traversed linearly in one direction. language-toolkitReturn the next element and the collection of remaining elements.language-toolkitThe  class is used for types that can contain objects and can be combined with , , and ' (relative complement). Instances of $ should satisfy the following laws: isIn == flip contains isNotIn == flip doesNotContain doesNotContain a == not . contains a contains a empty == False contains a (singleton b) == (a == b) contains a (insert b c) == (a == b) || contains a c contains a (union c1 c2) == contains a c1 || contains a c2 contains a (intersection c1 c2) == contains a c1 && contains a c2 intersection c c == c difference c c == emptylanguage-toolkit (union a b)6 returns a collection of elements that are in one of a or b , or both.language-toolkit(intersection a b)4 returns a collection of elements that are in both a and b.language-toolkit(difference a b)/ returns a collection of elements that are in a but not in b.language-toolkit(symmetricDifference a b)6 returns a collection of elements that are in one of a or b, but not both.language-toolkit(isSubsetOf y x) tells if x is a subset of y.language-toolkit(isSupersetOf y x) tells if x is a superset of y.language-toolkit(isProperSubsetOf y x) tells whether x is a proper subset of y.language-toolkit(isProperSupersetOf y x) tells whether x is a proper superset of y.language-toolkitLike  &, but discards the remaining elements. language-toolkitLike   , but discards the next element.!language-toolkitCombine two linearizable containers such that the elements of the first and second are inserted in an interleaving manner. For lists, this guarantees that a finite initial segment will contain elements from each, in contrast to the (++) operator."language-toolkit Analogue to isEmpty for Collapsible structures#language-toolkit#The size of the input as an integer$language-toolkitCombine s with .%language-toolkitCombine s with *. An empty source yields an empty result.&language-toolkit,True iff some element satisfies a predicate.'language-toolkit*True iff all elements satisfy a predicate.(language-toolkit:True iff the given object satisfies both given predicates.)language-toolkit%Appy a function to each element of a  .*language-toolkit4Retain only those elements that satisfy a predicate.+language-toolkit$Partition a Container. For example, 7groupBy (`mod` 3) [0..9] == [[0,3,6,9],[1,4,7],[2,5,8]],language-toolkitA fast + for  objects.-language-toolkit>A convenience function for the partition refinement operation..language-toolkitBuild a  from the elements of a  2. This can be used to cast between most types of . Time complexity is O(nci), where n+ is the number of elements in the source, c= is the cost of accessing a next element of the source, and i; is the cost of inserting an element into the destination./language-toolkit Analogous to :, returning the number of occurrences of an element in a . Time complexity is  O(\log{n}) , where n+ is the number of distinct elements in the .0language-toolkit/Every multiplicity that occurs in the multiset.1language-toolkitA specialization of . with time complexity O(n) , where n2 is the number of distinct elements in the source.2language-toolkitA specialization of ..3language-toolkitTranslate elements. All instances of elements of the search set are replaced by the corresponding elements of the replacement set in the given string. If the replacement set is smaller than the search set, it is made longer by repeating the last element.&tr "aeiou" "x" "colorless green ideas""cxlxrlxss grxxn xdxxs"tr "abcdefghijklmnopqrstuvwxyz" "nopqrstuvwxyzabcdefghijklm" "cat""png"4language-toolkitAll possible sequences over a given alphabet, generated in a breadth-first manner.5language-toolkitA fast method to extract elements from a set whose image under a monotonic function is a certain value. The precondition that the function is monotonic is not checked.6  !"#$%&'()*+,-./0123456  #".$%!&'()*+,-/021543(c) 2014-2021 Dakotah LambertMIT Trustworthy>?>4Olanguage-toolkitThe edges of an Z.Tlanguage-toolkit+A vertex of the graph representation of an Z is a T, which can be labelled with any arbitrary value, so long as every vertex of a single automaton is labelled with a distinct value of the same type.Wlanguage-toolkitThe label of a O.Xlanguage-toolkit.The edge may be taken without consuming input.Ylanguage-toolkit(The edge requires consuming this symbol.Zlanguage-toolkitA finite-state automaton (FSA) is represented by a directed graph, the edges of which are labelled by formal symbols.\language-toolkitalanguage-toolkit'The collection of all states in an FSA.blanguage-toolkit:An automaton accepting every string over a given alphabet.clanguage-toolkit8An automaton accepting no strings over a given alphabet.dlanguage-toolkitA specialization of c% where the alphabet is itself empty.elanguage-toolkitAn automaton that accepts only the given string, over a given alphabet.flanguage-toolkitAn automaton that accepts only the given string, over the minimal alphabet required to represent this string.glanguage-toolkitRemove X from a   of W- and present the unwrapped results as a new .hlanguage-toolkit&True iff the input accepts no strings.ilanguage-toolkitIntersect all given automata, in parallel if possible. An empty intersection is undefined. In theory it should be the total language over the total alphabet, but the latter cannot be defined. Intermediate results are evaluated to normal form.jlanguage-toolkitUnion all given automata, in parallel if possible. An empty union is defined as the empty language over an empty alphabet. Intermediate results are evaluated to normal form.klanguage-toolkitReturn an FSA representing possible continuations from a given sequence of symbols. If the input automaton is not complete then the output may have no states when given incompatible input.llanguage-toolkitReturn an FSA representing possible continuations in the second language from strings in the first language. In other words,  quotLeft a b returns \{w : x\in a, xw\in b\}.mlanguage-toolkitReturn an FSA representing possible strings in the first language which end with a string in the second language. In other words,  quotRight a b is \{w : wx\in a, x\in b\}.nlanguage-toolkit quotMid a b c is "\{wz : wx\in a, yx\in b, yz\in c\}. This lifts strings to a group, placing b-inverse between a and c. The time complexity of this function is abysmal, performing a left and a right quotient for each state in b.olanguage-toolkit Returns an Z accepting all and only those strings not accepted by the input.planguage-toolkit Returns the o of a deterministic Z. The precondition that the input is deterministic is not checked.qlanguage-toolkit (residue a b) is equivalent to (difference a b). In the context of an approximation and its source, represents the strings accepted by the approximation that should not be.rlanguage-toolkit(coresidue a b) is equivalent to (complement (residue a b)). In the context of an approximation and its source, represents unmet constraints of the source.slanguage-toolkitThe Kleene Closure of an automaton is the free monoid under concatenation generated by all strings in the automaton's represented stringset. The resulting automaton is nondeterministic.tlanguage-toolkitReturns a deterministic Z recognizing the same stringset as the input, with a minimal number of states.ulanguage-toolkitReturns a deterministic Z recognizing the same stringset as the input, with a minimal number of states. The precondition that the input is deterministic is not checked.vlanguage-toolkit(Returns a non-necessarily deterministic Z minimized over a given relation. Some, but not all, relations do guarantee deterministic output. The precondition that the input is deterministic is not checked.wlanguage-toolkit Two strings u and v% are equivalent iff for all strings w, uw and vw/ lead to states in the same equivalence class.xlanguage-toolkit4The input automaton with unreachable states removed.ylanguage-toolkitThe reversal of an automaton accepts the reversals of all strings accepted by the original.zlanguage-toolkitReturns a normal form of the input. An FSA is in normal form if it is minimal and deterministic, and contains neither unreachable states nor nonaccepting sinks. Node labels are irrelevant, so $ is used as a small representation.{language-toolkit-Given an automaton whose syntactic monoid is M, two strings u and v are equivalent iff MuM=MvM|language-toolkitThe primitive left ideal.}language-toolkitThe generalized \delta4 function, follow each symbol in a string in order.~language-toolkitThe primitive right ideal.language-toolkitThe primitive two-sided ideal.language-toolkitAn automaton is considered trivial under some equivalence relation if each of its equivalence classes is singleton.language-toolkit-Given an automaton whose syntactic monoid is M, two strings u and v are equivalent if Mu=Mv and uM=vM.language-toolkitReturns a deterministic automaton representing the same stringset as the potentially nondeterministic input.language-toolkitGiven an automaton M with stateset Q, the powerset graph of M3 is an automaton with stateset in the powerset of Q. From a node \{q_1,q_2,\ldots,q_n\}, there is an edge labelled \sigma that leads to \{\delta(q_1,\sigma), \delta(q_2,\sigma), \ldots, \delta(q_n, \sigma)\} , where \delta is the transition function of the input. The initial state is Q, and the result is complete.language-toolkitGiven an automaton M with stateset Q, the syntactic monoid of M# is an automaton with stateset in (Q\rightarrow Q)9. Here these functions are represented by lists, where q_i maps to the  i^\text{th}# element of the list. From a node !\langle q_1,q_2,\ldots,q_n\rangle, there is an edge labelled \sigma that leads to \langle\delta(q_1,\sigma), \delta(q_2,\sigma), \ldots, \delta(q_n, \sigma)\rangle , where \delta is the transition function of the input. The initial state is the identity function, and the result is complete.language-toolkitAdd missing symbols to the alphabet of an automaton. The result is an automaton with at least the provided alphabet that licenses exactly the same set of strings as the input.language-toolkitAdd missing symbols to the alphabet of an automaton. As the symbol  is taken to represent any symbol not currently in the alphabet, new edges are added in parallel to existing edges labelled by .language-toolkitRemove the semantic > edges from an automaton and reflect this change in the type.language-toolkitConvert a semantic automaton that represents a Local constraint into a new one that represents the same constraint in the associated Tier-Local class.language-toolkit1Remove symbols from the alphabet of an automaton.language-toolkitIgnore the alphabet of an automaton and use a given alphabet instead.language-toolkitEquivalent to  f , where f$ is an arbitrary injective function.language-toolkitTransform the node labels of an automaton using a given function. If this function is not injective, the resulting FSA may not be deterministic even if the original was.language-toolkitTransform the edge labels of an automaton using a given function. If this function is not injective, the resulting FSA may not be deterministic even if the original was.  !"#$%&'()*+,-./012345OPRSQTUVWYXZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Z[\]^_`ah}bcdefklnmsqr|~ijyoptuzxvw{TUVWYXgOPRSQ(c) 2022 Dakotah LambertMIT Safe-Inferred?nlanguage-toolkit*True iff the automaton has a single state.(c) 2021 Dakotah LambertMIT Safe-InferredClanguage-toolkit=A simpler way to denote syntactic monoids in type signatures.language-toolkitFor a given idempotent e, return the set generated by \{m : (\exists u,v)[umv=e]\}.language-toolkitFor a given idempotent e, return the set  me monoid e& multiplied on the left and right by e.language-toolkitThe semigroup multiplied on the left and right by the given idempotent.language-toolkitTrue iff the supplied elements commute with one another in the provided monoid.language-toolkit All elements e of the given monoid such that e*e=e. Except the identity element. Add that manually if you need it.language-toolkitomega monoid s is the unique element t where t*t = t and t is in \{s, s^2, s^3, \ldots\}. In other words, t is the unique idempotent element in this set. This method used here assumes monoid is aperiodic and finite and uses this to skip many otherwise necessary checks.(c) 2019 Dakotah LambertMIT Safe-InferredDlanguage-toolkit8True iff the automaton recognizes a Star-Free stringset.language-toolkit!True iff the monoid is aperiodic.(c) 2019-2021 Dakotah LambertMIT Safe-InferredElanguage-toolkit1True iff the automaton recognizes a PT stringset.language-toolkitTrue iff the monoid is  \mathcal{J}-trivial(c) 2019-2021 Dakotah LambertMIT Safe-InferredFlanguage-toolkit3True iff the automaton recognizes an LTT stringset.language-toolkit0True iff the monoid recognizes an LTT stringset.(c) 2019 Dakotah LambertMIT Safe-InferredGdlanguage-toolkit2True iff the automaton recognizes an LT stringset.language-toolkit3True iff the given monoid is locally a semilattice. (c) 2021 Dakotah LambertMIT Safe-InferredHLlanguage-toolkit3True iff the automaton recognizes an LPT stringset.language-toolkitTrue iff the monoid is locally  \mathcal{J} -trivial. (c) 2021 Dakotah LambertMIT Safe-InferredIalanguage-toolkitTrue iff the automaton recognizes a generalized locally-testable stringset.language-toolkitTrue iff the monoid satisfies the generalized local testabiltiy condition. (c) 2021 Dakotah LambertMIT Safe-InferredJlanguage-toolkit6True iff the syntactic monoid of the automaton is in \mathbf{M_e J}. This is a generalization of LPT in the same way that GLT is a generalization of LT.language-toolkit True iff the given monoid is in \mathbf{M_e J}. (c) 2021 Dakotah LambertMIT Safe-InferredNlanguage-toolkitTrue iff the automaton recognizes a stringset representable in \mathrm{FO}^{2}[<].language-toolkit-True iff the monoid represents a language in \mathrm{FO}^{2}[<].language-toolkitTrue iff the automaton recognizes a stringset representable in \mathrm{FO}^{2}[<,+1].language-toolkit(True iff the local subsemigroups are in \mathrm{FO}^{2}[<]. This means the whole is in \mathrm{FO}^{2}[<,+1].language-toolkitTrue iff the automaton recognizes a stringset representable in \mathrm{FO}^{2}[<,\mathrm{bet}]:. Labelling relations come in the typical unary variety  \sigma(x) meaning a \sigma appears at position x!, and also in a binary variety  \sigma(x,y) meaning a \sigma) appears strictly between the positions x and y.language-toolkit:True iff the monoid represents a stringset that satisfies isFO2B. (c) 2021 Dakotah LambertMIT Safe-InferredOlanguage-toolkit:True iff the automaton recognizes a semilattice stringset.language-toolkit%True iff the monoid is a semilattice.(c) 2017-2019 Dakotah LambertMIT Safe-InferredT language-toolkit!Multiple disjunctions, joined by AND.language-toolkit Multiple constraints, joined by OR.language-toolkit A constraint.language-toolkit in a given word, as well as the adjacency factors of length k and k+10. If a word is short enough to not contain any k-factors, the entire word, appropriately anchored, is included in the set.(c) 2020 Dakotah LambertMIT Safe-Inferred\language-toolkit"A representation of a TSL grammar.language-toolkit Extract information from a word.%(c) 2020 Dakotah LambertMIT Safe-Inferred]7(c) 2019 Dakotah Lambert Safe-Inferredalanguage-toolkit5Take three strings and merge them in such a way that  (from ATT) can understand the result. The three strings should represent the transitions, input symbols, and output symbols, respectively.language-toolkitConvert the output of (to ATT) into strings suitable for inclusion. The result represents the transitions, input symbols, and output symbols in that order.language-toolkitConvert an AT&T format string into one where input and output symbols have been reversed.language-toolkitImport an FSA from its representation in AT&T format. Note that this import is not perfect; it discards weights and returns only the input projection.language-toolkit Convert an Z into its AT&T format, with one caveat: The LTK internal format allows for symbols that the AT&T format does not understand, and no attempt is made to work around this. Nonnumeric symbols are exported as-is, while numeric symbols are necessarily mapped to their tags in the symbols file(s).(c) 2019 Dakotah Lambert Safe-Inferredb)language-toolkit-Construct a prefix-tree of a (finite) corpus.&(c) 2017-2019 Dakotah LambertMIT Safe-Inferredclanguage-toolkit Convert an Z' to its representation in the GraphViz dot format.language-toolkit Convert an Z' to its representation in the GraphViz dot format, with a provided name.language-toolkitTurn a  into a :formatSet (fromList [1, 2, 3]) "{1, 2, 3}"'(c) 2016-2021 Dakotah Lambert Safe-Inferredflanguage-toolkit Import an Z: from its representation in Jeff's format. The resulting Int node labels may have nothing to do with the node labels in the source.language-toolkitSee . This function operates directly on the representation of the edge label.language-toolkitAutomata in Jeff's format use edge labels of the form @w0.s1@. This function converts the edge labels of an automaton from this form to the @L`@ form that we tend to use.language-toolkit Convert an Z( to its representation in Jeff's format.language-toolkitThe inverse of .language-toolkitThe inverse of .(c) 2019 Dakotah LambertMIT Safe-Inferredh{language-toolkitDetermine the tier alphabet for which the given FSA is a preprojection. This could simply be the entire alphabet of the FSA. Precondition: the given FSA must be in normal form.language-toolkitRemove symbols not relevant to the given FSA's associated projection (as determined by tier7). Precondition: the given FSA must be in normal form.(c) 2019-2021 Dakotah LambertMIT Safe-Inferrediblanguage-toolkit3True iff the automaton recognizes a TLTT stringset.language-toolkit0True iff the monoid recognizes a TLTT stringset.(c) 2019-2021 Dakotah LambertMIT Safe-InferredjGlanguage-toolkit2True iff the automaton recognizes a TLT stringset.language-toolkit/True iff the monoid recognizes a TLT stringset.(c) 2021 Dakotah LambertMIT Safe-Inferredk&language-toolkit3True iff the automaton recognizes a TLPT stringset.language-toolkit0True iff the monoid recognizes a TLPT stringset.(c) 2021 Dakotah LambertMIT Safe-Inferredllanguage-toolkitTrue iff the automaton recognizes a generalized definite stringset.language-toolkitTrue iff the monoid satisfies eSe=e for all idempotents e.language-toolkit?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{{|}~              &''''                                           !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"#$$&&''/language-toolkit-1.0.1.0-1jXncDwSYEdIarNoPKyZ84LTK.ContainersLTK.FSALTK.Decide.Trivial LTK.Algebra LTK.Decide.SF LTK.Decide.PTLTK.Decide.LTT LTK.Decide.LTLTK.Decide.LPTLTK.Decide.GLTLTK.Decide.GLPTLTK.Decide.FO2 LTK.Decide.CB LTK.FactorsLTK.Learn.StringExt LTK.Learn.SP LTK.Learn.SL#LTK.Learn.TSL.AugmentedSubsequencesLTK.Learn.TSL.ViaSLLTK.Porters.ATTLTK.Porters.Corpus LTK.Porters LTK.TiersLTK.Decide.TLTTLTK.Decide.TLTLTK.Decide.TLPT LTK.Decide.GDLTK.Decide.Definite LTK.Decide.BLTK.TraversalsLTK.Extract.SPLTK.Porters.PlebLTK.Extract.SLLTK.Extract.TSLLTK.Decide.TSLLTK.Decide.Finite LTK.Learn.TSLLTK.Porters.DotLTK.Porters.Jeff LTK.DecideM LTK.Decide.SP LTK.Extract LTK.Decide.SL LTK.DecideLTK HasAlphabetalphabetDecreasingSize getDecreasingIncreasingSize getIncreasingMultiset Collapsiblecollapsesize Linearizablechoose ContainerisInisNotIncontainsdoesNotContainisEmptyunion intersection differencesymmetricDifferenceemptyinsert singleton isSubsetOf isSupersetOfisProperSubsetOfisProperSupersetOf chooseOne discardOne interleavezsizeisizeunionAll intersectAllanySallSbothtmapkeepgroupBy partitionByrefinePartitionByfromCollapsible multiplicitymultiplicitiessetFromMultisetmultisetFromListtr sequencesOverextractMonotonic$fContainerSeta$fContainer[]a$fLinearizableSet$fLinearizable[]$fCollapsibleSet$fCollapsible[]$fReadMultiset$fShowMultiset$fMonoidMultiset$fSemigroupMultiset$fContainerMultiseta$fCollapsibleMultiset$fLinearizableMultiset$fFunctorIncreasingSize$fOrdIncreasingSize$fFunctorDecreasingSize$fOrdDecreasingSize$fEqDecreasingSize$fReadDecreasingSize$fShowDecreasingSize$fEqIncreasingSize$fReadIncreasingSize$fShowIncreasingSize $fEqMultiset $fOrdMultiset Transition edgeLabelsource destinationState nodeLabelSymbolEpsilonFSAsigma transitionsinitialsfinalsisDeterministicstatestotalWithAlphabetemptyWithAlphabet emptyLanguagesingletonWithAlphabetsingletonLanguage unsymbolsisNullflatIntersection flatUnionbrzozowskiDerivativequotLeft quotRightquotMid complementcomplementDeterministicresidue coresidue kleeneClosureminimizeminimizeDeterministic minimizeOvernerodetrimUnreachablesreverse normalize jEquivalenceprimitiveIdealLfollowprimitiveIdealRprimitiveIdeal2 trivialUnder hEquivalence determinize powersetGraphsyntacticMonoidextendAlphabetTosemanticallyExtendAlphabetTo desemantifytierifycontractAlphabetToforceAlphabetTo renameStatesrenameStatesByrenameSymbolsBy$fNFDataSymbol$fFunctorSymbol $fNFDataState $fMonoidState$fSemigroupState $fMonadState$fApplicativeState$fFunctorState$fFunctorTransition$fNFDataTransition$fHasAlphabetFSA $fNFDataFSA $fMonoidFSA$fSemigroupFSA$fContainerFSA[]$fOrdFSA$fEqFSA$fFunctorNoitisnart $fNFDataTree$fEqTree $fOrdTree $fReadTree $fShowTree$fEqID$fOrdID$fReadID$fShowID $fShowFSA $fReadFSA$fEqTransition$fOrdTransition$fShowTransition$fReadTransition $fEqState $fOrdState $fReadState $fShowState $fEqSymbol $fOrdSymbol $fReadSymbol $fShowSymbol isTrivialSynMonmeemeeese isCommutative idempotentsomegaisSFisSFMisPTisPTMisLTTisLTTMisLTisLTMisLPTisLPTMisGLTisGLTMisGLPTisGLPTMisFO2isFO2MisFO2SisFO2SMisFO2BisFO2BMisCBisCBM Conjunction DisjunctionLiteralFactor Substring Subsequence substring headAnchored tailAnchoredrequired forbidden buildLiteralbuildmakeConstraint$fEqConjunction$fOrdConjunction$fReadConjunction$fShowConjunction$fEqDisjunction$fOrdDisjunction$fReadDisjunction$fShowDisjunction $fEqLiteral $fOrdLiteral $fReadLiteral $fShowLiteral $fEqFactor $fOrdFactor $fReadFactor $fShowFactorGrammargenFSAaugmentGisSubGOfemptyGlearn augmentSEisRecognizedBySPGfSP $fGrammarSPG$fHasAlphabetSPG$fEqSPG$fOrdSPG $fReadSPG $fShowSPGSLGslgAlphaslgKslgfSL $fGrammarSLG$fHasAlphabetSLG$fEqSLG$fOrdSLG $fReadSLG $fShowSLGTSLGfTSL $fGrammarTSLG$fHasAlphabetTSLG$fEqTSLG $fOrdTSLG $fReadTSLG $fShowTSLGembedSymbolsATTextractSymbolsATT invertATTreadATT exportATT readCorpus formatSettransliterateString transliterateuntransliterateuntransliterateStringtierprojectisTLTTisTLTTMisTLTisTLTMisTLPTisTLPTMisGDisGDMisTGDisTGDMisDefisDefMisRDefisRDefMisTDefisTDefMisTRDefisTRDefMisBisBMisLBisLBMisTLBisTLBMPathlabelsendstate stateMultisetdepthword extensions!nondeterministicAcyclicExtensionsboundedCycleExtensions initialsPathsinitialsNDPath acyclicPathsrejectingPaths isAcyclic $fMonoidPath$fSemigroupPath $fOrdPath$fEqPath $fShowPathForbiddenSubsequencesattestedAlphabetgetSubsequencesisSSQsubsequenceClosureforbiddenSubsequencesisSPfsaFromForbiddenSubsequences"$fContainerForbiddenSubsequences[]$fEqForbiddenSubsequences$fOrdForbiddenSubsequences$fReadForbiddenSubsequences$fShowForbiddenSubsequencesParsedoParse DictionarySymSetExprEnvTokentokenizereadPleb doStatements insertExpr compileEnv groundEnvrestrictUniverse makeAutomaton parseExprfromSemanticAutomaton fromAutomaton $fMonadParse$fAlternativeParse$fApplicativeParse$fFunctorParse $fEqUnaryExpr$fOrdUnaryExpr$fReadUnaryExpr$fShowUnaryExpr$fEqExpr $fOrdExpr $fReadExpr $fShowExpr $fEqNAryExpr $fOrdNAryExpr$fReadNAryExpr$fShowNAryExpr $fEqPLFactor $fOrdPLFactor$fReadPLFactor$fShowPLFactor $fEqToken $fOrdToken $fReadToken $fShowTokenCorpusATTOATTPlebDotJeffType ImportabletoFSA ExportablefromFSAfromfromEto$fImportableJeff$fExportableJeff$fExportableDot$fImportablePleb$fExportableATT$fImportableATT$fExportableATTO$fImportableATTO$fImportableCorpusForbiddenPaths initialPaths freePaths finalPathsTaggedSubstringFreeInitialFinalWordForbiddenSubstrings attestedUnitsforbiddenWordsforbiddenInitialsforbiddenFreesforbiddenFinalsisSLslQfactorsFromPathsforbiddenSubstringsbuildFSA-$fContainerForbiddenSubstringsTaggedSubstring$fEqForbiddenPaths$fOrdForbiddenPaths$fEqTaggedSubstring$fOrdTaggedSubstring$fReadTaggedSubstring$fShowTaggedSubstring$fEqForbiddenSubstrings$fOrdForbiddenSubstrings$fShowForbiddenSubstrings$fReadForbiddenSubstringsforbiddenTierSubstringsisTSLisFinite isCofinitecontainers-0.6.2.1Data.Set.InternalSetghc-prim GHC.TypesIntbase GHC.MaybeNothing exportDotexportDotWithNameGHC.BaseStringreadJeff exportJeff