Safe Haskell | Safe |
---|---|

Language | Haskell98 |

- newtype T a = Cons [[Set a]]
- toLists :: Ord a => T a -> [[[a]]]
- fromLists :: Ord a => [[[a]]] -> T a
- flatten :: Ord a => T a -> [[a]]
- symbols :: Ord a => T a -> Set a
- cube :: Int -> Set a -> T a
- size :: T a -> Integer
- productSizes :: T a -> [Integer]
- select :: T a -> Integer -> [a]
- representationSize :: T a -> Int
- union :: T a -> T a -> T a
- intersection :: Ord a => T a -> T a -> T a
- member :: Ord a => [a] -> T a -> Bool
- normalize :: T a -> T a
- disjointProduct :: Ord a => [Set a] -> [Set a] -> Bool
- overlappingPairs :: Ord a => T a -> [([Set a], [Set a])]
- overlapping :: Ord a => T a -> [([Set a], [[Set a]])]

# Documentation

`Cons [[a,b,c,d], [e,f,g,h]]`

expresses a x b x c x d union e x f x g x h,
where `x`

denotes the set product.

productSizes :: T a -> [Integer] Source #

representationSize :: T a -> Int Source #

union :: T a -> T a -> T a Source #

We could try to merge set products. I'll first want to see, whether this is needed in a relevant number of cases.