LIPIcs-MFCS-2018-62.pdf (423.43 kB)
Download file

Testing Simon’s congruence

Download (423.43 kB)
conference contribution
posted on 16.11.2018, 12:29 by Lukas Fleischer, Manfred Kufleitner
Piecewise testable languages are a subclass of the regular languages. There are many equivalent ways of defining them; Simon’s congruence ∼kis one of the most classical approaches. Two words are ∼k-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 ∼k-classes. For each equivalence class of ∼k, 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 ∼k. We present an algorithm for computing the canonical representative of the ∼k-class of a given word w ∈ A∗of length n. The running time of our algorithm is in O(|A|n) even if k ≤ n is part of the input. This is surprising since the number of possible subwords grows exponentially in k. The case k > n is not interesting since then, the equivalence class of w is a singleton. If the alphabet is fixed, the running time of our algorithm is linear in the size of the input word. Moreover, for fixed alphabet, we show that the computation of shortlex normal forms for ∼kis possible in deterministic logarithmic space. One of the consequences of our algorithm is that one can check with the same complexity whether two words are ∼k-equivalent (with k being part of the input).



  • Science


  • Computer Science

Published in

MFCS 2018 Leibniz International Proceedings in Informatics, LIPIcs




FLEISCHER, L. and KUFLEITNER, M., 2018.. Testing Simon’s congruence. IN: Potapov, I., Spirakis, P. and Worrell, J. (Eds.) 43rd International Symposium on Mathematical Foundations of Computer Science (MFCS 2018) Volume 117, Article No. 62; pp. 62:1–62:13, August 27-31, 2018, Liverpool, UK.


© Lukas Fleischer and Manfred Kufleitner


VoR (Version of Record)

Publisher statement

This work is made available according to the conditions of the Creative Commons Attribution 4.0 International (CC BY 4.0) licence. Full details of this licence are available at: by/4.0/

Acceptance date


Publication date



Licensed under Creative Commons License CC-BY





Book series

Leibniz International Proceedings in Informatics, LIPIcs;117




Liverpool, UK