zip [ first ] partition [ values ] bi@ parts boa ;
: powerset-partition ( sequence -- partitions )
- [ length [ 2^ ] keep ] keep '[
- _ <bits> _ make-partition
- ] map rest ;
+ [ length [ 2^ iota ] keep ] keep '[ _ <bits> _ make-partition ] map rest ;
: partition>class ( parts -- class )
[ out>> [ <not-class> ] map ]
: new-transitions ( transitions -- assoc ) ! assoc is class, partition
values [ keys ] gather
- [ tagged-epsilon? not ] filter
+ [ tagged-epsilon? ] reject
class-partitions ;
: get-transitions ( partition state-transitions -- next-states )