Testing Simon's congruence
Lukas Fleischer, Manfred Kufleitner

TL;DR
This paper introduces an efficient algorithm to compute canonical representatives of Simon's congruence classes for words, enabling effective analysis of piecewise testable languages with optimal complexity.
Contribution
The authors present a novel algorithm with linear time complexity for computing shortlex normal forms under Simon's congruence, even when k varies as part of the input.
Findings
Algorithm runs in O(|A|n) time for general k
For fixed alphabet, the algorithm is linear in input size
Normal forms can be computed in deterministic logarithmic space
Abstract
Piecewise testable languages are a subclass of the regular languages. There are many equivalent ways of defining them; Simon's congruence is one of the most classical approaches. Two words are -equivalent if they have the same set of (scattered) subwords of length at most k. A language L is piecewise testable if there exists some k such that L is a union of -classes. For each equivalence class of , one can define a canonical representative in shortlex normal form, that is, the minimal word with respect to the lexicographic order among the shortest words in . We present an algorithm for computing the canonical representative of the -class of a given word of length n. The running time of our algorithm is in O(|A|n) even if is part of the input. This is surprising since the number of possible subwords grows…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
