invariants.lib

set

package set

This package proposes a set of invariants related to set manipulation: union, intersect, diff, plus some operators such as sum and prod.

Visibility
  1. Public
  2. All

Type Members

  1. case class Cardinality (v: IntSetVar) extends IntInvariant with Product with Serializable

    #(v) (cardinality)

  2. case class Diff (left: IntSetVar, right: IntSetVar) extends IntSetInvariant with Product with Serializable

    left MINUS right, the set diff operator

  3. case class Inter (left: IntSetVar, right: IntSetVar) extends IntSetInvariant with Product with Serializable

    left INTER right

  4. case class Interval (lb: IntVar, ub: IntVar) extends IntSetInvariant with Product with Serializable

    makes a set out of an interval specified by a lower bound and an upper bound.

  5. case class MakeSet (on: SortedSet[IntVar]) extends IntSetInvariant with Product with Serializable

    makes an IntSetVar out of a set of IntVar.

  6. case class SetProd (on: IntSetVar, fun: (Int) ⇒ Int) extends IntInvariant with Product with Serializable

    PRod(i in on)(fun(i))

  7. case class SetSum (on: IntSetVar, fun: (Int) ⇒ Int) extends IntInvariant with Product with Serializable

    Sum(i in on)(fun(i))

  8. case class Union (left: IntSetVar, right: IntSetVar) extends IntSetInvariant with Product with Serializable

    left UNION right