Satchmo.Relation.Prop

Synopsis

# Documentation

implies :: (Ix a, Ix b, MonadSAT m) => Relation a b -> Relation a b -> m Boolean Source

symmetric :: (Ix a, MonadSAT m) => Relation a a -> m Boolean Source

reflexive :: (Ix a, MonadSAT m) => Relation a a -> m Boolean Source

regular :: (Ix a, Ix b, MonadSAT m) => Int -> Relation a b -> m Boolean Source

max_in_degree :: (Ix a, Ix b, MonadSAT m) => Int -> Relation a b -> m Boolean Source

min_in_degree :: (Ix a, Ix b, MonadSAT m) => Int -> Relation a b -> m Boolean Source

max_out_degree :: (Ix a, Ix b, MonadSAT m) => Int -> Relation a b -> m Boolean Source

min_out_degree :: (Ix a, Ix b, MonadSAT m) => Int -> Relation a b -> m Boolean Source

empty :: (Ix a, Ix b, MonadSAT m) => Relation a b -> m Boolean Source

complete :: (Ix a, Ix b, MonadSAT m) => Relation a b -> m Boolean Source

disjoint :: (Ix a, Ix b, MonadSAT m) => Relation a b -> Relation a b -> m Boolean Source

equals :: (Ix a, Ix b, MonadSAT m) => Relation a b -> Relation a b -> m Boolean Source

is_function :: (Ix a, Ix b, MonadSAT m) => Relation a b -> m Boolean Source

relation R is a function iff for each x, there is exactly one y such that R(x,y)

is_partial_function :: (Ix a, Ix b, MonadSAT m) => Relation a b -> m Boolean Source

relation R is a partial function iff for each x, there is at most one y such that R(x,y)

is_bijection :: (Ix a, Ix b, MonadSAT m) => Relation a b -> m Boolean Source