this repo has no description
at develop 34 kB view raw
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 2/* 3 * Main authors: 4 * Guido Tack <tack@gecode.org> 5 * 6 * Copyright: 7 * Guido Tack, 2014 8 * 9 * This file is part of Gecode, the generic constraint 10 * development environment: 11 * http://www.gecode.org 12 * 13 * Permission is hereby granted, free of charge, to any person obtaining 14 * a copy of this software and associated documentation files (the 15 * "Software"), to deal in the Software without restriction, including 16 * without limitation the rights to use, copy, modify, merge, publish, 17 * distribute, sublicense, and/or sell copies of the Software, and to 18 * permit persons to whom the Software is furnished to do so, subject to 19 * the following conditions: 20 * 21 * The above copyright notice and this permission notice shall be 22 * included in all copies or substantial portions of the Software. 23 * 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 28 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 29 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 30 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 31 * 32 */ 33 34#include "test/flatzinc.hh" 35 36namespace Test { namespace FlatZinc { 37 38 namespace { 39 /// Helper class to create and register tests 40 class Create { 41 public: 42 43 /// Perform creation and registration 44 Create(void) { 45 (void) new FlatZincTest("timetabling", 46std::string("predicate all_different_int(array [int] of var int: x);\n\ 47predicate all_equal_int(array [int] of var int: x);\n\ 48predicate among(var int: n, array [int] of var int: x, set of int: v);\n\ 49predicate array_bool_lq(array [int] of var bool: x, array [int] of var bool: y);\n\ 50predicate array_bool_lt(array [int] of var bool: x, array [int] of var bool: y);\n\ 51predicate array_int_lq(array [int] of var int: x, array [int] of var int: y);\n\ 52predicate array_int_lt(array [int] of var int: x, array [int] of var int: y);\n\ 53predicate array_set_partition(array [int] of var set of int: S, set of int: universe);\n\ 54predicate at_least_int(int: n, array [int] of var int: x, int: v);\n\ 55predicate at_most_int(int: n, array [int] of var int: x, int: v);\n\ 56predicate bool_lin_ge(array [int] of int: a, array [int] of var bool: x, var int: c);\n\ 57predicate bool_lin_gt(array [int] of int: a, array [int] of var bool: x, var int: c);\n\ 58predicate bool_lin_lt(array [int] of int: a, array [int] of var bool: x, var int: c);\n\ 59predicate bool_lin_ne(array [int] of int: a, array [int] of var bool: x, var int: c);\n\ 60predicate count(array [int] of var int: x, var int: y, var int: c);\n\ 61predicate count_reif(array [int] of var int: x, var int: y, var int: c, var bool: b);\n\ 62predicate cumulatives(array [int] of var int: s, array [int] of var int: d, array [int] of var int: r, var int: b);\n\ 63predicate decreasing_bool(array [int] of var bool: x);\n\ 64predicate decreasing_int(array [int] of var int: x);\n\ 65predicate disjoint(var set of int: s1, var set of int: s2);\n\ 66predicate gecode_array_set_element_union(var set of int: x, array [int] of var set of int: y, var set of int: z);\n\ 67predicate gecode_bin_packing_load(array [int] of var int: l, array [int] of var int: bin, array [int] of int: w, int: minIndex);\n\ 68predicate gecode_circuit(int: offset, array [int] of var int: x);\n\ 69predicate gecode_int_set_channel(array [int] of var int: x, int: xoff, array [int] of var set of int: y, int: yoff);\n\ 70predicate gecode_inverse_set(array [int] of var set of int: f, array [int] of var set of int: invf, int: xoff, int: yoff);\n\ 71predicate gecode_link_set_to_booleans(var set of int: s, array [int] of var bool: b, int: idx);\n\ 72predicate gecode_member_bool_reif(array [int] of var bool: x, var bool: y, var bool: b);\n\ 73predicate gecode_member_int_reif(array [int] of var int: x, var int: y, var bool: b);\n\ 74predicate gecode_nooverlap(array [int] of var int: x, array [int] of var int: w, array [int] of var int: y, array [int] of var int: h);\n\ 75predicate gecode_precede(array [int] of var int: x, int: s, int: t);\n\ 76predicate gecode_precede_set(array [int] of var set of int: x, int: s, int: t);\n\ 77predicate gecode_range(array [int] of var int: x, int: xoff, var set of int: s, var set of int: t);\n\ 78predicate gecode_set_weights(array [int] of int: csi, array [int] of int: cs, var set of int: x, var int: y);\n\ 79predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);\n\ 80predicate global_cardinality_closed(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);\n\ 81predicate global_cardinality_low_up(array [int] of var int: x, array [int] of int: cover, array [int] of int: lbound, array [int] of int: ubound);\n\ 82predicate global_cardinality_low_up_closed(array [int] of var int: x, array [int] of int: cover, array [int] of int: lbound, array [int] of int: ubound);\n\ 83predicate increasing_bool(array [int] of var bool: x);\n\ 84predicate increasing_int(array [int] of var int: x);\n\ 85predicate inverse_offsets(array [int] of var int: f, int: foff, array [int] of var int: invf, int: invfoff);\n\ 86predicate maximum_int(var int: m, array [int] of var int: x);\n\ 87predicate member_bool(array [int] of var bool: x, var bool: y);\n\ 88predicate member_int(array [int] of var int: x, var int: y);\n\ 89predicate minimum_int(var int: m, array [int] of var int: x);\n\ 90predicate nvalue(var int: n, array [int] of var int: x);\n\ 91predicate regular(array [int] of var int: x, int: Q, int: S, array [int, int] of int: d, int: q0, set of int: F);\n\ 92predicate sort(array [int] of var int: x, array [int] of var int: y);\n\ 93predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t);\n\ 94predicate table_int(array [int] of var int: x, array [int, int] of int: t);\n\ 95array [1..80] of int: Cs = [2, 5, 4, 3, 4, 6, 3, 1, 3, 1, 6, 2, 2, 3, 6, 1, 6, 4, 3, 1, 6, 4, 2, 5, 6, 2, 4, 1, 6, 1, 4, 3, 6, 4, 5, 3, 5, 4, 6, 2, 4, 2, 1, 5, 6, 2, 3, 1, 4, 3, 5, 6, 6, 3, 2, 4, 4, 6, 5, 1, 3, 2, 6, 4, 3, 6, 5, 1, 3, 5, 2, 6, 4, 3, 5, 2, 5, 4, 6, 2];\n\ 96var 4..6: INT____00001 :: is_defined_var :: var_is_introduced;\n\ 97var 1..6: INT____00002 :: is_defined_var :: var_is_introduced;\n\ 98var 13..15: INT____00003 :: is_defined_var :: var_is_introduced;\n\ 99var 1..6: INT____00004 :: is_defined_var :: var_is_introduced;\n\ 100var 10..12: INT____00005 :: is_defined_var :: var_is_introduced;\n\ 101var 1..6: INT____00006 :: is_defined_var :: var_is_introduced;\n\ 102var 7..9: INT____00007 :: is_defined_var :: var_is_introduced;\n\ 103var 1..6: INT____00008 :: is_defined_var :: var_is_introduced;\n\ 104var 10..12: INT____00009 :: is_defined_var :: var_is_introduced;\n\ 105var 1..6: INT____00010 :: is_defined_var :: var_is_introduced;\n\ 106var 16..18: INT____00011 :: is_defined_var :: var_is_introduced;\n\ 107var 1..6: INT____00012 :: is_defined_var :: var_is_introduced;\n\ 108var 7..9: INT____00013 :: is_defined_var :: var_is_introduced;\n\ 109var 1..6: INT____00014 :: is_defined_var :: var_is_introduced;\n\ 110var 1..6: INT____00015 :: is_defined_var :: var_is_introduced;\n\ 111var 7..9: INT____00016 :: is_defined_var :: var_is_introduced;\n\ 112var 1..6: INT____00017 :: is_defined_var :: var_is_introduced;\n\ 113var 1..6: INT____00018 :: is_defined_var :: var_is_introduced;\n\ 114var 16..18: INT____00019 :: is_defined_var :: var_is_introduced;\n\ 115var 1..6: INT____00020 :: is_defined_var :: var_is_introduced;\n\ 116var 4..6: INT____00021 :: is_defined_var :: var_is_introduced;\n\ 117var 1..6: INT____00022 :: is_defined_var :: var_is_introduced;\n\ 118var 4..6: INT____00023 :: is_defined_var :: var_is_introduced;\n\ 119var 1..6: INT____00024 :: is_defined_var :: var_is_introduced;\n\ 120var 7..9: INT____00025 :: is_defined_var :: var_is_introduced;\n\ 121var 1..6: INT____00026 :: is_defined_var :: var_is_introduced;\n\ 122var 16..18: INT____00027 :: is_defined_var :: var_is_introduced;\n\ 123var 1..6: INT____00028 :: is_defined_var :: var_is_introduced;\n\ 124var 1..6: INT____00029 :: is_defined_var :: var_is_introduced;\n\ 125var 16..18: INT____00030 :: is_defined_var :: var_is_introduced;\n\ 126var 1..6: INT____00031 :: is_defined_var :: var_is_introduced;\n\ 127var 10..12: INT____00032 :: is_defined_var :: var_is_introduced;\n\ 128var 1..6: INT____00033 :: is_defined_var :: var_is_introduced;\n\ 129var 7..9: INT____00034 :: is_defined_var :: var_is_introduced;\n\ 130var 1..6: INT____00035 :: is_defined_var :: var_is_introduced;\n\ 131var 1..6: INT____00036 :: is_defined_var :: var_is_introduced;\n\ 132var 16..18: INT____00037 :: is_defined_var :: var_is_introduced;\n\ 133var 1..6: INT____00038 :: is_defined_var :: var_is_introduced;\n\ 134var 10..12: INT____00039 :: is_defined_var :: var_is_introduced;\n\ 135var 1..6: INT____00040 :: is_defined_var :: var_is_introduced;\n\ 136var 4..6: INT____00041 :: is_defined_var :: var_is_introduced;\n\ 137var 1..6: INT____00042 :: is_defined_var :: var_is_introduced;\n\ 138var 13..15: INT____00043 :: is_defined_var :: var_is_introduced;\n\ 139var 1..6: INT____00044 :: is_defined_var :: var_is_introduced;\n\ 140var 16..18: INT____00045 :: is_defined_var :: var_is_introduced;\n\ 141var 1..6: INT____00046 :: is_defined_var :: var_is_introduced;\n\ 142var 4..6: INT____00047 :: is_defined_var :: var_is_introduced;\n\ 143var 1..6: INT____00048 :: is_defined_var :: var_is_introduced;\n\ 144var 10..12: INT____00049 :: is_defined_var :: var_is_introduced;\n\ 145var 1..6: INT____00050 :: is_defined_var :: var_is_introduced;\n\ 146var 1..6: INT____00051 :: is_defined_var :: var_is_introduced;\n\ 147var 16..18: INT____00052 :: is_defined_var :: var_is_introduced;\n\ 148var 1..6: INT____00053 :: is_defined_var :: var_is_introduced;\n\ 149var 1..6: INT____00054 :: is_defined_var :: var_is_introduced;\n\ 150var 10..12: INT____00055 :: is_defined_var :: var_is_introduced;\n\ 151var 1..6: INT____00056 :: is_defined_var :: var_is_introduced;\n\ 152var 7..9: INT____00057 :: is_defined_var :: var_is_introduced;\n\ 153var 1..6: INT____00058 :: is_defined_var :: var_is_introduced;\n\ 154var 16..18: INT____00059 :: is_defined_var :: var_is_introduced;\n\ 155var 1..6: INT____00060 :: is_defined_var :: var_is_introduced;\n\ 156var 10..12: INT____00061 :: is_defined_var :: var_is_introduced;\n\ 157var 1..6: INT____00062 :: is_defined_var :: var_is_introduced;\n\ 158var 13..15: INT____00063 :: is_defined_var :: var_is_introduced;\n\ 159var 1..6: INT____00064 :: is_defined_var :: var_is_introduced;\n\ 160var 7..9: INT____00065 :: is_defined_var :: var_is_introduced;\n\ 161var 1..6: INT____00066 :: is_defined_var :: var_is_introduced;\n\ 162var 13..15: INT____00067 :: is_defined_var :: var_is_introduced;\n\ 163var 1..6: INT____00068 :: is_defined_var :: var_is_introduced;\n\ 164var 10..12: INT____00069 :: is_defined_var :: var_is_introduced;\n\ 165var 1..6: INT____00070 :: is_defined_var :: var_is_introduced;\n\ 166var 16..18: INT____00071 :: is_defined_var :: var_is_introduced;\n\ 167var 1..6: INT____00072 :: is_defined_var :: var_is_introduced;\n\ 168var 4..6: INT____00073 :: is_defined_var :: var_is_introduced;\n\ 169var 1..6: INT____00074 :: is_defined_var :: var_is_introduced;\n\ 170var 10..12: INT____00075 :: is_defined_var :: var_is_introduced;\n\ 171var 1..6: INT____00076 :: is_defined_var :: var_is_introduced;\n\ 172var 4..6: INT____00077 :: is_defined_var :: var_is_introduced;\n\ 173var 1..6: INT____00078 :: is_defined_var :: var_is_introduced;\n\ 174var 1..6: INT____00079 :: is_defined_var :: var_is_introduced;\n\ 175var 13..15: INT____00080 :: is_defined_var :: var_is_introduced;\n\ 176var 1..6: INT____00081 :: is_defined_var :: var_is_introduced;\n\ 177var 16..18: INT____00082 :: is_defined_var :: var_is_introduced;\n\ 178var 1..6: INT____00083 :: is_defined_var :: var_is_introduced;\n\ 179var 4..6: INT____00084 :: is_defined_var :: var_is_introduced;\n\ 180var 1..6: INT____00085 :: is_defined_var :: var_is_introduced;\n\ 181var 7..9: INT____00086 :: is_defined_var :: var_is_introduced;\n\ 182var 1..6: INT____00087 :: is_defined_var :: var_is_introduced;\n\ 183var 1..6: INT____00088 :: is_defined_var :: var_is_introduced;\n\ 184var 10..12: INT____00089 :: is_defined_var :: var_is_introduced;\n\ 185var 1..6: INT____00090 :: is_defined_var :: var_is_introduced;\n\ 186var 7..9: INT____00091 :: is_defined_var :: var_is_introduced;\n\ 187var 1..6: INT____00092 :: is_defined_var :: var_is_introduced;\n\ 188var 13..15: INT____00093 :: is_defined_var :: var_is_introduced;\n\ 189var 1..6: INT____00094 :: is_defined_var :: var_is_introduced;\n\ 190var 16..18: INT____00095 :: is_defined_var :: var_is_introduced;\n\ 191var 1..6: INT____00096 :: is_defined_var :: var_is_introduced;\n\ 192var 16..18: INT____00097 :: is_defined_var :: var_is_introduced;\n\ 193var 1..6: INT____00098 :: is_defined_var :: var_is_introduced;\n\ 194var 7..9: INT____00099 :: is_defined_var :: var_is_introduced;\n\ 195var 1..6: INT____00100 :: is_defined_var :: var_is_introduced;\n\ 196var 4..6: INT____00101 :: is_defined_var :: var_is_introduced;\n\ 197var 1..6: INT____00102 :: is_defined_var :: var_is_introduced;\n\ 198var 10..12: INT____00103 :: is_defined_var :: var_is_introduced;\n\ 199var 1..6: INT____00104 :: is_defined_var :: var_is_introduced;\n\ 200var 10..12: INT____00105 :: is_defined_var :: var_is_introduced;\n\ 201var 1..6: INT____00106 :: is_defined_var :: var_is_introduced;\n\ 202var 16..18: INT____00107 :: is_defined_var :: var_is_introduced;\n\ 203var 1..6: INT____00108 :: is_defined_var :: var_is_introduced;\n\ 204var 13..15: INT____00109 :: is_defined_var :: var_is_introduced;\n\ 205var 1..6: INT____00110 :: is_defined_var :: var_is_introduced;\n\ 206var 1..6: INT____00111 :: is_defined_var :: var_is_introduced;\n\ 207var 7..9: INT____00112 :: is_defined_var :: var_is_introduced;\n\ 208var 1..6: INT____00113 :: is_defined_var :: var_is_introduced;\n\ 209var 4..6: INT____00114 :: is_defined_var :: var_is_introduced;\n\ 210var 1..6: INT____00115 :: is_defined_var :: var_is_introduced;\n\ 211var 16..18: INT____00116 :: is_defined_var :: var_is_introduced;\n\ 212var 1..6: INT____00117 :: is_defined_var :: var_is_introduced;\n\ 213var 10..12: INT____00118 :: is_defined_var :: var_is_introduced;\n\ 214var 1..6: INT____00119 :: is_defined_var :: var_is_introduced;\n\ 215var 7..9: INT____00120 :: is_defined_var :: var_is_introduced;\n\ 216var 1..6: INT____00121 :: is_defined_var :: var_is_introduced;\n\ 217var 16..18: INT____00122 :: is_defined_var :: var_is_introduced;\n\ 218var 1..6: INT____00123 :: is_defined_var :: var_is_introduced;\n\ 219var 13..15: INT____00124 :: is_defined_var :: var_is_introduced;\n\ 220var 1..6: INT____00125 :: is_defined_var :: var_is_introduced;\n\ 221var 1..6: INT____00126 :: is_defined_var :: var_is_introduced;\n\ 222var 7..9: INT____00127 :: is_defined_var :: var_is_introduced;\n\ 223var 1..6: INT____00128 :: is_defined_var :: var_is_introduced;\n\ 224var 13..15: INT____00129 :: is_defined_var :: var_is_introduced;\n\ 225var 1..6: INT____00130 :: is_defined_var :: var_is_introduced;\n\ 226var 4..6: INT____00131 :: is_defined_var :: var_is_introduced;\n\ 227var 1..6: INT____00132 :: is_defined_var :: var_is_introduced;\n\ 228var 16..18: INT____00133 :: is_defined_var :: var_is_introduced;\n\ 229var 1..6: INT____00134 :: is_defined_var :: var_is_introduced;\n\ 230var 10..12: INT____00135 :: is_defined_var :: var_is_introduced;\n\ 231var 1..6: INT____00136 :: is_defined_var :: var_is_introduced;\n\ 232var 7..9: INT____00137 :: is_defined_var :: var_is_introduced;\n\ 233var 1..6: INT____00138 :: is_defined_var :: var_is_introduced;\n\ 234var 13..15: INT____00139 :: is_defined_var :: var_is_introduced;\n\ 235var 1..6: INT____00140 :: is_defined_var :: var_is_introduced;\n\ 236var 4..6: INT____00141 :: is_defined_var :: var_is_introduced;\n\ 237var 1..6: INT____00142 :: is_defined_var :: var_is_introduced;\n\ 238var 13..15: INT____00143 :: is_defined_var :: var_is_introduced;\n\ 239var 1..6: INT____00144 :: is_defined_var :: var_is_introduced;\n\ 240var 10..12: INT____00145 :: is_defined_var :: var_is_introduced;\n\ 241var 1..6: INT____00146 :: is_defined_var :: var_is_introduced;\n\ 242var 16..18: INT____00147 :: is_defined_var :: var_is_introduced;\n\ 243var 1..6: INT____00148 :: is_defined_var :: var_is_introduced;\n\ 244var 4..6: INT____00149 :: is_defined_var :: var_is_introduced;\n\ 245var 1..6: INT____00150 :: is_defined_var :: var_is_introduced;\n\ 246array [1..80] of var 1..3: x :: output_array([1..20, 1..4]);\n")+"\ 247array [1..18] of var 1..6: z :: output_array([1..6, 1..3]);\n\ 248constraint all_different_int([INT____00002, INT____00004, INT____00006, INT____00008]);\n\ 249constraint all_different_int([INT____00010, INT____00012, INT____00014, INT____00015]);\n\ 250constraint all_different_int([INT____00017, INT____00018, INT____00020, INT____00022]);\n\ 251constraint all_different_int([INT____00024, INT____00026, INT____00028, INT____00029]);\n\ 252constraint all_different_int([INT____00031, INT____00033, INT____00035, INT____00036]);\n\ 253constraint all_different_int([INT____00038, INT____00040, INT____00042, INT____00044]);\n\ 254constraint all_different_int([INT____00046, INT____00048, INT____00050, INT____00051]);\n\ 255constraint all_different_int([INT____00053, INT____00054, INT____00056, INT____00058]);\n\ 256constraint all_different_int([INT____00060, INT____00062, INT____00064, INT____00066]);\n\ 257constraint all_different_int([INT____00068, INT____00070, INT____00072, INT____00074]);\n\ 258constraint all_different_int([INT____00076, INT____00078, INT____00079, INT____00081]);\n\ 259constraint all_different_int([INT____00083, INT____00085, INT____00087, INT____00088]);\n\ 260constraint all_different_int([INT____00090, INT____00092, INT____00094, INT____00096]);\n\ 261constraint all_different_int([INT____00098, INT____00100, INT____00102, INT____00104]);\n\ 262constraint all_different_int([INT____00106, INT____00108, INT____00110, INT____00111]);\n\ 263constraint all_different_int([INT____00113, INT____00115, INT____00117, INT____00119]);\n\ 264constraint all_different_int([INT____00121, INT____00123, INT____00125, INT____00126]);\n\ 265constraint all_different_int([INT____00128, INT____00130, INT____00132, INT____00134]);\n\ 266constraint all_different_int([INT____00136, INT____00138, INT____00140, INT____00142]);\n\ 267constraint all_different_int([INT____00144, INT____00146, INT____00148, INT____00150]);\n\ 268constraint array_var_int_element(INT____00001, z, INT____00002) :: defines_var(INT____00002);\n\ 269constraint array_var_int_element(INT____00003, z, INT____00004) :: defines_var(INT____00004);\n\ 270constraint array_var_int_element(INT____00005, z, INT____00006) :: defines_var(INT____00006);\n\ 271constraint array_var_int_element(INT____00007, z, INT____00008) :: defines_var(INT____00008);\n\ 272constraint array_var_int_element(INT____00009, z, INT____00010) :: defines_var(INT____00010);\n\ 273constraint array_var_int_element(INT____00011, z, INT____00012) :: defines_var(INT____00012);\n\ 274constraint array_var_int_element(INT____00013, z, INT____00014) :: defines_var(INT____00014);\n\ 275constraint array_var_int_element(INT____00016, z, INT____00017) :: defines_var(INT____00017);\n\ 276constraint array_var_int_element(INT____00019, z, INT____00020) :: defines_var(INT____00020);\n\ 277constraint array_var_int_element(INT____00021, z, INT____00022) :: defines_var(INT____00022);\n\ 278constraint array_var_int_element(INT____00023, z, INT____00024) :: defines_var(INT____00024);\n\ 279constraint array_var_int_element(INT____00025, z, INT____00026) :: defines_var(INT____00026);\n\ 280constraint array_var_int_element(INT____00027, z, INT____00028) :: defines_var(INT____00028);\n\ 281constraint array_var_int_element(INT____00030, z, INT____00031) :: defines_var(INT____00031);\n\ 282constraint array_var_int_element(INT____00032, z, INT____00033) :: defines_var(INT____00033);\n\ 283constraint array_var_int_element(INT____00034, z, INT____00035) :: defines_var(INT____00035);\n\ 284constraint array_var_int_element(INT____00037, z, INT____00038) :: defines_var(INT____00038);\n\ 285constraint array_var_int_element(INT____00039, z, INT____00040) :: defines_var(INT____00040);\n\ 286constraint array_var_int_element(INT____00041, z, INT____00042) :: defines_var(INT____00042);\n\ 287constraint array_var_int_element(INT____00043, z, INT____00044) :: defines_var(INT____00044);\n\ 288constraint array_var_int_element(INT____00045, z, INT____00046) :: defines_var(INT____00046);\n\ 289constraint array_var_int_element(INT____00047, z, INT____00048) :: defines_var(INT____00048);\n\ 290constraint array_var_int_element(INT____00049, z, INT____00050) :: defines_var(INT____00050);\n\ 291constraint array_var_int_element(INT____00052, z, INT____00053) :: defines_var(INT____00053);\n\ 292constraint array_var_int_element(INT____00055, z, INT____00056) :: defines_var(INT____00056);\n\ 293constraint array_var_int_element(INT____00057, z, INT____00058) :: defines_var(INT____00058);\n\ 294constraint array_var_int_element(INT____00059, z, INT____00060) :: defines_var(INT____00060);\n\ 295constraint array_var_int_element(INT____00061, z, INT____00062) :: defines_var(INT____00062);\n\ 296constraint array_var_int_element(INT____00063, z, INT____00064) :: defines_var(INT____00064);\n\ 297constraint array_var_int_element(INT____00065, z, INT____00066) :: defines_var(INT____00066);\n\ 298constraint array_var_int_element(INT____00067, z, INT____00068) :: defines_var(INT____00068);\n\ 299constraint array_var_int_element(INT____00069, z, INT____00070) :: defines_var(INT____00070);\n\ 300constraint array_var_int_element(INT____00071, z, INT____00072) :: defines_var(INT____00072);\n\ 301constraint array_var_int_element(INT____00073, z, INT____00074) :: defines_var(INT____00074);\n\ 302constraint array_var_int_element(INT____00075, z, INT____00076) :: defines_var(INT____00076);\n\ 303constraint array_var_int_element(INT____00077, z, INT____00078) :: defines_var(INT____00078);\n\ 304constraint array_var_int_element(INT____00080, z, INT____00081) :: defines_var(INT____00081);\n\ 305constraint array_var_int_element(INT____00082, z, INT____00083) :: defines_var(INT____00083);\n\ 306constraint array_var_int_element(INT____00084, z, INT____00085) :: defines_var(INT____00085);\n\ 307constraint array_var_int_element(INT____00086, z, INT____00087) :: defines_var(INT____00087);\n\ 308constraint array_var_int_element(INT____00089, z, INT____00090) :: defines_var(INT____00090);\n\ 309constraint array_var_int_element(INT____00091, z, INT____00092) :: defines_var(INT____00092);\n\ 310constraint array_var_int_element(INT____00093, z, INT____00094) :: defines_var(INT____00094);\n\ 311constraint array_var_int_element(INT____00095, z, INT____00096) :: defines_var(INT____00096);\n\ 312constraint array_var_int_element(INT____00097, z, INT____00098) :: defines_var(INT____00098);\n\ 313constraint array_var_int_element(INT____00099, z, INT____00100) :: defines_var(INT____00100);\n\ 314constraint array_var_int_element(INT____00101, z, INT____00102) :: defines_var(INT____00102);\n\ 315constraint array_var_int_element(INT____00103, z, INT____00104) :: defines_var(INT____00104);\n\ 316constraint array_var_int_element(INT____00105, z, INT____00106) :: defines_var(INT____00106);\n\ 317constraint array_var_int_element(INT____00107, z, INT____00108) :: defines_var(INT____00108);\n\ 318constraint array_var_int_element(INT____00109, z, INT____00110) :: defines_var(INT____00110);\n\ 319constraint array_var_int_element(INT____00112, z, INT____00113) :: defines_var(INT____00113);\n\ 320constraint array_var_int_element(INT____00114, z, INT____00115) :: defines_var(INT____00115);\n\ 321constraint array_var_int_element(INT____00116, z, INT____00117) :: defines_var(INT____00117);\n\ 322constraint array_var_int_element(INT____00118, z, INT____00119) :: defines_var(INT____00119);\n\ 323constraint array_var_int_element(INT____00120, z, INT____00121) :: defines_var(INT____00121);\n\ 324constraint array_var_int_element(INT____00122, z, INT____00123) :: defines_var(INT____00123);\n\ 325constraint array_var_int_element(INT____00124, z, INT____00125) :: defines_var(INT____00125);\n\ 326constraint array_var_int_element(INT____00127, z, INT____00128) :: defines_var(INT____00128);\n\ 327constraint array_var_int_element(INT____00129, z, INT____00130) :: defines_var(INT____00130);\n\ 328constraint array_var_int_element(INT____00131, z, INT____00132) :: defines_var(INT____00132);\n\ 329constraint array_var_int_element(INT____00133, z, INT____00134) :: defines_var(INT____00134);\n\ 330constraint array_var_int_element(INT____00135, z, INT____00136) :: defines_var(INT____00136);\n\ 331constraint array_var_int_element(INT____00137, z, INT____00138) :: defines_var(INT____00138);\n\ 332constraint array_var_int_element(INT____00139, z, INT____00140) :: defines_var(INT____00140);\n\ 333constraint array_var_int_element(INT____00141, z, INT____00142) :: defines_var(INT____00142);\n\ 334constraint array_var_int_element(INT____00143, z, INT____00144) :: defines_var(INT____00144);\n\ 335constraint array_var_int_element(INT____00145, z, INT____00146) :: defines_var(INT____00146);\n\ 336constraint array_var_int_element(INT____00147, z, INT____00148) :: defines_var(INT____00148);\n\ 337constraint array_var_int_element(INT____00149, z, INT____00150) :: defines_var(INT____00150);\n\ 338constraint array_var_int_element(x[8], z, INT____00015) :: defines_var(INT____00015);\n\ 339constraint array_var_int_element(x[10], z, INT____00018) :: defines_var(INT____00018);\n\ 340constraint array_var_int_element(x[16], z, INT____00029) :: defines_var(INT____00029);\n\ 341constraint array_var_int_element(x[20], z, INT____00036) :: defines_var(INT____00036);\n\ 342constraint array_var_int_element(x[28], z, INT____00051) :: defines_var(INT____00051);\n\ 343constraint array_var_int_element(x[30], z, INT____00054) :: defines_var(INT____00054);\n\ 344constraint array_var_int_element(x[43], z, INT____00079) :: defines_var(INT____00079);\n\ 345constraint array_var_int_element(x[48], z, INT____00088) :: defines_var(INT____00088);\n\ 346constraint array_var_int_element(x[60], z, INT____00111) :: defines_var(INT____00111);\n\ 347constraint array_var_int_element(x[68], z, INT____00126) :: defines_var(INT____00126);\n\ 348constraint int_lin_eq([-1, 1], [INT____00001, x[1]], -3) :: defines_var(INT____00001) :: domain;\n\ 349constraint int_lin_eq([-1, 1], [INT____00003, x[2]], -12) :: defines_var(INT____00003) :: domain;\n\ 350constraint int_lin_eq([-1, 1], [INT____00005, x[3]], -9) :: defines_var(INT____00005) :: domain;\n\ 351constraint int_lin_eq([-1, 1], [INT____00007, x[4]], -6) :: defines_var(INT____00007) :: domain;\n\ 352constraint int_lin_eq([-1, 1], [INT____00009, x[5]], -9) :: defines_var(INT____00009) :: domain;\n\ 353constraint int_lin_eq([-1, 1], [INT____00011, x[6]], -15) :: defines_var(INT____00011) :: domain;\n\ 354constraint int_lin_eq([-1, 1], [INT____00013, x[7]], -6) :: defines_var(INT____00013) :: domain;\n\ 355constraint int_lin_eq([-1, 1], [INT____00016, x[9]], -6) :: defines_var(INT____00016) :: domain;\n\ 356constraint int_lin_eq([-1, 1], [INT____00019, x[11]], -15) :: defines_var(INT____00019) :: domain;\n\ 357constraint int_lin_eq([-1, 1], [INT____00021, x[12]], -3) :: defines_var(INT____00021) :: domain;\n\ 358constraint int_lin_eq([-1, 1], [INT____00023, x[13]], -3) :: defines_var(INT____00023) :: domain;\n\ 359constraint int_lin_eq([-1, 1], [INT____00025, x[14]], -6) :: defines_var(INT____00025) :: domain;\n\ 360constraint int_lin_eq([-1, 1], [INT____00027, x[15]], -15) :: defines_var(INT____00027) :: domain;\n\ 361constraint int_lin_eq([-1, 1], [INT____00030, x[17]], -15) :: defines_var(INT____00030) :: domain;\n\ 362constraint int_lin_eq([-1, 1], [INT____00032, x[18]], -9) :: defines_var(INT____00032) :: domain;\n\ 363constraint int_lin_eq([-1, 1], [INT____00034, x[19]], -6) :: defines_var(INT____00034) :: domain;\n\ 364constraint int_lin_eq([-1, 1], [INT____00037, x[21]], -15) :: defines_var(INT____00037) :: domain;\n\ 365constraint int_lin_eq([-1, 1], [INT____00039, x[22]], -9) :: defines_var(INT____00039) :: domain;\n\ 366constraint int_lin_eq([-1, 1], [INT____00041, x[23]], -3) :: defines_var(INT____00041) :: domain;\n\ 367constraint int_lin_eq([-1, 1], [INT____00043, x[24]], -12) :: defines_var(INT____00043) :: domain;\n\ 368constraint int_lin_eq([-1, 1], [INT____00045, x[25]], -15) :: defines_var(INT____00045) :: domain;\n\ 369constraint int_lin_eq([-1, 1], [INT____00047, x[26]], -3) :: defines_var(INT____00047) :: domain;\n\ 370constraint int_lin_eq([-1, 1], [INT____00049, x[27]], -9) :: defines_var(INT____00049) :: domain;\n\ 371constraint int_lin_eq([-1, 1], [INT____00052, x[29]], -15) :: defines_var(INT____00052) :: domain;\n\ 372constraint int_lin_eq([-1, 1], [INT____00055, x[31]], -9) :: defines_var(INT____00055) :: domain;\n\ 373constraint int_lin_eq([-1, 1], [INT____00057, x[32]], -6) :: defines_var(INT____00057) :: domain;\n\ 374constraint int_lin_eq([-1, 1], [INT____00059, x[33]], -15) :: defines_var(INT____00059) :: domain;\n\ 375constraint int_lin_eq([-1, 1], [INT____00061, x[34]], -9) :: defines_var(INT____00061) :: domain;\n\ 376constraint int_lin_eq([-1, 1], [INT____00063, x[35]], -12) :: defines_var(INT____00063) :: domain;\n\ 377constraint int_lin_eq([-1, 1], [INT____00065, x[36]], -6) :: defines_var(INT____00065) :: domain;\n\ 378constraint int_lin_eq([-1, 1], [INT____00067, x[37]], -12) :: defines_var(INT____00067) :: domain;\n\ 379constraint int_lin_eq([-1, 1], [INT____00069, x[38]], -9) :: defines_var(INT____00069) :: domain;\n\ 380constraint int_lin_eq([-1, 1], [INT____00071, x[39]], -15) :: defines_var(INT____00071) :: domain;\n\ 381constraint int_lin_eq([-1, 1], [INT____00073, x[40]], -3) :: defines_var(INT____00073) :: domain;\n\ 382constraint int_lin_eq([-1, 1], [INT____00075, x[41]], -9) :: defines_var(INT____00075) :: domain;\n\ 383constraint int_lin_eq([-1, 1], [INT____00077, x[42]], -3) :: defines_var(INT____00077) :: domain;\n\ 384constraint int_lin_eq([-1, 1], [INT____00080, x[44]], -12) :: defines_var(INT____00080) :: domain;\n\ 385constraint int_lin_eq([-1, 1], [INT____00082, x[45]], -15) :: defines_var(INT____00082) :: domain;\n\ 386constraint int_lin_eq([-1, 1], [INT____00084, x[46]], -3) :: defines_var(INT____00084) :: domain;\n\ 387constraint int_lin_eq([-1, 1], [INT____00086, x[47]], -6) :: defines_var(INT____00086) :: domain;\n\ 388constraint int_lin_eq([-1, 1], [INT____00089, x[49]], -9) :: defines_var(INT____00089) :: domain;\n\ 389constraint int_lin_eq([-1, 1], [INT____00091, x[50]], -6) :: defines_var(INT____00091) :: domain;\n\ 390constraint int_lin_eq([-1, 1], [INT____00093, x[51]], -12) :: defines_var(INT____00093) :: domain;\n\ 391constraint int_lin_eq([-1, 1], [INT____00095, x[52]], -15) :: defines_var(INT____00095) :: domain;\n\ 392constraint int_lin_eq([-1, 1], [INT____00097, x[53]], -15) :: defines_var(INT____00097) :: domain;\n\ 393constraint int_lin_eq([-1, 1], [INT____00099, x[54]], -6) :: defines_var(INT____00099) :: domain;\n\ 394constraint int_lin_eq([-1, 1], [INT____00101, x[55]], -3) :: defines_var(INT____00101) :: domain;\n\ 395constraint int_lin_eq([-1, 1], [INT____00103, x[56]], -9) :: defines_var(INT____00103) :: domain;\n\ 396constraint int_lin_eq([-1, 1], [INT____00105, x[57]], -9) :: defines_var(INT____00105) :: domain;\n\ 397constraint int_lin_eq([-1, 1], [INT____00107, x[58]], -15) :: defines_var(INT____00107) :: domain;\n\ 398constraint int_lin_eq([-1, 1], [INT____00109, x[59]], -12) :: defines_var(INT____00109) :: domain;\n\ 399constraint int_lin_eq([-1, 1], [INT____00112, x[61]], -6) :: defines_var(INT____00112) :: domain;\n\ 400constraint int_lin_eq([-1, 1], [INT____00114, x[62]], -3) :: defines_var(INT____00114) :: domain;\n\ 401constraint int_lin_eq([-1, 1], [INT____00116, x[63]], -15) :: defines_var(INT____00116) :: domain;\n\ 402constraint int_lin_eq([-1, 1], [INT____00118, x[64]], -9) :: defines_var(INT____00118) :: domain;\n\ 403constraint int_lin_eq([-1, 1], [INT____00120, x[65]], -6) :: defines_var(INT____00120) :: domain;\n\ 404constraint int_lin_eq([-1, 1], [INT____00122, x[66]], -15) :: defines_var(INT____00122) :: domain;\n\ 405constraint int_lin_eq([-1, 1], [INT____00124, x[67]], -12) :: defines_var(INT____00124) :: domain;\n\ 406constraint int_lin_eq([-1, 1], [INT____00127, x[69]], -6) :: defines_var(INT____00127) :: domain;\n\ 407constraint int_lin_eq([-1, 1], [INT____00129, x[70]], -12) :: defines_var(INT____00129) :: domain;\n\ 408constraint int_lin_eq([-1, 1], [INT____00131, x[71]], -3) :: defines_var(INT____00131) :: domain;\n\ 409constraint int_lin_eq([-1, 1], [INT____00133, x[72]], -15) :: defines_var(INT____00133) :: domain;\n\ 410constraint int_lin_eq([-1, 1], [INT____00135, x[73]], -9) :: defines_var(INT____00135) :: domain;\n\ 411constraint int_lin_eq([-1, 1], [INT____00137, x[74]], -6) :: defines_var(INT____00137) :: domain;\n\ 412constraint int_lin_eq([-1, 1], [INT____00139, x[75]], -12) :: defines_var(INT____00139) :: domain;\n\ 413constraint int_lin_eq([-1, 1], [INT____00141, x[76]], -3) :: defines_var(INT____00141) :: domain;\n\ 414constraint int_lin_eq([-1, 1], [INT____00143, x[77]], -12) :: defines_var(INT____00143) :: domain;\n\ 415constraint int_lin_eq([-1, 1], [INT____00145, x[78]], -9) :: defines_var(INT____00145) :: domain;\n\ 416constraint int_lin_eq([-1, 1], [INT____00147, x[79]], -15) :: defines_var(INT____00147) :: domain;\n\ 417constraint int_lin_eq([-1, 1], [INT____00149, x[80]], -3) :: defines_var(INT____00149) :: domain;\n\ 418solve satisfy;\n\ 419", "x = array2d(1..20, 1..4, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);\n\ 420z = array2d(1..6, 1..3, [6, 1, 1, 4, 1, 1, 3, 1, 1, 2, 1, 1, 5, 1, 1, 1, 1, 1]);\n\ 421----------\n\ 422"); 423 } 424 }; 425 426 Create c; 427 } 428 429}} 430 431// STATISTICS: test-flatzinc