def equivalence_partitions(self): """Returns list of equivalence partitions?""" partition = Partition() for state in self.states: partition.add_state(state, self._outputs(state)) partition.update() self.partitions.append(partition) while True: partition = Partition() for state in self.states: # print(state) partition.add_state( state, self.partitions[-1].successors_partitions( self._successors(state))) partition.update() self.partitions.append(partition) # print if len(self.states) == len( partition): # or partition == partitions[-1]: break return self.partitions