public static <I> Word<I> findSeparatingWord(UniversalDeterministicAutomaton<?, I, ?, ?, ?> reference,
                                                 UniversalDeterministicAutomaton<?, I, ?, ?, ?> other,
                                                 Collection<? extends I> inputs) {
        return NearLinearEquivalenceTest.findSeparatingWord(reference, other, inputs);
    }
public static < I > Word < I > findSeparatingWord ( UniversalDeterministicAutomaton < ? , I , ? , ? , ? > reference , UniversalDeterministicAutomaton < ? , I , ? , ? , ? > other , Collection < ? extends I > inputs ) { return NearLinearEquivalenceTest . findSeparatingWord ( reference , other , inputs ) ; }
Finds a separating word for two automata. A separating word is a word that exposes a difference (differing state
or transition properties, or a transition undefined in only one of the automata) between the two automata.

@param <I>
input symbol type
@param reference
the one automaton to consider
@param other
the other automaton to consider
@param inputs
the input symbols to consider

@return a separating word, or {@code null} if no such word could be found.