- PLEB: fixed @@ ("Domination") operator
- reenabled -O2 compilation
- commonPrefix and commonSuffix functions on automata
- isDot1 (dot depth at most one)
- syntacticSemigroup (interfacing with finite-semigroups)
- syntacticOMonoid, syntacticOSemigroup (ordered monoid or semigroup)
- isVarietyS (ordered varities from finite-semigroups)
- plebby:
- new, more detailed :help system
- strict order (
.∙.(x,y)
asserts start ofx
precedes start ofy
) - Ctrl+C interrupts handled, abort current computation
- algebraic tools split and expanded in a new package (finite-semigroups)
- plebby:
- inequalities supported in :isVarietyM/S/T for order
- better error messages
- bugfix: two-expression commands no longer break on "it"
- many classification tasks now use semigroups from finite-semigroups
- bugfix: trimUnreachables handles epsilon-edges and avoids recomputation
- preliminary French translation of manual pages
- basic Emacs mode for syntax highlighting
- classification procedures
- isAcom (aperiodic and commutative)
- isLAcom (locally isAcom)
- isFO2BF (two-variable FO with betweenness of factors)
- isVariety (Plebby has one command each for *, +, and tier)
- isMTF, isMTDef, isMTRDef, isMTGD (simple multitier classes)
- Porters
- egg-box diagrams
- graphs of syntactic orders
- Pleb syntax
- empty variadics
- reversal (
⇄
) - upward closures (
↑
, orloopify
in the library) - shuffle products (
⧢
orautShuffle
in the library) - symbol neutralization (
|syms|
, orneutralize
in the library) - nonempty iteration (
+e
equivalent to@(e,*e)
)
- Plebby commands
:cequal
and:cimplies
to account for the semantics:eggbox
(display the egg-box):synord
(display syntactic order)
- Plebby configuration file
- bugfix: omega function works in properly regular semigroups
- performance enhancement: faster FO2(S) test
- performance enhancement: faster (co)finite test
- performance enhancement: faster SP test
- fixed a mistest in
classify
, as well as a severe performance issue
classify
command- LTK.Algebra module and new decision procedures
LTK.Decide.*
- B
- CB
- Definite, (T)(R)Def restrictions on suffixes or prefixes (on tiers)
- Finite
- FO2, FO2S, FO2B: definable in two-variable FO with <, (<,+1), (<,bet)
- GD: generalized definite, prefixes AND suffixes
- GLPT: generalization of LPT
- GLT: generalization of LT
- LPT: locally J-trivial, contains combinations of piecewise-local factors
- TLPT: tier-based LPT
- Trivial: accepts ALL strings, or NO strings
- associated
:isCLASS
plebby commands
- LTK.DecideM: classify monoids, to avoid recomputation
- left- and right-quotients in
LTK.FSA
and in PLEB - union and intersection of symbol sets wherever they may appear in PLEB
- downward closure in PLEB
:Jmin
plebby command for displaying a graph of J-classes
dotify
now uses AT&T format instead of Jeff formatfactorize
now uses AT&T format instead of Jeff format- improved AT&T import and export
- stress-specific symbols in
LTK.Factors
- AT&T import and export
LTK.Porters.ATT
- prefix-tree import from corpus
LTK.Porters.Corpus
- string-extension learners
LTK.Learn.*
- more
plebby
commands- AT&T import and export
:readATT
,:readATTO
,:writeATT
- learners
:learnSL
,:learnSP
,:learnTSL
- AT&T import and export
- extraction is now a submodule:
LTK.Extract.SL
notLTK.ExtractSL
, etc
- more decision algorithms
LTK.Decide.*
- LT: locally testable, defined by sets of k-substrings
- LTT: locally threshold-testable, FO[+1]
- PT: piecewise-testable, defined by sets of k-subsequences
- SF: star-free, aperiodic, star-height zero
- SL: the decider formerly in
LTK.ExtractSL
- SP: the decider formerly in
LTK.ExtractSP
- TLT: tier-based LT
- TLTT: tier-based LTT
- TSL: tier-based strictly local
- factor extraction is now
LTK.Extract.*
- moved to a Cabal-based installation format
- removed several exploratory files
- add computations over tiers
- initial full public release