We have followed the notations and algorithms given in Colin de la Hihuera's book.
The details of RPNI algorithms can be found in chapter 12, EDSM in chapter 14 and k-testable language in chapter 11 of the book.
In this section we briefly introduce notations and definitions.
Preliminaries
Definition 1.A Deterministic Finite Automaton is defined as a 6-tuple
where A is the set of alphabets, Q is the set of finite , B is the initial state, C is the set of final accepting states, D is set of final rejecting state, E is the transition function.