hasmtlib-2.3.1: A monad for interfacing with external SMT solvers
Safe HaskellSafe-Inferred
LanguageGHC2021

Language.Hasmtlib.Counting

Synopsis

Documentation

count' :: forall t f. (Functor f, Foldable f, Num (Expr t)) => Proxy t -> f (Expr BoolSort) -> Expr t Source #

Wrapper for count which takes a Proxy.

count :: forall t f. (Functor f, Foldable f, Num (Expr t)) => f (Expr BoolSort) -> Expr t Source #

Out of many bool-expressions build a formula which encodes how many of them are true.

atMost :: forall t f. (Functor f, Foldable f, Num (Expr t), Orderable (Expr t)) => Expr t -> f (Expr BoolSort) -> Expr BoolSort Source #

Out of many bool-expressions build a formula which encodes that at most k of them are true.

atLeast :: forall t f. (Functor f, Foldable f, Num (Expr t), Orderable (Expr t)) => Expr t -> f (Expr BoolSort) -> Expr BoolSort Source #

Out of many bool-expressions build a formula which encodes that at least k of them are true.

exactly :: forall t f. (Functor f, Foldable f, Num (Expr t), Orderable (Expr t)) => Expr t -> f (Expr BoolSort) -> Expr BoolSort Source #

Out of many bool-expressions build a formula which encodes that exactly k of them are true.