/// - reverse: If true, the topological ordering is reversed, i.e. successors before the incoming state.
"The permutation {reorder:?} is not a valid topological ordering of the states of the given LTS: {lts:?}"
pub fn reorder_states<P>(lts: &LabelledTransitionSystem, permutation: P) -> LabelledTransitionSystem
/// Returns true if the given permutation is a topological ordering of the states of the given LTS.
fn is_topologically_sorted<F, P>(lts: &LabelledTransitionSystem, filter: F, permutation: P, reverse: bool) -> bool