leonbohn / automata

MIT License
4 stars 0 forks source link

Split up the `TransitionSystem` trait into smaller traits #65

Open leonbohn opened 3 months ago

leonbohn commented 3 months ago

This makes it easier to implement some traits for a type but not others. For example, the SubsetConstruction constructs states on the fly. This means it cannot provide an iterator over all state indices and it cannot test whether a given state index exists. Those two methods/functionalities could instead be provided by a trait StateIterable or StatesKnown, which is then implemented by e.g. DTS, but not by SubsetConstruction.