Download
language Essence 1.3

$ This is the decision version of the cover test problem

given k,b,t: int(1..), g: int(2..)
where k>=t, b>=g**t

letting alphabet be new type of size g
letting switches be new type of size k

find CoverTest: mset (size b) of function (total) switches --> alphabet

such that 
    forAll testcase: function switches --> alphabet                         $% every test case  
        , |toSet(testcase)| = t
        .  
            exists test in CoverTest. testcase subsetEq test                $% must be covered by some test in CoverTest


$=============================================================================
$INSTANCES

$Note: These are all easy in that they can be solved by MiniZinc in under 2 minutes.
      $The paper cited below uses Ilog Solver, which is tens of times faster.

$These are easy and unsat
$letting t=3, g=2, k=5, b=8
$letting t=3, g=2, k=5, b=9
$letting t=3, g=2, k=6, b=8
$letting t=3, g=2, k=6, b=9
$letting t=3, g=2, k=6, b=10
$letting t=3, g=2, k=7, b=8
$letting t=3, g=2, k=7, b=9
$letting t=3, g=2, k=8, b=8
$letting t=3, g=2, k=8, b=11
$letting t=3, g=2, k=9, b=11
$letting t=3, g=2, k=10, b=11
$letting t=3, g=2, k=11, b=11
$letting t=3, g=2, k=12, b=11

$These are easy and sat
$letting t=3, g=2, k=4, b=8
$letting t=3, g=2, k=4, b=9
$letting t=3, g=2, k=5, b=10
$letting t=3, g=2, k=6, b=12
$letting t=3, g=2, k=7, b=12
$letting t=3, g=2, k=8, b=12
$letting t=3, g=2, k=9, b=12
$letting t=3, g=2, k=10, b=12
$letting t=3, g=2, k=11, b=12