From 7ea7e3293f7a465d6f182d629400c6b00409758c Mon Sep 17 00:00:00 2001 From: "lperron@google.com" Date: Fri, 8 Jun 2012 15:25:05 +0000 Subject: [PATCH] new examples --- examples/flatzinc/assignment6.fzn | 104 ++++ examples/flatzinc/common.fzn | 380 +++++++++++++++ examples/flatzinc/connected.fzn | 217 +++++++++ examples/flatzinc/cube_sum.fzn | 570 ++++++++++++++++++++++ examples/flatzinc/four_power.fzn | 48 ++ examples/flatzinc/hardy_1729.fzn | 43 ++ examples/flatzinc/hidato_table.fzn | 730 +++++++++++++++++++++++++++++ examples/flatzinc/jssp.fzn | 475 +++++++++++++++++++ 8 files changed, 2567 insertions(+) create mode 100644 examples/flatzinc/assignment6.fzn create mode 100644 examples/flatzinc/common.fzn create mode 100644 examples/flatzinc/connected.fzn create mode 100644 examples/flatzinc/cube_sum.fzn create mode 100644 examples/flatzinc/four_power.fzn create mode 100644 examples/flatzinc/hardy_1729.fzn create mode 100644 examples/flatzinc/hidato_table.fzn create mode 100644 examples/flatzinc/jssp.fzn diff --git a/examples/flatzinc/assignment6.fzn b/examples/flatzinc/assignment6.fzn new file mode 100644 index 0000000000..0e7f324c46 --- /dev/null +++ b/examples/flatzinc/assignment6.fzn @@ -0,0 +1,104 @@ +var int: INT____00001 :: is_defined_var :: var_is_introduced; +array [1..8] of var 1..8: assigned :: output_array([1..8]); +array [1..64] of var 3..54: c = [13, 21, 20, 12, 8, 26, 22, 11, 12, 36, 25, 41, 40, 11, 4, 8, 35, 32, 13, 36, 26, 21, 13, 37, 34, 54, 7, 8, 12, 22, 11, 40, 21, 6, 45, 18, 24, 34, 12, 48, 42, 19, 39, 15, 14, 16, 28, 46, 16, 34, 38, 3, 34, 40, 22, 24, 26, 20, 5, 17, 45, 31, 37, 43]; +array [1..8] of var int: costs :: output_array([1..8]); +array [1..64] of var int: x :: output_array([1..8, 1..8]); +var int: z :: output_var = INT____00001; +constraint int_le(0, x[1]); +constraint int_le(0, x[2]); +constraint int_le(0, x[3]); +constraint int_le(0, x[4]); +constraint int_le(0, x[5]); +constraint int_le(0, x[6]); +constraint int_le(0, x[7]); +constraint int_le(0, x[8]); +constraint int_le(0, x[9]); +constraint int_le(0, x[10]); +constraint int_le(0, x[11]); +constraint int_le(0, x[12]); +constraint int_le(0, x[13]); +constraint int_le(0, x[14]); +constraint int_le(0, x[15]); +constraint int_le(0, x[16]); +constraint int_le(0, x[17]); +constraint int_le(0, x[18]); +constraint int_le(0, x[19]); +constraint int_le(0, x[20]); +constraint int_le(0, x[21]); +constraint int_le(0, x[22]); +constraint int_le(0, x[23]); +constraint int_le(0, x[24]); +constraint int_le(0, x[25]); +constraint int_le(0, x[26]); +constraint int_le(0, x[27]); +constraint int_le(0, x[28]); +constraint int_le(0, x[29]); +constraint int_le(0, x[30]); +constraint int_le(0, x[31]); +constraint int_le(0, x[32]); +constraint int_le(0, x[33]); +constraint int_le(0, x[34]); +constraint int_le(0, x[35]); +constraint int_le(0, x[36]); +constraint int_le(0, x[37]); +constraint int_le(0, x[38]); +constraint int_le(0, x[39]); +constraint int_le(0, x[40]); +constraint int_le(0, x[41]); +constraint int_le(0, x[42]); +constraint int_le(0, x[43]); +constraint int_le(0, x[44]); +constraint int_le(0, x[45]); +constraint int_le(0, x[46]); +constraint int_le(0, x[47]); +constraint int_le(0, x[48]); +constraint int_le(0, x[49]); +constraint int_le(0, x[50]); +constraint int_le(0, x[51]); +constraint int_le(0, x[52]); +constraint int_le(0, x[53]); +constraint int_le(0, x[54]); +constraint int_le(0, x[55]); +constraint int_le(0, x[56]); +constraint int_le(0, x[57]); +constraint int_le(0, x[58]); +constraint int_le(0, x[59]); +constraint int_le(0, x[60]); +constraint int_le(0, x[61]); +constraint int_le(0, x[62]); +constraint int_le(0, x[63]); +constraint int_le(0, x[64]); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[1], x[9], x[17], x[25], x[33], x[41], x[49], x[57]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[2], x[10], x[18], x[26], x[34], x[42], x[50], x[58]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[3], x[11], x[19], x[27], x[35], x[43], x[51], x[59]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[4], x[12], x[20], x[28], x[36], x[44], x[52], x[60]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[5], x[13], x[21], x[29], x[37], x[45], x[53], x[61]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[6], x[14], x[22], x[30], x[38], x[46], x[54], x[62]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[7], x[15], x[23], x[31], x[39], x[47], x[55], x[63]], 1); +constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1], [x[8], x[16], x[24], x[32], x[40], x[48], x[56], x[64]], 1); +constraint int_lin_eq([1, -42, -19, -39, -15, -14, -16, -28, -46], [costs[6], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48]], 0); +constraint int_lin_eq([1, -35, -32, -13, -36, -26, -21, -13, -37], [costs[3], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24]], 0); +constraint int_lin_eq([1, -34, -54, -7, -8, -12, -22, -11, -40], [costs[4], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32]], 0); +constraint int_lin_eq([1, -26, -20, -5, -17, -45, -31, -37, -43], [costs[8], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]], 0); +constraint int_lin_eq([1, -21, -6, -45, -18, -24, -34, -12, -48], [costs[5], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40]], 0); +constraint int_lin_eq([1, -16, -34, -38, -3, -34, -40, -22, -24], [costs[7], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56]], 0); +constraint int_lin_eq([1, -13, -21, -20, -12, -8, -26, -22, -11], [costs[1], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8]], 0); +constraint int_lin_eq([1, -12, -36, -25, -41, -40, -11, -4, -8], [costs[2], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[1], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[2], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[3], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[4], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[5], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[6], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[7], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56]], 0); +constraint int_lin_eq([1, -1, -2, -3, -4, -5, -6, -7, -8], [assigned[8], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]], 0); +constraint int_lin_eq([-1, 13, 21, 20, 12, 8, 26, 22, 11, 12, 36, 25, 41, 40, 11, 4, 8, 35, 32, 13, 36, 26, 21, 13, 37, 34, 54, 7, 8, 12, 22, 11, 40, 21, 6, 45, 18, 24, 34, 12, 48, 42, 19, 39, 15, 14, 16, 28, 46, 16, 34, 38, 3, 34, 40, 22, 24, 26, 20, 5, 17, 45, 31, 37, 43], [INT____00001, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]], 0) :: defines_var(INT____00001); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56]], 1); +constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1], [x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]], 1); +solve minimize INT____00001; diff --git a/examples/flatzinc/common.fzn b/examples/flatzinc/common.fzn new file mode 100644 index 0000000000..39b61327f7 --- /dev/null +++ b/examples/flatzinc/common.fzn @@ -0,0 +1,380 @@ +predicate all_different_int(array [int] of var int: x); +predicate count(array [int] of var int: x, var int: y, var int: c); +predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); +predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); +predicate table_int(array [int] of var int: x, array [int, int] of int: t); +var bool: BOOL____00003 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00004 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00005 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00006 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00007 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00009 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00010 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00011 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00012 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00013 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00014 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00015 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00017 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00018 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00019 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00020 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00021 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00022 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00023 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00025 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00026 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00027 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00028 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00029 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00030 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00031 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00033 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00034 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00035 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00036 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00037 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00038 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00039 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00041 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00042 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00043 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00044 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00045 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00046 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00047 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00049 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00050 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00051 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00052 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00053 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00054 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00055 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00057 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00058 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00059 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00060 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00061 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00062 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00063 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00065 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00066 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00067 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00068 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00069 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00070 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00071 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00073 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00074 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00075 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00076 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00077 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00078 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00079 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00080 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00081 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00083 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00084 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00085 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00086 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00087 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00088 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00089 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00090 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00091 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00093 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00094 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00095 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00096 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00097 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00098 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00099 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00100 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00101 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00103 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00104 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00105 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00106 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00107 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00108 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00109 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00110 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00111 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00113 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00114 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00115 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00116 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00117 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00118 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00119 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00120 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00121 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00123 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00124 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00125 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00126 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00127 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00128 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00129 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00130 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00131 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00133 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00134 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00135 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00136 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00137 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00138 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00139 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00140 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00141 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00143 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00144 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00145 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00146 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00147 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00148 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00149 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00150 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00151 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00153 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00154 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00155 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00156 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00157 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00158 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00159 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00160 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00161 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00163 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00164 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00165 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00167 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00169 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00171 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00174 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00176 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00178 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00180 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00182 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00184 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00166 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00168 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00170 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00172 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00175 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00177 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00179 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00181 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00183 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00185 :: is_defined_var :: var_is_introduced; +var 0..4: a; +var 0..6: b; +array [1..4] of var 1..9: x :: output_array([1..4]); +var set of 1..9: x_set____00001; +array [1..6] of var 1..9: y :: output_array([1..6]); +var set of 1..9: y_set____00002; +constraint array_bool_or([BOOL____00006, BOOL____00005, BOOL____00004, BOOL____00003], BOOL____00007) :: defines_var(BOOL____00007); +constraint array_bool_or([BOOL____00014, BOOL____00013, BOOL____00012, BOOL____00011], BOOL____00015) :: defines_var(BOOL____00015); +constraint array_bool_or([BOOL____00022, BOOL____00021, BOOL____00020, BOOL____00019], BOOL____00023) :: defines_var(BOOL____00023); +constraint array_bool_or([BOOL____00030, BOOL____00029, BOOL____00028, BOOL____00027], BOOL____00031) :: defines_var(BOOL____00031); +constraint array_bool_or([BOOL____00038, BOOL____00037, BOOL____00036, BOOL____00035], BOOL____00039) :: defines_var(BOOL____00039); +constraint array_bool_or([BOOL____00046, BOOL____00045, BOOL____00044, BOOL____00043], BOOL____00047) :: defines_var(BOOL____00047); +constraint array_bool_or([BOOL____00054, BOOL____00053, BOOL____00052, BOOL____00051], BOOL____00055) :: defines_var(BOOL____00055); +constraint array_bool_or([BOOL____00062, BOOL____00061, BOOL____00060, BOOL____00059], BOOL____00063) :: defines_var(BOOL____00063); +constraint array_bool_or([BOOL____00070, BOOL____00069, BOOL____00068, BOOL____00067], BOOL____00071) :: defines_var(BOOL____00071); +constraint array_bool_or([BOOL____00080, BOOL____00079, BOOL____00078, BOOL____00077, BOOL____00076, BOOL____00075], BOOL____00081) :: defines_var(BOOL____00081); +constraint array_bool_or([BOOL____00090, BOOL____00089, BOOL____00088, BOOL____00087, BOOL____00086, BOOL____00085], BOOL____00091) :: defines_var(BOOL____00091); +constraint array_bool_or([BOOL____00100, BOOL____00099, BOOL____00098, BOOL____00097, BOOL____00096, BOOL____00095], BOOL____00101) :: defines_var(BOOL____00101); +constraint array_bool_or([BOOL____00110, BOOL____00109, BOOL____00108, BOOL____00107, BOOL____00106, BOOL____00105], BOOL____00111) :: defines_var(BOOL____00111); +constraint array_bool_or([BOOL____00120, BOOL____00119, BOOL____00118, BOOL____00117, BOOL____00116, BOOL____00115], BOOL____00121) :: defines_var(BOOL____00121); +constraint array_bool_or([BOOL____00130, BOOL____00129, BOOL____00128, BOOL____00127, BOOL____00126, BOOL____00125], BOOL____00131) :: defines_var(BOOL____00131); +constraint array_bool_or([BOOL____00140, BOOL____00139, BOOL____00138, BOOL____00137, BOOL____00136, BOOL____00135], BOOL____00141) :: defines_var(BOOL____00141); +constraint array_bool_or([BOOL____00150, BOOL____00149, BOOL____00148, BOOL____00147, BOOL____00146, BOOL____00145], BOOL____00151) :: defines_var(BOOL____00151); +constraint array_bool_or([BOOL____00160, BOOL____00159, BOOL____00158, BOOL____00157, BOOL____00156, BOOL____00155], BOOL____00161) :: defines_var(BOOL____00161); +constraint bool2int(BOOL____00165, INT____00166) :: defines_var(INT____00166); +constraint bool2int(BOOL____00167, INT____00168) :: defines_var(INT____00168); +constraint bool2int(BOOL____00169, INT____00170) :: defines_var(INT____00170); +constraint bool2int(BOOL____00171, INT____00172) :: defines_var(INT____00172); +constraint bool2int(BOOL____00174, INT____00175) :: defines_var(INT____00175); +constraint bool2int(BOOL____00176, INT____00177) :: defines_var(INT____00177); +constraint bool2int(BOOL____00178, INT____00179) :: defines_var(INT____00179); +constraint bool2int(BOOL____00180, INT____00181) :: defines_var(INT____00181); +constraint bool2int(BOOL____00182, INT____00183) :: defines_var(INT____00183); +constraint bool2int(BOOL____00184, INT____00185) :: defines_var(INT____00185); +constraint bool_eq_reif(BOOL____00007, false, BOOL____00010); +constraint bool_eq_reif(BOOL____00009, false, BOOL____00010) :: defines_var(BOOL____00010); +constraint bool_eq_reif(BOOL____00015, false, BOOL____00018); +constraint bool_eq_reif(BOOL____00017, false, BOOL____00018) :: defines_var(BOOL____00018); +constraint bool_eq_reif(BOOL____00023, false, BOOL____00026); +constraint bool_eq_reif(BOOL____00025, false, BOOL____00026) :: defines_var(BOOL____00026); +constraint bool_eq_reif(BOOL____00031, false, BOOL____00034); +constraint bool_eq_reif(BOOL____00033, false, BOOL____00034) :: defines_var(BOOL____00034); +constraint bool_eq_reif(BOOL____00039, false, BOOL____00042); +constraint bool_eq_reif(BOOL____00041, false, BOOL____00042) :: defines_var(BOOL____00042); +constraint bool_eq_reif(BOOL____00047, false, BOOL____00050); +constraint bool_eq_reif(BOOL____00049, false, BOOL____00050) :: defines_var(BOOL____00050); +constraint bool_eq_reif(BOOL____00055, false, BOOL____00058); +constraint bool_eq_reif(BOOL____00057, false, BOOL____00058) :: defines_var(BOOL____00058); +constraint bool_eq_reif(BOOL____00063, false, BOOL____00066); +constraint bool_eq_reif(BOOL____00065, false, BOOL____00066) :: defines_var(BOOL____00066); +constraint bool_eq_reif(BOOL____00071, false, BOOL____00074); +constraint bool_eq_reif(BOOL____00073, false, BOOL____00074) :: defines_var(BOOL____00074); +constraint bool_eq_reif(BOOL____00081, false, BOOL____00084); +constraint bool_eq_reif(BOOL____00083, false, BOOL____00084) :: defines_var(BOOL____00084); +constraint bool_eq_reif(BOOL____00091, false, BOOL____00094); +constraint bool_eq_reif(BOOL____00093, false, BOOL____00094) :: defines_var(BOOL____00094); +constraint bool_eq_reif(BOOL____00101, false, BOOL____00104); +constraint bool_eq_reif(BOOL____00103, false, BOOL____00104) :: defines_var(BOOL____00104); +constraint bool_eq_reif(BOOL____00111, false, BOOL____00114); +constraint bool_eq_reif(BOOL____00113, false, BOOL____00114) :: defines_var(BOOL____00114); +constraint bool_eq_reif(BOOL____00121, false, BOOL____00124); +constraint bool_eq_reif(BOOL____00123, false, BOOL____00124) :: defines_var(BOOL____00124); +constraint bool_eq_reif(BOOL____00131, false, BOOL____00134); +constraint bool_eq_reif(BOOL____00133, false, BOOL____00134) :: defines_var(BOOL____00134); +constraint bool_eq_reif(BOOL____00141, false, BOOL____00144); +constraint bool_eq_reif(BOOL____00143, false, BOOL____00144) :: defines_var(BOOL____00144); +constraint bool_eq_reif(BOOL____00151, false, BOOL____00154); +constraint bool_eq_reif(BOOL____00153, false, BOOL____00154) :: defines_var(BOOL____00154); +constraint bool_eq_reif(BOOL____00161, false, BOOL____00164); +constraint bool_eq_reif(BOOL____00163, false, BOOL____00164) :: defines_var(BOOL____00164); +constraint int_eq(1, x[1]); +constraint int_eq(1, x[3]); +constraint int_eq(1, y[2]); +constraint int_eq(2, y[1]); +constraint int_eq(5, x[4]); +constraint int_eq(6, y[5]); +constraint int_eq(9, x[2]); +constraint int_eq(9, y[3]); +constraint int_eq(9, y[4]); +constraint int_eq(9, y[6]); +constraint int_eq_reif(x[1], 1, BOOL____00003) :: defines_var(BOOL____00003); +constraint int_eq_reif(x[1], 2, BOOL____00011) :: defines_var(BOOL____00011); +constraint int_eq_reif(x[1], 3, BOOL____00019) :: defines_var(BOOL____00019); +constraint int_eq_reif(x[1], 4, BOOL____00027) :: defines_var(BOOL____00027); +constraint int_eq_reif(x[1], 5, BOOL____00035) :: defines_var(BOOL____00035); +constraint int_eq_reif(x[1], 6, BOOL____00043) :: defines_var(BOOL____00043); +constraint int_eq_reif(x[1], 7, BOOL____00051) :: defines_var(BOOL____00051); +constraint int_eq_reif(x[1], 8, BOOL____00059) :: defines_var(BOOL____00059); +constraint int_eq_reif(x[1], 9, BOOL____00067) :: defines_var(BOOL____00067); +constraint int_eq_reif(x[2], 1, BOOL____00004) :: defines_var(BOOL____00004); +constraint int_eq_reif(x[2], 2, BOOL____00012) :: defines_var(BOOL____00012); +constraint int_eq_reif(x[2], 3, BOOL____00020) :: defines_var(BOOL____00020); +constraint int_eq_reif(x[2], 4, BOOL____00028) :: defines_var(BOOL____00028); +constraint int_eq_reif(x[2], 5, BOOL____00036) :: defines_var(BOOL____00036); +constraint int_eq_reif(x[2], 6, BOOL____00044) :: defines_var(BOOL____00044); +constraint int_eq_reif(x[2], 7, BOOL____00052) :: defines_var(BOOL____00052); +constraint int_eq_reif(x[2], 8, BOOL____00060) :: defines_var(BOOL____00060); +constraint int_eq_reif(x[2], 9, BOOL____00068) :: defines_var(BOOL____00068); +constraint int_eq_reif(x[3], 1, BOOL____00005) :: defines_var(BOOL____00005); +constraint int_eq_reif(x[3], 2, BOOL____00013) :: defines_var(BOOL____00013); +constraint int_eq_reif(x[3], 3, BOOL____00021) :: defines_var(BOOL____00021); +constraint int_eq_reif(x[3], 4, BOOL____00029) :: defines_var(BOOL____00029); +constraint int_eq_reif(x[3], 5, BOOL____00037) :: defines_var(BOOL____00037); +constraint int_eq_reif(x[3], 6, BOOL____00045) :: defines_var(BOOL____00045); +constraint int_eq_reif(x[3], 7, BOOL____00053) :: defines_var(BOOL____00053); +constraint int_eq_reif(x[3], 8, BOOL____00061) :: defines_var(BOOL____00061); +constraint int_eq_reif(x[3], 9, BOOL____00069) :: defines_var(BOOL____00069); +constraint int_eq_reif(x[4], 1, BOOL____00006) :: defines_var(BOOL____00006); +constraint int_eq_reif(x[4], 2, BOOL____00014) :: defines_var(BOOL____00014); +constraint int_eq_reif(x[4], 3, BOOL____00022) :: defines_var(BOOL____00022); +constraint int_eq_reif(x[4], 4, BOOL____00030) :: defines_var(BOOL____00030); +constraint int_eq_reif(x[4], 5, BOOL____00038) :: defines_var(BOOL____00038); +constraint int_eq_reif(x[4], 6, BOOL____00046) :: defines_var(BOOL____00046); +constraint int_eq_reif(x[4], 7, BOOL____00054) :: defines_var(BOOL____00054); +constraint int_eq_reif(x[4], 8, BOOL____00062) :: defines_var(BOOL____00062); +constraint int_eq_reif(x[4], 9, BOOL____00070) :: defines_var(BOOL____00070); +constraint int_eq_reif(y[1], 1, BOOL____00075) :: defines_var(BOOL____00075); +constraint int_eq_reif(y[1], 2, BOOL____00085) :: defines_var(BOOL____00085); +constraint int_eq_reif(y[1], 3, BOOL____00095) :: defines_var(BOOL____00095); +constraint int_eq_reif(y[1], 4, BOOL____00105) :: defines_var(BOOL____00105); +constraint int_eq_reif(y[1], 5, BOOL____00115) :: defines_var(BOOL____00115); +constraint int_eq_reif(y[1], 6, BOOL____00125) :: defines_var(BOOL____00125); +constraint int_eq_reif(y[1], 7, BOOL____00135) :: defines_var(BOOL____00135); +constraint int_eq_reif(y[1], 8, BOOL____00145) :: defines_var(BOOL____00145); +constraint int_eq_reif(y[1], 9, BOOL____00155) :: defines_var(BOOL____00155); +constraint int_eq_reif(y[2], 1, BOOL____00076) :: defines_var(BOOL____00076); +constraint int_eq_reif(y[2], 2, BOOL____00086) :: defines_var(BOOL____00086); +constraint int_eq_reif(y[2], 3, BOOL____00096) :: defines_var(BOOL____00096); +constraint int_eq_reif(y[2], 4, BOOL____00106) :: defines_var(BOOL____00106); +constraint int_eq_reif(y[2], 5, BOOL____00116) :: defines_var(BOOL____00116); +constraint int_eq_reif(y[2], 6, BOOL____00126) :: defines_var(BOOL____00126); +constraint int_eq_reif(y[2], 7, BOOL____00136) :: defines_var(BOOL____00136); +constraint int_eq_reif(y[2], 8, BOOL____00146) :: defines_var(BOOL____00146); +constraint int_eq_reif(y[2], 9, BOOL____00156) :: defines_var(BOOL____00156); +constraint int_eq_reif(y[3], 1, BOOL____00077) :: defines_var(BOOL____00077); +constraint int_eq_reif(y[3], 2, BOOL____00087) :: defines_var(BOOL____00087); +constraint int_eq_reif(y[3], 3, BOOL____00097) :: defines_var(BOOL____00097); +constraint int_eq_reif(y[3], 4, BOOL____00107) :: defines_var(BOOL____00107); +constraint int_eq_reif(y[3], 5, BOOL____00117) :: defines_var(BOOL____00117); +constraint int_eq_reif(y[3], 6, BOOL____00127) :: defines_var(BOOL____00127); +constraint int_eq_reif(y[3], 7, BOOL____00137) :: defines_var(BOOL____00137); +constraint int_eq_reif(y[3], 8, BOOL____00147) :: defines_var(BOOL____00147); +constraint int_eq_reif(y[3], 9, BOOL____00157) :: defines_var(BOOL____00157); +constraint int_eq_reif(y[4], 1, BOOL____00078) :: defines_var(BOOL____00078); +constraint int_eq_reif(y[4], 2, BOOL____00088) :: defines_var(BOOL____00088); +constraint int_eq_reif(y[4], 3, BOOL____00098) :: defines_var(BOOL____00098); +constraint int_eq_reif(y[4], 4, BOOL____00108) :: defines_var(BOOL____00108); +constraint int_eq_reif(y[4], 5, BOOL____00118) :: defines_var(BOOL____00118); +constraint int_eq_reif(y[4], 6, BOOL____00128) :: defines_var(BOOL____00128); +constraint int_eq_reif(y[4], 7, BOOL____00138) :: defines_var(BOOL____00138); +constraint int_eq_reif(y[4], 8, BOOL____00148) :: defines_var(BOOL____00148); +constraint int_eq_reif(y[4], 9, BOOL____00158) :: defines_var(BOOL____00158); +constraint int_eq_reif(y[5], 1, BOOL____00079) :: defines_var(BOOL____00079); +constraint int_eq_reif(y[5], 2, BOOL____00089) :: defines_var(BOOL____00089); +constraint int_eq_reif(y[5], 3, BOOL____00099) :: defines_var(BOOL____00099); +constraint int_eq_reif(y[5], 4, BOOL____00109) :: defines_var(BOOL____00109); +constraint int_eq_reif(y[5], 5, BOOL____00119) :: defines_var(BOOL____00119); +constraint int_eq_reif(y[5], 6, BOOL____00129) :: defines_var(BOOL____00129); +constraint int_eq_reif(y[5], 7, BOOL____00139) :: defines_var(BOOL____00139); +constraint int_eq_reif(y[5], 8, BOOL____00149) :: defines_var(BOOL____00149); +constraint int_eq_reif(y[5], 9, BOOL____00159) :: defines_var(BOOL____00159); +constraint int_eq_reif(y[6], 1, BOOL____00080) :: defines_var(BOOL____00080); +constraint int_eq_reif(y[6], 2, BOOL____00090) :: defines_var(BOOL____00090); +constraint int_eq_reif(y[6], 3, BOOL____00100) :: defines_var(BOOL____00100); +constraint int_eq_reif(y[6], 4, BOOL____00110) :: defines_var(BOOL____00110); +constraint int_eq_reif(y[6], 5, BOOL____00120) :: defines_var(BOOL____00120); +constraint int_eq_reif(y[6], 6, BOOL____00130) :: defines_var(BOOL____00130); +constraint int_eq_reif(y[6], 7, BOOL____00140) :: defines_var(BOOL____00140); +constraint int_eq_reif(y[6], 8, BOOL____00150) :: defines_var(BOOL____00150); +constraint int_eq_reif(y[6], 9, BOOL____00160) :: defines_var(BOOL____00160); +constraint int_lin_eq([-1, 1, 1, 1, 1], [a, INT____00166, INT____00168, INT____00170, INT____00172], 0); +constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1], [b, INT____00175, INT____00177, INT____00179, INT____00181, INT____00183, INT____00185], 0); +constraint set_in(x[1], x_set____00001); +constraint set_in(x[2], x_set____00001); +constraint set_in(x[3], x_set____00001); +constraint set_in(x[4], x_set____00001); +constraint set_in(y[1], y_set____00002); +constraint set_in(y[2], y_set____00002); +constraint set_in(y[3], y_set____00002); +constraint set_in(y[4], y_set____00002); +constraint set_in(y[5], y_set____00002); +constraint set_in(y[6], y_set____00002); +constraint set_in_reif(1, x_set____00001, BOOL____00009) :: defines_var(BOOL____00009); +constraint set_in_reif(1, y_set____00002, BOOL____00083) :: defines_var(BOOL____00083); +constraint set_in_reif(2, x_set____00001, BOOL____00017) :: defines_var(BOOL____00017); +constraint set_in_reif(2, y_set____00002, BOOL____00093) :: defines_var(BOOL____00093); +constraint set_in_reif(3, x_set____00001, BOOL____00025) :: defines_var(BOOL____00025); +constraint set_in_reif(3, y_set____00002, BOOL____00103) :: defines_var(BOOL____00103); +constraint set_in_reif(4, x_set____00001, BOOL____00033) :: defines_var(BOOL____00033); +constraint set_in_reif(4, y_set____00002, BOOL____00113) :: defines_var(BOOL____00113); +constraint set_in_reif(5, x_set____00001, BOOL____00041) :: defines_var(BOOL____00041); +constraint set_in_reif(5, y_set____00002, BOOL____00123) :: defines_var(BOOL____00123); +constraint set_in_reif(6, x_set____00001, BOOL____00049) :: defines_var(BOOL____00049); +constraint set_in_reif(6, y_set____00002, BOOL____00133) :: defines_var(BOOL____00133); +constraint set_in_reif(7, x_set____00001, BOOL____00057) :: defines_var(BOOL____00057); +constraint set_in_reif(7, y_set____00002, BOOL____00143) :: defines_var(BOOL____00143); +constraint set_in_reif(8, x_set____00001, BOOL____00065) :: defines_var(BOOL____00065); +constraint set_in_reif(8, y_set____00002, BOOL____00153) :: defines_var(BOOL____00153); +constraint set_in_reif(9, x_set____00001, BOOL____00073) :: defines_var(BOOL____00073); +constraint set_in_reif(9, y_set____00002, BOOL____00163) :: defines_var(BOOL____00163); +constraint set_in_reif(x[1], y_set____00002, BOOL____00165) :: defines_var(BOOL____00165); +constraint set_in_reif(x[2], y_set____00002, BOOL____00167) :: defines_var(BOOL____00167); +constraint set_in_reif(x[3], y_set____00002, BOOL____00169) :: defines_var(BOOL____00169); +constraint set_in_reif(x[4], y_set____00002, BOOL____00171) :: defines_var(BOOL____00171); +constraint set_in_reif(y[1], x_set____00001, BOOL____00174) :: defines_var(BOOL____00174); +constraint set_in_reif(y[2], x_set____00001, BOOL____00176) :: defines_var(BOOL____00176); +constraint set_in_reif(y[3], x_set____00001, BOOL____00178) :: defines_var(BOOL____00178); +constraint set_in_reif(y[4], x_set____00001, BOOL____00180) :: defines_var(BOOL____00180); +constraint set_in_reif(y[5], x_set____00001, BOOL____00182) :: defines_var(BOOL____00182); +constraint set_in_reif(y[6], x_set____00001, BOOL____00184) :: defines_var(BOOL____00184); +solve satisfy; diff --git a/examples/flatzinc/connected.fzn b/examples/flatzinc/connected.fzn new file mode 100644 index 0000000000..1c34945a94 --- /dev/null +++ b/examples/flatzinc/connected.fzn @@ -0,0 +1,217 @@ +predicate all_different_int(array [int] of var int: x); +predicate count(array [int] of var int: x, var int: y, var int: c); +predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); +predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); +predicate table_int(array [int] of var int: x, array [int, int] of int: t); +var bool: BOOL____00001 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00003 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00005 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00007 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00009 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00011 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00013 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00015 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00017 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00019 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00021 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00023 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00025 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00027 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00029 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00038 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00039 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00042 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00043 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00044 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00045 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00048 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00049 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00050 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00051 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00054 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00055 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00056 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00057 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00060 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00061 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00062 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00063 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00066 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00067 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00068 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00074 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00075 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00076 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00077 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00078 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00079 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00080 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00081 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00082 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00083 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00084 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00085 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00086 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00087 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00088 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00089 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00090 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00091 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00092 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00093 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00094 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00095 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00096 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00097 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00098 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00099 :: is_defined_var :: var_is_introduced; +var -6..36: INT____00040 :: is_defined_var :: var_is_introduced; +var 1..36: INT____00041 :: is_defined_var :: var_is_introduced; +var -6..36: INT____00046 :: is_defined_var :: var_is_introduced; +var 1..36: INT____00047 :: is_defined_var :: var_is_introduced; +var -6..36: INT____00052 :: is_defined_var :: var_is_introduced; +var 1..36: INT____00053 :: is_defined_var :: var_is_introduced; +var -6..36: INT____00058 :: is_defined_var :: var_is_introduced; +var 1..36: INT____00059 :: is_defined_var :: var_is_introduced; +var -6..36: INT____00064 :: is_defined_var :: var_is_introduced; +var 1..36: INT____00065 :: is_defined_var :: var_is_introduced; +array [1..6] of var set of 1..6: g :: output_array([1..6]); +array [1..36] of var bool: m :: output_array([1..6, 1..6]); +array [1..6] of var 0..6: paths____00037; +constraint array_bool_and([BOOL____00042, BOOL____00039, BOOL____00039, BOOL____00038, BOOL____00038], BOOL____00044) :: defines_var(BOOL____00044); +constraint array_bool_and([BOOL____00048, BOOL____00038, BOOL____00038, BOOL____00045, BOOL____00045], BOOL____00050) :: defines_var(BOOL____00050); +constraint array_bool_and([BOOL____00054, BOOL____00045, BOOL____00045, BOOL____00051, BOOL____00051], BOOL____00056) :: defines_var(BOOL____00056); +constraint array_bool_and([BOOL____00060, BOOL____00051, BOOL____00051, BOOL____00057, BOOL____00057], BOOL____00062) :: defines_var(BOOL____00062); +constraint array_bool_and([BOOL____00066, BOOL____00057, BOOL____00057, BOOL____00063, BOOL____00063], BOOL____00068) :: defines_var(BOOL____00068); +constraint array_bool_and([BOOL____00067, BOOL____00077, BOOL____00090, BOOL____00091, BOOL____00088, BOOL____00085, BOOL____00082, BOOL____00081], BOOL____00098) :: defines_var(BOOL____00098); +constraint array_bool_and([BOOL____00074, BOOL____00080, BOOL____00067, BOOL____00061, BOOL____00055, BOOL____00049, BOOL____00082, BOOL____00081], BOOL____00095) :: defines_var(BOOL____00095); +constraint array_bool_and([BOOL____00075, BOOL____00084, BOOL____00067, BOOL____00061, BOOL____00055, BOOL____00085, BOOL____00082, BOOL____00081], BOOL____00096) :: defines_var(BOOL____00096); +constraint array_bool_and([BOOL____00076, BOOL____00087, BOOL____00067, BOOL____00061, BOOL____00088, BOOL____00085, BOOL____00082, BOOL____00081], BOOL____00097) :: defines_var(BOOL____00097); +constraint array_bool_and([BOOL____00078, BOOL____00093, BOOL____00094, BOOL____00091, BOOL____00088, BOOL____00085, BOOL____00082, BOOL____00081], BOOL____00099) :: defines_var(BOOL____00099); +constraint array_bool_or([BOOL____00043, BOOL____00044], true); +constraint array_bool_or([BOOL____00049, BOOL____00050], true); +constraint array_bool_or([BOOL____00055, BOOL____00056], true); +constraint array_bool_or([BOOL____00061, BOOL____00062], true); +constraint array_bool_or([BOOL____00067, BOOL____00068], true); +constraint array_bool_or([BOOL____00077, BOOL____00076, BOOL____00075, BOOL____00074], BOOL____00092) :: defines_var(BOOL____00092); +constraint array_bool_or([BOOL____00078, BOOL____00076, BOOL____00075, BOOL____00074], BOOL____00089) :: defines_var(BOOL____00089); +constraint array_bool_or([BOOL____00078, BOOL____00077, BOOL____00075, BOOL____00074], BOOL____00086) :: defines_var(BOOL____00086); +constraint array_bool_or([BOOL____00078, BOOL____00077, BOOL____00076, BOOL____00074], BOOL____00083) :: defines_var(BOOL____00083); +constraint array_bool_or([BOOL____00078, BOOL____00077, BOOL____00076, BOOL____00075], BOOL____00079) :: defines_var(BOOL____00079); +constraint array_bool_or([BOOL____00099, BOOL____00098, BOOL____00097, BOOL____00095, BOOL____00096], true); +constraint array_var_bool_element(INT____00041, m, BOOL____00042) :: defines_var(BOOL____00042); +constraint array_var_bool_element(INT____00047, m, BOOL____00048) :: defines_var(BOOL____00048); +constraint array_var_bool_element(INT____00053, m, BOOL____00054) :: defines_var(BOOL____00054); +constraint array_var_bool_element(INT____00059, m, BOOL____00060) :: defines_var(BOOL____00060); +constraint array_var_bool_element(INT____00065, m, BOOL____00066) :: defines_var(BOOL____00066); +constraint bool_eq(m[2], BOOL____00001); +constraint bool_eq(m[3], BOOL____00003); +constraint bool_eq(m[4], BOOL____00005); +constraint bool_eq(m[5], BOOL____00007); +constraint bool_eq(m[6], BOOL____00009); +constraint bool_eq(m[7], BOOL____00001); +constraint bool_eq(m[9], BOOL____00011); +constraint bool_eq(m[10], BOOL____00013); +constraint bool_eq(m[11], BOOL____00015); +constraint bool_eq(m[12], BOOL____00017); +constraint bool_eq(m[13], BOOL____00003); +constraint bool_eq(m[14], BOOL____00011); +constraint bool_eq(m[16], BOOL____00019); +constraint bool_eq(m[17], BOOL____00021); +constraint bool_eq(m[18], BOOL____00023); +constraint bool_eq(m[19], BOOL____00005); +constraint bool_eq(m[20], BOOL____00013); +constraint bool_eq(m[21], BOOL____00019); +constraint bool_eq(m[23], BOOL____00025); +constraint bool_eq(m[24], BOOL____00027); +constraint bool_eq(m[25], BOOL____00007); +constraint bool_eq(m[26], BOOL____00015); +constraint bool_eq(m[27], BOOL____00021); +constraint bool_eq(m[28], BOOL____00025); +constraint bool_eq(m[30], BOOL____00029); +constraint bool_eq(m[31], BOOL____00009); +constraint bool_eq(m[32], BOOL____00017); +constraint bool_eq(m[33], BOOL____00023); +constraint bool_eq(m[34], BOOL____00027); +constraint bool_eq(m[35], BOOL____00029); +constraint bool_eq_reif(BOOL____00079, false, BOOL____00080) :: defines_var(BOOL____00080); +constraint bool_eq_reif(BOOL____00083, false, BOOL____00084) :: defines_var(BOOL____00084); +constraint bool_eq_reif(BOOL____00086, false, BOOL____00087) :: defines_var(BOOL____00087); +constraint bool_eq_reif(BOOL____00089, false, BOOL____00090) :: defines_var(BOOL____00090); +constraint bool_eq_reif(BOOL____00092, false, BOOL____00093) :: defines_var(BOOL____00093); +constraint int_eq(paths____00037[1], 5); +constraint int_eq_reif(INT____00040, INT____00041, BOOL____00039); +constraint int_eq_reif(INT____00046, INT____00047, BOOL____00038); +constraint int_eq_reif(INT____00052, INT____00053, BOOL____00045); +constraint int_eq_reif(INT____00058, INT____00059, BOOL____00051); +constraint int_eq_reif(INT____00064, INT____00065, BOOL____00057); +constraint int_eq_reif(paths____00037[2], 0, BOOL____00043) :: defines_var(BOOL____00043); +constraint int_eq_reif(paths____00037[2], 6, BOOL____00074) :: defines_var(BOOL____00074); +constraint int_eq_reif(paths____00037[3], 0, BOOL____00049) :: defines_var(BOOL____00049); +constraint int_eq_reif(paths____00037[3], 6, BOOL____00075) :: defines_var(BOOL____00075); +constraint int_eq_reif(paths____00037[4], 0, BOOL____00055) :: defines_var(BOOL____00055); +constraint int_eq_reif(paths____00037[4], 6, BOOL____00076) :: defines_var(BOOL____00076); +constraint int_eq_reif(paths____00037[5], 0, BOOL____00061) :: defines_var(BOOL____00061); +constraint int_eq_reif(paths____00037[5], 6, BOOL____00077) :: defines_var(BOOL____00077); +constraint int_eq_reif(paths____00037[6], 0, BOOL____00067) :: defines_var(BOOL____00067); +constraint int_eq_reif(paths____00037[6], 6, BOOL____00078) :: defines_var(BOOL____00078); +constraint int_le_reif(1, paths____00037[1], BOOL____00039) :: defines_var(BOOL____00039); +constraint int_le_reif(1, paths____00037[2], BOOL____00038) :: defines_var(BOOL____00038); +constraint int_le_reif(1, paths____00037[3], BOOL____00045) :: defines_var(BOOL____00045); +constraint int_le_reif(1, paths____00037[4], BOOL____00051) :: defines_var(BOOL____00051); +constraint int_le_reif(1, paths____00037[5], BOOL____00057) :: defines_var(BOOL____00057); +constraint int_le_reif(1, paths____00037[6], BOOL____00063) :: defines_var(BOOL____00063); +constraint int_lin_eq([-1, 6, 1], [INT____00040, paths____00037[1], paths____00037[2]], 6) :: defines_var(INT____00040) :: domain; +constraint int_lin_eq([-1, 6, 1], [INT____00046, paths____00037[2], paths____00037[3]], 6) :: defines_var(INT____00046) :: domain; +constraint int_lin_eq([-1, 6, 1], [INT____00052, paths____00037[3], paths____00037[4]], 6) :: defines_var(INT____00052) :: domain; +constraint int_lin_eq([-1, 6, 1], [INT____00058, paths____00037[4], paths____00037[5]], 6) :: defines_var(INT____00058) :: domain; +constraint int_lin_eq([-1, 6, 1], [INT____00064, paths____00037[5], paths____00037[6]], 6) :: defines_var(INT____00064) :: domain; +constraint int_lt_reif(0, paths____00037[1], BOOL____00081) :: defines_var(BOOL____00081); +constraint int_lt_reif(0, paths____00037[2], BOOL____00082) :: defines_var(BOOL____00082); +constraint int_lt_reif(0, paths____00037[3], BOOL____00085) :: defines_var(BOOL____00085); +constraint int_lt_reif(0, paths____00037[4], BOOL____00088) :: defines_var(BOOL____00088); +constraint int_lt_reif(0, paths____00037[5], BOOL____00091) :: defines_var(BOOL____00091); +constraint int_lt_reif(0, paths____00037[6], BOOL____00094) :: defines_var(BOOL____00094); +constraint set_eq({1, 3}, g[2]); +constraint set_eq(2..2, g[1]); +constraint set_eq({2, 4}, g[3]); +constraint set_eq({3, 5}, g[4]); +constraint set_eq({4, 6}, g[5]); +constraint set_eq(5..5, g[6]); +constraint set_in_reif(1, g[1], m[1]); +constraint set_in_reif(1, g[2], BOOL____00001); +constraint set_in_reif(1, g[3], BOOL____00003); +constraint set_in_reif(1, g[4], BOOL____00005); +constraint set_in_reif(1, g[5], BOOL____00007); +constraint set_in_reif(1, g[6], BOOL____00009); +constraint set_in_reif(2, g[1], BOOL____00001) :: defines_var(BOOL____00001); +constraint set_in_reif(2, g[2], m[8]); +constraint set_in_reif(2, g[3], BOOL____00011); +constraint set_in_reif(2, g[4], BOOL____00013); +constraint set_in_reif(2, g[5], BOOL____00015); +constraint set_in_reif(2, g[6], BOOL____00017); +constraint set_in_reif(3, g[1], BOOL____00003) :: defines_var(BOOL____00003); +constraint set_in_reif(3, g[2], BOOL____00011) :: defines_var(BOOL____00011); +constraint set_in_reif(3, g[3], m[15]); +constraint set_in_reif(3, g[4], BOOL____00019); +constraint set_in_reif(3, g[5], BOOL____00021); +constraint set_in_reif(3, g[6], BOOL____00023); +constraint set_in_reif(4, g[1], BOOL____00005) :: defines_var(BOOL____00005); +constraint set_in_reif(4, g[2], BOOL____00013) :: defines_var(BOOL____00013); +constraint set_in_reif(4, g[3], BOOL____00019) :: defines_var(BOOL____00019); +constraint set_in_reif(4, g[4], m[22]); +constraint set_in_reif(4, g[5], BOOL____00025); +constraint set_in_reif(4, g[6], BOOL____00027); +constraint set_in_reif(5, g[1], BOOL____00007) :: defines_var(BOOL____00007); +constraint set_in_reif(5, g[2], BOOL____00015) :: defines_var(BOOL____00015); +constraint set_in_reif(5, g[3], BOOL____00021) :: defines_var(BOOL____00021); +constraint set_in_reif(5, g[4], BOOL____00025) :: defines_var(BOOL____00025); +constraint set_in_reif(5, g[5], m[29]); +constraint set_in_reif(5, g[6], BOOL____00029); +constraint set_in_reif(6, g[1], BOOL____00009) :: defines_var(BOOL____00009); +constraint set_in_reif(6, g[2], BOOL____00017) :: defines_var(BOOL____00017); +constraint set_in_reif(6, g[3], BOOL____00023) :: defines_var(BOOL____00023); +constraint set_in_reif(6, g[4], BOOL____00027) :: defines_var(BOOL____00027); +constraint set_in_reif(6, g[5], BOOL____00029) :: defines_var(BOOL____00029); +constraint set_in_reif(6, g[6], m[36]); +solve satisfy; diff --git a/examples/flatzinc/cube_sum.fzn b/examples/flatzinc/cube_sum.fzn new file mode 100644 index 0000000000..68848aa230 --- /dev/null +++ b/examples/flatzinc/cube_sum.fzn @@ -0,0 +1,570 @@ +predicate all_different_int(array [int] of var int: x); +predicate count(array [int] of var int: x, var int: y, var int: c); +predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); +predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); +predicate table_int(array [int] of var int: x, array [int, int] of int: t); +var bool: BOOL____00001 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00003 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00005 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00007 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00009 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00011 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00013 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00015 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00017 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00019 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00022 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00023 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00024 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00025 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00026 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00027 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00028 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00029 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00030 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00031 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00032 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00033 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00034 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00035 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00036 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00037 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00038 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00039 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00040 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00041 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00042 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00043 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00044 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00045 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00046 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00047 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00048 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00049 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00050 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00051 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00052 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00053 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00054 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00055 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00056 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00057 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00058 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00059 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00060 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00061 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00062 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00063 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00064 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00065 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00066 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00067 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00068 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00069 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00070 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00071 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00072 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00073 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00074 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00075 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00076 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00077 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00078 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00079 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00080 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00081 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00082 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00083 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00084 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00085 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00086 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00087 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00088 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00089 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00090 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00091 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00092 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00093 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00094 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00095 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00096 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00097 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00098 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00099 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00100 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00101 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00102 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00103 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00104 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00105 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00106 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00107 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00108 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00109 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00110 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00111 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00112 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00113 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00114 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00115 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00116 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00117 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00118 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00119 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00120 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00121 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00122 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00123 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00124 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00125 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00126 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00127 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00128 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00129 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00130 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00131 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00132 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00133 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00134 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00135 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00136 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00137 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00138 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00139 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00140 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00141 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00142 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00143 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00144 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00145 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00146 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00147 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00148 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00149 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00150 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00151 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00152 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00153 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00154 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00155 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00156 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00157 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00158 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00159 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00160 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00161 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00162 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00163 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00164 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00165 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00166 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00167 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00168 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00169 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00170 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00171 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00172 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00173 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00174 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00175 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00176 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00177 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00178 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00179 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00180 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00181 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00182 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00183 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00184 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00185 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00186 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00187 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00188 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00189 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00190 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00191 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00192 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00193 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00194 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00195 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00196 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00197 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00198 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00199 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00200 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00201 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00002 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00004 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00006 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00008 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00010 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00012 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00014 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00016 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00018 :: is_defined_var :: var_is_introduced; +var 0..1: INT____00020 :: is_defined_var :: var_is_introduced; +var 2..10: INT____00021 :: is_defined_var :: var_is_introduced; +var int: INT____00202 :: is_defined_var :: var_is_introduced; +var int: INT____00203 :: is_defined_var :: var_is_introduced; +var int: INT____00204 :: is_defined_var :: var_is_introduced; +var int: INT____00205 :: is_defined_var :: var_is_introduced; +var int: INT____00206 :: is_defined_var :: var_is_introduced; +var int: INT____00207 :: is_defined_var :: var_is_introduced; +var int: INT____00208 :: is_defined_var :: var_is_introduced; +var int: INT____00209 :: is_defined_var :: var_is_introduced; +var int: INT____00210 :: is_defined_var :: var_is_introduced; +var int: INT____00211 :: is_defined_var :: var_is_introduced; +var int: INT____00212 :: is_defined_var :: var_is_introduced; +var int: INT____00213 :: is_defined_var :: var_is_introduced; +var int: INT____00214 :: is_defined_var :: var_is_introduced; +var int: INT____00215 :: is_defined_var :: var_is_introduced; +var int: INT____00216 :: is_defined_var :: var_is_introduced; +var int: INT____00217 :: is_defined_var :: var_is_introduced; +var int: INT____00218 :: is_defined_var :: var_is_introduced; +var int: INT____00219 :: is_defined_var :: var_is_introduced; +var int: INT____00220 :: is_defined_var :: var_is_introduced; +var int: INT____00221 :: is_defined_var :: var_is_introduced; +array [1..10] of var int: x :: output_array([1..10]); +var 0..10: z :: output_var = INT____00021; +constraint array_bool_and([BOOL____00001, BOOL____00003], BOOL____00023) :: defines_var(BOOL____00023); +constraint array_bool_and([BOOL____00001, BOOL____00005], BOOL____00025) :: defines_var(BOOL____00025); +constraint array_bool_and([BOOL____00001, BOOL____00007], BOOL____00027) :: defines_var(BOOL____00027); +constraint array_bool_and([BOOL____00001, BOOL____00009], BOOL____00029) :: defines_var(BOOL____00029); +constraint array_bool_and([BOOL____00001, BOOL____00011], BOOL____00031) :: defines_var(BOOL____00031); +constraint array_bool_and([BOOL____00001, BOOL____00013], BOOL____00033) :: defines_var(BOOL____00033); +constraint array_bool_and([BOOL____00001, BOOL____00015], BOOL____00035) :: defines_var(BOOL____00035); +constraint array_bool_and([BOOL____00001, BOOL____00017], BOOL____00037) :: defines_var(BOOL____00037); +constraint array_bool_and([BOOL____00001, BOOL____00019], BOOL____00039) :: defines_var(BOOL____00039); +constraint array_bool_and([BOOL____00003, BOOL____00001], BOOL____00041) :: defines_var(BOOL____00041); +constraint array_bool_and([BOOL____00003, BOOL____00005], BOOL____00043) :: defines_var(BOOL____00043); +constraint array_bool_and([BOOL____00003, BOOL____00007], BOOL____00045) :: defines_var(BOOL____00045); +constraint array_bool_and([BOOL____00003, BOOL____00009], BOOL____00047) :: defines_var(BOOL____00047); +constraint array_bool_and([BOOL____00003, BOOL____00011], BOOL____00049) :: defines_var(BOOL____00049); +constraint array_bool_and([BOOL____00003, BOOL____00013], BOOL____00051) :: defines_var(BOOL____00051); +constraint array_bool_and([BOOL____00003, BOOL____00015], BOOL____00053) :: defines_var(BOOL____00053); +constraint array_bool_and([BOOL____00003, BOOL____00017], BOOL____00055) :: defines_var(BOOL____00055); +constraint array_bool_and([BOOL____00003, BOOL____00019], BOOL____00057) :: defines_var(BOOL____00057); +constraint array_bool_and([BOOL____00005, BOOL____00001], BOOL____00059) :: defines_var(BOOL____00059); +constraint array_bool_and([BOOL____00005, BOOL____00003], BOOL____00061) :: defines_var(BOOL____00061); +constraint array_bool_and([BOOL____00005, BOOL____00007], BOOL____00063) :: defines_var(BOOL____00063); +constraint array_bool_and([BOOL____00005, BOOL____00009], BOOL____00065) :: defines_var(BOOL____00065); +constraint array_bool_and([BOOL____00005, BOOL____00011], BOOL____00067) :: defines_var(BOOL____00067); +constraint array_bool_and([BOOL____00005, BOOL____00013], BOOL____00069) :: defines_var(BOOL____00069); +constraint array_bool_and([BOOL____00005, BOOL____00015], BOOL____00071) :: defines_var(BOOL____00071); +constraint array_bool_and([BOOL____00005, BOOL____00017], BOOL____00073) :: defines_var(BOOL____00073); +constraint array_bool_and([BOOL____00005, BOOL____00019], BOOL____00075) :: defines_var(BOOL____00075); +constraint array_bool_and([BOOL____00007, BOOL____00001], BOOL____00077) :: defines_var(BOOL____00077); +constraint array_bool_and([BOOL____00007, BOOL____00003], BOOL____00079) :: defines_var(BOOL____00079); +constraint array_bool_and([BOOL____00007, BOOL____00005], BOOL____00081) :: defines_var(BOOL____00081); +constraint array_bool_and([BOOL____00007, BOOL____00009], BOOL____00083) :: defines_var(BOOL____00083); +constraint array_bool_and([BOOL____00007, BOOL____00011], BOOL____00085) :: defines_var(BOOL____00085); +constraint array_bool_and([BOOL____00007, BOOL____00013], BOOL____00087) :: defines_var(BOOL____00087); +constraint array_bool_and([BOOL____00007, BOOL____00015], BOOL____00089) :: defines_var(BOOL____00089); +constraint array_bool_and([BOOL____00007, BOOL____00017], BOOL____00091) :: defines_var(BOOL____00091); +constraint array_bool_and([BOOL____00007, BOOL____00019], BOOL____00093) :: defines_var(BOOL____00093); +constraint array_bool_and([BOOL____00009, BOOL____00001], BOOL____00095) :: defines_var(BOOL____00095); +constraint array_bool_and([BOOL____00009, BOOL____00003], BOOL____00097) :: defines_var(BOOL____00097); +constraint array_bool_and([BOOL____00009, BOOL____00005], BOOL____00099) :: defines_var(BOOL____00099); +constraint array_bool_and([BOOL____00009, BOOL____00007], BOOL____00101) :: defines_var(BOOL____00101); +constraint array_bool_and([BOOL____00009, BOOL____00011], BOOL____00103) :: defines_var(BOOL____00103); +constraint array_bool_and([BOOL____00009, BOOL____00013], BOOL____00105) :: defines_var(BOOL____00105); +constraint array_bool_and([BOOL____00009, BOOL____00015], BOOL____00107) :: defines_var(BOOL____00107); +constraint array_bool_and([BOOL____00009, BOOL____00017], BOOL____00109) :: defines_var(BOOL____00109); +constraint array_bool_and([BOOL____00009, BOOL____00019], BOOL____00111) :: defines_var(BOOL____00111); +constraint array_bool_and([BOOL____00011, BOOL____00001], BOOL____00113) :: defines_var(BOOL____00113); +constraint array_bool_and([BOOL____00011, BOOL____00003], BOOL____00115) :: defines_var(BOOL____00115); +constraint array_bool_and([BOOL____00011, BOOL____00005], BOOL____00117) :: defines_var(BOOL____00117); +constraint array_bool_and([BOOL____00011, BOOL____00007], BOOL____00119) :: defines_var(BOOL____00119); +constraint array_bool_and([BOOL____00011, BOOL____00009], BOOL____00121) :: defines_var(BOOL____00121); +constraint array_bool_and([BOOL____00011, BOOL____00013], BOOL____00123) :: defines_var(BOOL____00123); +constraint array_bool_and([BOOL____00011, BOOL____00015], BOOL____00125) :: defines_var(BOOL____00125); +constraint array_bool_and([BOOL____00011, BOOL____00017], BOOL____00127) :: defines_var(BOOL____00127); +constraint array_bool_and([BOOL____00011, BOOL____00019], BOOL____00129) :: defines_var(BOOL____00129); +constraint array_bool_and([BOOL____00013, BOOL____00001], BOOL____00131) :: defines_var(BOOL____00131); +constraint array_bool_and([BOOL____00013, BOOL____00003], BOOL____00133) :: defines_var(BOOL____00133); +constraint array_bool_and([BOOL____00013, BOOL____00005], BOOL____00135) :: defines_var(BOOL____00135); +constraint array_bool_and([BOOL____00013, BOOL____00007], BOOL____00137) :: defines_var(BOOL____00137); +constraint array_bool_and([BOOL____00013, BOOL____00009], BOOL____00139) :: defines_var(BOOL____00139); +constraint array_bool_and([BOOL____00013, BOOL____00011], BOOL____00141) :: defines_var(BOOL____00141); +constraint array_bool_and([BOOL____00013, BOOL____00015], BOOL____00143) :: defines_var(BOOL____00143); +constraint array_bool_and([BOOL____00013, BOOL____00017], BOOL____00145) :: defines_var(BOOL____00145); +constraint array_bool_and([BOOL____00013, BOOL____00019], BOOL____00147) :: defines_var(BOOL____00147); +constraint array_bool_and([BOOL____00015, BOOL____00001], BOOL____00149) :: defines_var(BOOL____00149); +constraint array_bool_and([BOOL____00015, BOOL____00003], BOOL____00151) :: defines_var(BOOL____00151); +constraint array_bool_and([BOOL____00015, BOOL____00005], BOOL____00153) :: defines_var(BOOL____00153); +constraint array_bool_and([BOOL____00015, BOOL____00007], BOOL____00155) :: defines_var(BOOL____00155); +constraint array_bool_and([BOOL____00015, BOOL____00009], BOOL____00157) :: defines_var(BOOL____00157); +constraint array_bool_and([BOOL____00015, BOOL____00011], BOOL____00159) :: defines_var(BOOL____00159); +constraint array_bool_and([BOOL____00015, BOOL____00013], BOOL____00161) :: defines_var(BOOL____00161); +constraint array_bool_and([BOOL____00015, BOOL____00017], BOOL____00163) :: defines_var(BOOL____00163); +constraint array_bool_and([BOOL____00015, BOOL____00019], BOOL____00165) :: defines_var(BOOL____00165); +constraint array_bool_and([BOOL____00017, BOOL____00001], BOOL____00167) :: defines_var(BOOL____00167); +constraint array_bool_and([BOOL____00017, BOOL____00003], BOOL____00169) :: defines_var(BOOL____00169); +constraint array_bool_and([BOOL____00017, BOOL____00005], BOOL____00171) :: defines_var(BOOL____00171); +constraint array_bool_and([BOOL____00017, BOOL____00007], BOOL____00173) :: defines_var(BOOL____00173); +constraint array_bool_and([BOOL____00017, BOOL____00009], BOOL____00175) :: defines_var(BOOL____00175); +constraint array_bool_and([BOOL____00017, BOOL____00011], BOOL____00177) :: defines_var(BOOL____00177); +constraint array_bool_and([BOOL____00017, BOOL____00013], BOOL____00179) :: defines_var(BOOL____00179); +constraint array_bool_and([BOOL____00017, BOOL____00015], BOOL____00181) :: defines_var(BOOL____00181); +constraint array_bool_and([BOOL____00017, BOOL____00019], BOOL____00183) :: defines_var(BOOL____00183); +constraint array_bool_and([BOOL____00019, BOOL____00001], BOOL____00185) :: defines_var(BOOL____00185); +constraint array_bool_and([BOOL____00019, BOOL____00003], BOOL____00187) :: defines_var(BOOL____00187); +constraint array_bool_and([BOOL____00019, BOOL____00005], BOOL____00189) :: defines_var(BOOL____00189); +constraint array_bool_and([BOOL____00019, BOOL____00007], BOOL____00191) :: defines_var(BOOL____00191); +constraint array_bool_and([BOOL____00019, BOOL____00009], BOOL____00193) :: defines_var(BOOL____00193); +constraint array_bool_and([BOOL____00019, BOOL____00011], BOOL____00195) :: defines_var(BOOL____00195); +constraint array_bool_and([BOOL____00019, BOOL____00013], BOOL____00197) :: defines_var(BOOL____00197); +constraint array_bool_and([BOOL____00019, BOOL____00015], BOOL____00199) :: defines_var(BOOL____00199); +constraint array_bool_and([BOOL____00019, BOOL____00017], BOOL____00201) :: defines_var(BOOL____00201); +constraint bool2int(BOOL____00001, INT____00002) :: defines_var(INT____00002); +constraint bool2int(BOOL____00003, INT____00004) :: defines_var(INT____00004); +constraint bool2int(BOOL____00005, INT____00006) :: defines_var(INT____00006); +constraint bool2int(BOOL____00007, INT____00008) :: defines_var(INT____00008); +constraint bool2int(BOOL____00009, INT____00010) :: defines_var(INT____00010); +constraint bool2int(BOOL____00011, INT____00012) :: defines_var(INT____00012); +constraint bool2int(BOOL____00013, INT____00014) :: defines_var(INT____00014); +constraint bool2int(BOOL____00015, INT____00016) :: defines_var(INT____00016); +constraint bool2int(BOOL____00017, INT____00018) :: defines_var(INT____00018); +constraint bool2int(BOOL____00019, INT____00020) :: defines_var(INT____00020); +constraint bool_le(BOOL____00023, BOOL____00022); +constraint bool_le(BOOL____00025, BOOL____00024); +constraint bool_le(BOOL____00027, BOOL____00026); +constraint bool_le(BOOL____00029, BOOL____00028); +constraint bool_le(BOOL____00031, BOOL____00030); +constraint bool_le(BOOL____00033, BOOL____00032); +constraint bool_le(BOOL____00035, BOOL____00034); +constraint bool_le(BOOL____00037, BOOL____00036); +constraint bool_le(BOOL____00039, BOOL____00038); +constraint bool_le(BOOL____00041, BOOL____00040); +constraint bool_le(BOOL____00043, BOOL____00042); +constraint bool_le(BOOL____00045, BOOL____00044); +constraint bool_le(BOOL____00047, BOOL____00046); +constraint bool_le(BOOL____00049, BOOL____00048); +constraint bool_le(BOOL____00051, BOOL____00050); +constraint bool_le(BOOL____00053, BOOL____00052); +constraint bool_le(BOOL____00055, BOOL____00054); +constraint bool_le(BOOL____00057, BOOL____00056); +constraint bool_le(BOOL____00059, BOOL____00058); +constraint bool_le(BOOL____00061, BOOL____00060); +constraint bool_le(BOOL____00063, BOOL____00062); +constraint bool_le(BOOL____00065, BOOL____00064); +constraint bool_le(BOOL____00067, BOOL____00066); +constraint bool_le(BOOL____00069, BOOL____00068); +constraint bool_le(BOOL____00071, BOOL____00070); +constraint bool_le(BOOL____00073, BOOL____00072); +constraint bool_le(BOOL____00075, BOOL____00074); +constraint bool_le(BOOL____00077, BOOL____00076); +constraint bool_le(BOOL____00079, BOOL____00078); +constraint bool_le(BOOL____00081, BOOL____00080); +constraint bool_le(BOOL____00083, BOOL____00082); +constraint bool_le(BOOL____00085, BOOL____00084); +constraint bool_le(BOOL____00087, BOOL____00086); +constraint bool_le(BOOL____00089, BOOL____00088); +constraint bool_le(BOOL____00091, BOOL____00090); +constraint bool_le(BOOL____00093, BOOL____00092); +constraint bool_le(BOOL____00095, BOOL____00094); +constraint bool_le(BOOL____00097, BOOL____00096); +constraint bool_le(BOOL____00099, BOOL____00098); +constraint bool_le(BOOL____00101, BOOL____00100); +constraint bool_le(BOOL____00103, BOOL____00102); +constraint bool_le(BOOL____00105, BOOL____00104); +constraint bool_le(BOOL____00107, BOOL____00106); +constraint bool_le(BOOL____00109, BOOL____00108); +constraint bool_le(BOOL____00111, BOOL____00110); +constraint bool_le(BOOL____00113, BOOL____00112); +constraint bool_le(BOOL____00115, BOOL____00114); +constraint bool_le(BOOL____00117, BOOL____00116); +constraint bool_le(BOOL____00119, BOOL____00118); +constraint bool_le(BOOL____00121, BOOL____00120); +constraint bool_le(BOOL____00123, BOOL____00122); +constraint bool_le(BOOL____00125, BOOL____00124); +constraint bool_le(BOOL____00127, BOOL____00126); +constraint bool_le(BOOL____00129, BOOL____00128); +constraint bool_le(BOOL____00131, BOOL____00130); +constraint bool_le(BOOL____00133, BOOL____00132); +constraint bool_le(BOOL____00135, BOOL____00134); +constraint bool_le(BOOL____00137, BOOL____00136); +constraint bool_le(BOOL____00139, BOOL____00138); +constraint bool_le(BOOL____00141, BOOL____00140); +constraint bool_le(BOOL____00143, BOOL____00142); +constraint bool_le(BOOL____00145, BOOL____00144); +constraint bool_le(BOOL____00147, BOOL____00146); +constraint bool_le(BOOL____00149, BOOL____00148); +constraint bool_le(BOOL____00151, BOOL____00150); +constraint bool_le(BOOL____00153, BOOL____00152); +constraint bool_le(BOOL____00155, BOOL____00154); +constraint bool_le(BOOL____00157, BOOL____00156); +constraint bool_le(BOOL____00159, BOOL____00158); +constraint bool_le(BOOL____00161, BOOL____00160); +constraint bool_le(BOOL____00163, BOOL____00162); +constraint bool_le(BOOL____00165, BOOL____00164); +constraint bool_le(BOOL____00167, BOOL____00166); +constraint bool_le(BOOL____00169, BOOL____00168); +constraint bool_le(BOOL____00171, BOOL____00170); +constraint bool_le(BOOL____00173, BOOL____00172); +constraint bool_le(BOOL____00175, BOOL____00174); +constraint bool_le(BOOL____00177, BOOL____00176); +constraint bool_le(BOOL____00179, BOOL____00178); +constraint bool_le(BOOL____00181, BOOL____00180); +constraint bool_le(BOOL____00183, BOOL____00182); +constraint bool_le(BOOL____00185, BOOL____00184); +constraint bool_le(BOOL____00187, BOOL____00186); +constraint bool_le(BOOL____00189, BOOL____00188); +constraint bool_le(BOOL____00191, BOOL____00190); +constraint bool_le(BOOL____00193, BOOL____00192); +constraint bool_le(BOOL____00195, BOOL____00194); +constraint bool_le(BOOL____00197, BOOL____00196); +constraint bool_le(BOOL____00199, BOOL____00198); +constraint bool_le(BOOL____00201, BOOL____00200); +constraint int_le(0, x[1]); +constraint int_le(0, x[2]); +constraint int_le(0, x[3]); +constraint int_le(0, x[4]); +constraint int_le(0, x[5]); +constraint int_le(0, x[6]); +constraint int_le(0, x[7]); +constraint int_le(0, x[8]); +constraint int_le(0, x[9]); +constraint int_le(0, x[10]); +constraint int_le(x[1], 1000000); +constraint int_le(x[1], x[2]); +constraint int_le(x[2], 1000000); +constraint int_le(x[2], x[3]); +constraint int_le(x[3], 1000000); +constraint int_le(x[3], x[4]); +constraint int_le(x[4], 1000000); +constraint int_le(x[4], x[5]); +constraint int_le(x[5], 1000000); +constraint int_le(x[5], x[6]); +constraint int_le(x[6], 1000000); +constraint int_le(x[6], x[7]); +constraint int_le(x[7], 1000000); +constraint int_le(x[7], x[8]); +constraint int_le(x[8], 1000000); +constraint int_le(x[8], x[9]); +constraint int_le(x[9], 1000000); +constraint int_le(x[9], x[10]); +constraint int_le(x[10], 1000000); +constraint int_lin_eq([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [INT____00203, INT____00205, INT____00207, INT____00209, INT____00211, INT____00213, INT____00215, INT____00217, INT____00219, INT____00221], -1000000); +constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [INT____00021, INT____00002, INT____00004, INT____00006, INT____00008, INT____00010, INT____00012, INT____00014, INT____00016, INT____00018, INT____00020], 0) :: defines_var(INT____00021); +constraint int_lt_reif(0, x[1], BOOL____00001) :: defines_var(BOOL____00001); +constraint int_lt_reif(0, x[2], BOOL____00003) :: defines_var(BOOL____00003); +constraint int_lt_reif(0, x[3], BOOL____00005) :: defines_var(BOOL____00005); +constraint int_lt_reif(0, x[4], BOOL____00007) :: defines_var(BOOL____00007); +constraint int_lt_reif(0, x[5], BOOL____00009) :: defines_var(BOOL____00009); +constraint int_lt_reif(0, x[6], BOOL____00011) :: defines_var(BOOL____00011); +constraint int_lt_reif(0, x[7], BOOL____00013) :: defines_var(BOOL____00013); +constraint int_lt_reif(0, x[8], BOOL____00015) :: defines_var(BOOL____00015); +constraint int_lt_reif(0, x[9], BOOL____00017) :: defines_var(BOOL____00017); +constraint int_lt_reif(0, x[10], BOOL____00019) :: defines_var(BOOL____00019); +constraint int_ne_reif(x[1], x[2], BOOL____00022) :: defines_var(BOOL____00022); +constraint int_ne_reif(x[1], x[3], BOOL____00024) :: defines_var(BOOL____00024); +constraint int_ne_reif(x[1], x[4], BOOL____00026) :: defines_var(BOOL____00026); +constraint int_ne_reif(x[1], x[5], BOOL____00028) :: defines_var(BOOL____00028); +constraint int_ne_reif(x[1], x[6], BOOL____00030) :: defines_var(BOOL____00030); +constraint int_ne_reif(x[1], x[7], BOOL____00032) :: defines_var(BOOL____00032); +constraint int_ne_reif(x[1], x[8], BOOL____00034) :: defines_var(BOOL____00034); +constraint int_ne_reif(x[1], x[9], BOOL____00036) :: defines_var(BOOL____00036); +constraint int_ne_reif(x[1], x[10], BOOL____00038) :: defines_var(BOOL____00038); +constraint int_ne_reif(x[2], x[1], BOOL____00040) :: defines_var(BOOL____00040); +constraint int_ne_reif(x[2], x[3], BOOL____00042) :: defines_var(BOOL____00042); +constraint int_ne_reif(x[2], x[4], BOOL____00044) :: defines_var(BOOL____00044); +constraint int_ne_reif(x[2], x[5], BOOL____00046) :: defines_var(BOOL____00046); +constraint int_ne_reif(x[2], x[6], BOOL____00048) :: defines_var(BOOL____00048); +constraint int_ne_reif(x[2], x[7], BOOL____00050) :: defines_var(BOOL____00050); +constraint int_ne_reif(x[2], x[8], BOOL____00052) :: defines_var(BOOL____00052); +constraint int_ne_reif(x[2], x[9], BOOL____00054) :: defines_var(BOOL____00054); +constraint int_ne_reif(x[2], x[10], BOOL____00056) :: defines_var(BOOL____00056); +constraint int_ne_reif(x[3], x[1], BOOL____00058) :: defines_var(BOOL____00058); +constraint int_ne_reif(x[3], x[2], BOOL____00060) :: defines_var(BOOL____00060); +constraint int_ne_reif(x[3], x[4], BOOL____00062) :: defines_var(BOOL____00062); +constraint int_ne_reif(x[3], x[5], BOOL____00064) :: defines_var(BOOL____00064); +constraint int_ne_reif(x[3], x[6], BOOL____00066) :: defines_var(BOOL____00066); +constraint int_ne_reif(x[3], x[7], BOOL____00068) :: defines_var(BOOL____00068); +constraint int_ne_reif(x[3], x[8], BOOL____00070) :: defines_var(BOOL____00070); +constraint int_ne_reif(x[3], x[9], BOOL____00072) :: defines_var(BOOL____00072); +constraint int_ne_reif(x[3], x[10], BOOL____00074) :: defines_var(BOOL____00074); +constraint int_ne_reif(x[4], x[1], BOOL____00076) :: defines_var(BOOL____00076); +constraint int_ne_reif(x[4], x[2], BOOL____00078) :: defines_var(BOOL____00078); +constraint int_ne_reif(x[4], x[3], BOOL____00080) :: defines_var(BOOL____00080); +constraint int_ne_reif(x[4], x[5], BOOL____00082) :: defines_var(BOOL____00082); +constraint int_ne_reif(x[4], x[6], BOOL____00084) :: defines_var(BOOL____00084); +constraint int_ne_reif(x[4], x[7], BOOL____00086) :: defines_var(BOOL____00086); +constraint int_ne_reif(x[4], x[8], BOOL____00088) :: defines_var(BOOL____00088); +constraint int_ne_reif(x[4], x[9], BOOL____00090) :: defines_var(BOOL____00090); +constraint int_ne_reif(x[4], x[10], BOOL____00092) :: defines_var(BOOL____00092); +constraint int_ne_reif(x[5], x[1], BOOL____00094) :: defines_var(BOOL____00094); +constraint int_ne_reif(x[5], x[2], BOOL____00096) :: defines_var(BOOL____00096); +constraint int_ne_reif(x[5], x[3], BOOL____00098) :: defines_var(BOOL____00098); +constraint int_ne_reif(x[5], x[4], BOOL____00100) :: defines_var(BOOL____00100); +constraint int_ne_reif(x[5], x[6], BOOL____00102) :: defines_var(BOOL____00102); +constraint int_ne_reif(x[5], x[7], BOOL____00104) :: defines_var(BOOL____00104); +constraint int_ne_reif(x[5], x[8], BOOL____00106) :: defines_var(BOOL____00106); +constraint int_ne_reif(x[5], x[9], BOOL____00108) :: defines_var(BOOL____00108); +constraint int_ne_reif(x[5], x[10], BOOL____00110) :: defines_var(BOOL____00110); +constraint int_ne_reif(x[6], x[1], BOOL____00112) :: defines_var(BOOL____00112); +constraint int_ne_reif(x[6], x[2], BOOL____00114) :: defines_var(BOOL____00114); +constraint int_ne_reif(x[6], x[3], BOOL____00116) :: defines_var(BOOL____00116); +constraint int_ne_reif(x[6], x[4], BOOL____00118) :: defines_var(BOOL____00118); +constraint int_ne_reif(x[6], x[5], BOOL____00120) :: defines_var(BOOL____00120); +constraint int_ne_reif(x[6], x[7], BOOL____00122) :: defines_var(BOOL____00122); +constraint int_ne_reif(x[6], x[8], BOOL____00124) :: defines_var(BOOL____00124); +constraint int_ne_reif(x[6], x[9], BOOL____00126) :: defines_var(BOOL____00126); +constraint int_ne_reif(x[6], x[10], BOOL____00128) :: defines_var(BOOL____00128); +constraint int_ne_reif(x[7], x[1], BOOL____00130) :: defines_var(BOOL____00130); +constraint int_ne_reif(x[7], x[2], BOOL____00132) :: defines_var(BOOL____00132); +constraint int_ne_reif(x[7], x[3], BOOL____00134) :: defines_var(BOOL____00134); +constraint int_ne_reif(x[7], x[4], BOOL____00136) :: defines_var(BOOL____00136); +constraint int_ne_reif(x[7], x[5], BOOL____00138) :: defines_var(BOOL____00138); +constraint int_ne_reif(x[7], x[6], BOOL____00140) :: defines_var(BOOL____00140); +constraint int_ne_reif(x[7], x[8], BOOL____00142) :: defines_var(BOOL____00142); +constraint int_ne_reif(x[7], x[9], BOOL____00144) :: defines_var(BOOL____00144); +constraint int_ne_reif(x[7], x[10], BOOL____00146) :: defines_var(BOOL____00146); +constraint int_ne_reif(x[8], x[1], BOOL____00148) :: defines_var(BOOL____00148); +constraint int_ne_reif(x[8], x[2], BOOL____00150) :: defines_var(BOOL____00150); +constraint int_ne_reif(x[8], x[3], BOOL____00152) :: defines_var(BOOL____00152); +constraint int_ne_reif(x[8], x[4], BOOL____00154) :: defines_var(BOOL____00154); +constraint int_ne_reif(x[8], x[5], BOOL____00156) :: defines_var(BOOL____00156); +constraint int_ne_reif(x[8], x[6], BOOL____00158) :: defines_var(BOOL____00158); +constraint int_ne_reif(x[8], x[7], BOOL____00160) :: defines_var(BOOL____00160); +constraint int_ne_reif(x[8], x[9], BOOL____00162) :: defines_var(BOOL____00162); +constraint int_ne_reif(x[8], x[10], BOOL____00164) :: defines_var(BOOL____00164); +constraint int_ne_reif(x[9], x[1], BOOL____00166) :: defines_var(BOOL____00166); +constraint int_ne_reif(x[9], x[2], BOOL____00168) :: defines_var(BOOL____00168); +constraint int_ne_reif(x[9], x[3], BOOL____00170) :: defines_var(BOOL____00170); +constraint int_ne_reif(x[9], x[4], BOOL____00172) :: defines_var(BOOL____00172); +constraint int_ne_reif(x[9], x[5], BOOL____00174) :: defines_var(BOOL____00174); +constraint int_ne_reif(x[9], x[6], BOOL____00176) :: defines_var(BOOL____00176); +constraint int_ne_reif(x[9], x[7], BOOL____00178) :: defines_var(BOOL____00178); +constraint int_ne_reif(x[9], x[8], BOOL____00180) :: defines_var(BOOL____00180); +constraint int_ne_reif(x[9], x[10], BOOL____00182) :: defines_var(BOOL____00182); +constraint int_ne_reif(x[10], x[1], BOOL____00184) :: defines_var(BOOL____00184); +constraint int_ne_reif(x[10], x[2], BOOL____00186) :: defines_var(BOOL____00186); +constraint int_ne_reif(x[10], x[3], BOOL____00188) :: defines_var(BOOL____00188); +constraint int_ne_reif(x[10], x[4], BOOL____00190) :: defines_var(BOOL____00190); +constraint int_ne_reif(x[10], x[5], BOOL____00192) :: defines_var(BOOL____00192); +constraint int_ne_reif(x[10], x[6], BOOL____00194) :: defines_var(BOOL____00194); +constraint int_ne_reif(x[10], x[7], BOOL____00196) :: defines_var(BOOL____00196); +constraint int_ne_reif(x[10], x[8], BOOL____00198) :: defines_var(BOOL____00198); +constraint int_ne_reif(x[10], x[9], BOOL____00200) :: defines_var(BOOL____00200); +constraint int_times(INT____00202, x[1], INT____00203) :: defines_var(INT____00203); +constraint int_times(INT____00204, x[2], INT____00205) :: defines_var(INT____00205); +constraint int_times(INT____00206, x[3], INT____00207) :: defines_var(INT____00207); +constraint int_times(INT____00208, x[4], INT____00209) :: defines_var(INT____00209); +constraint int_times(INT____00210, x[5], INT____00211) :: defines_var(INT____00211); +constraint int_times(INT____00212, x[6], INT____00213) :: defines_var(INT____00213); +constraint int_times(INT____00214, x[7], INT____00215) :: defines_var(INT____00215); +constraint int_times(INT____00216, x[8], INT____00217) :: defines_var(INT____00217); +constraint int_times(INT____00218, x[9], INT____00219) :: defines_var(INT____00219); +constraint int_times(INT____00220, x[10], INT____00221) :: defines_var(INT____00221); +constraint int_times(x[1], x[1], INT____00202) :: defines_var(INT____00202); +constraint int_times(x[2], x[2], INT____00204) :: defines_var(INT____00204); +constraint int_times(x[3], x[3], INT____00206) :: defines_var(INT____00206); +constraint int_times(x[4], x[4], INT____00208) :: defines_var(INT____00208); +constraint int_times(x[5], x[5], INT____00210) :: defines_var(INT____00210); +constraint int_times(x[6], x[6], INT____00212) :: defines_var(INT____00212); +constraint int_times(x[7], x[7], INT____00214) :: defines_var(INT____00214); +constraint int_times(x[8], x[8], INT____00216) :: defines_var(INT____00216); +constraint int_times(x[9], x[9], INT____00218) :: defines_var(INT____00218); +constraint int_times(x[10], x[10], INT____00220) :: defines_var(INT____00220); +solve :: int_search([x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], INT____00021], first_fail, indomain, complete) minimize INT____00021; diff --git a/examples/flatzinc/four_power.fzn b/examples/flatzinc/four_power.fzn new file mode 100644 index 0000000000..eda4f34e09 --- /dev/null +++ b/examples/flatzinc/four_power.fzn @@ -0,0 +1,48 @@ +predicate all_different_int(array [int] of var int: x); +predicate count(array [int] of var int: x, var int: y, var int: c); +predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); +predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); +predicate table_int(array [int] of var int: x, array [int, int] of int: t); +var 1..160000: INT____00001 :: is_defined_var :: var_is_introduced; +var 1..64000000: INT____00002 :: is_defined_var :: var_is_introduced; +var 1..25600000000: INT____00003 :: is_defined_var :: var_is_introduced; +var 1..160000: INT____00004 :: is_defined_var :: var_is_introduced; +var 1..64000000: INT____00005 :: is_defined_var :: var_is_introduced; +var 1..25600000000: INT____00006 :: is_defined_var :: var_is_introduced; +var 1..160000: INT____00007 :: is_defined_var :: var_is_introduced; +var 1..64000000: INT____00008 :: is_defined_var :: var_is_introduced; +var 1..25600000000: INT____00009 :: is_defined_var :: var_is_introduced; +var 1..160000: INT____00010 :: is_defined_var :: var_is_introduced; +var 1..64000000: INT____00011 :: is_defined_var :: var_is_introduced; +var 1..25600000000: INT____00012 :: is_defined_var :: var_is_introduced; +var 1..160000: INT____00013 :: is_defined_var :: var_is_introduced; +var 1..64000000: INT____00014 :: is_defined_var :: var_is_introduced; +var 4..25600000000: INT____00016 :: is_defined_var :: var_is_introduced; +var 1..400: x1; +var 1..400: x2; +var 1..400: x3; +var 1..400: x4; +var 1..400: x5; +array [1..5] of var 1..400: a :: output_array([1..5]) = [x1, x2, x3, x4, x5]; +constraint all_different_int(a); +constraint int_le(x1, x2); +constraint int_le(x2, x3); +constraint int_le(x3, x4); +constraint int_le(x4, x5); +constraint int_lin_eq([-1, 1, 1, 1, 1], [INT____00016, INT____00003, INT____00006, INT____00009, INT____00012], 0) :: defines_var(INT____00016); +constraint int_times(INT____00001, x1, INT____00002) :: defines_var(INT____00002); +constraint int_times(INT____00002, x1, INT____00003) :: defines_var(INT____00003); +constraint int_times(INT____00004, x2, INT____00005) :: defines_var(INT____00005); +constraint int_times(INT____00005, x3, INT____00006) :: defines_var(INT____00006); +constraint int_times(INT____00007, x3, INT____00008) :: defines_var(INT____00008); +constraint int_times(INT____00008, x3, INT____00009) :: defines_var(INT____00009); +constraint int_times(INT____00010, x4, INT____00011) :: defines_var(INT____00011); +constraint int_times(INT____00011, x4, INT____00012) :: defines_var(INT____00012); +constraint int_times(INT____00013, x5, INT____00014) :: defines_var(INT____00014); +constraint int_times(INT____00014, x5, INT____00016); +constraint int_times(x1, x1, INT____00001) :: defines_var(INT____00001); +constraint int_times(x2, x2, INT____00004) :: defines_var(INT____00004); +constraint int_times(x3, x3, INT____00007) :: defines_var(INT____00007); +constraint int_times(x4, x4, INT____00010) :: defines_var(INT____00010); +constraint int_times(x5, x5, INT____00013) :: defines_var(INT____00013); +solve satisfy; diff --git a/examples/flatzinc/hardy_1729.fzn b/examples/flatzinc/hardy_1729.fzn new file mode 100644 index 0000000000..077c1cab31 --- /dev/null +++ b/examples/flatzinc/hardy_1729.fzn @@ -0,0 +1,43 @@ +var int: INT____00001 :: is_defined_var :: var_is_introduced; +var int: INT____00002 :: is_defined_var :: var_is_introduced; +var int: INT____00003 :: is_defined_var :: var_is_introduced; +var int: INT____00004 :: is_defined_var :: var_is_introduced; +var int: INT____00006 :: is_defined_var :: var_is_introduced; +var int: INT____00007 :: is_defined_var :: var_is_introduced; +var int: INT____00008 :: is_defined_var :: var_is_introduced; +var int: INT____00009 :: is_defined_var :: var_is_introduced; +var int: INT____00010 :: is_defined_var :: var_is_introduced; +var int: X1 :: output_var; +var int: X2 :: output_var; +var int: Y1 :: output_var; +var int: Y2 :: output_var; +var int: Z :: output_var = INT____00010; +constraint int_le(1, INT____00001); +constraint int_le(1, INT____00002); +constraint int_le(1, INT____00003); +constraint int_le(1, INT____00004); +constraint int_le(1, INT____00006); +constraint int_le(1, INT____00007); +constraint int_le(1, INT____00008); +constraint int_le(1, INT____00009); +constraint int_le(1, X1); +constraint int_le(1, X2); +constraint int_le(1, Y1); +constraint int_le(1, Y2); +constraint int_le(2, INT____00010); +constraint int_le(2, Z); +constraint int_le(X1, X2); +constraint int_le(Y1, Y2); +constraint int_ne(X1, Y1); +constraint int_ne(X1, Y2); +constraint int_plus(INT____00002, INT____00004, INT____00010); +constraint int_plus(INT____00007, INT____00009, INT____00010) :: defines_var(INT____00010); +constraint int_times(INT____00001, X1, INT____00002) :: defines_var(INT____00002); +constraint int_times(INT____00003, X2, INT____00004) :: defines_var(INT____00004); +constraint int_times(INT____00006, Y1, INT____00007) :: defines_var(INT____00007); +constraint int_times(INT____00008, Y2, INT____00009) :: defines_var(INT____00009); +constraint int_times(X1, X1, INT____00001) :: defines_var(INT____00001); +constraint int_times(X2, X2, INT____00003) :: defines_var(INT____00003); +constraint int_times(Y1, Y1, INT____00006) :: defines_var(INT____00006); +constraint int_times(Y2, Y2, INT____00008) :: defines_var(INT____00008); +solve satisfy; diff --git a/examples/flatzinc/hidato_table.fzn b/examples/flatzinc/hidato_table.fzn new file mode 100644 index 0000000000..3a37d9a808 --- /dev/null +++ b/examples/flatzinc/hidato_table.fzn @@ -0,0 +1,730 @@ +predicate all_different_int(array [int] of var int: x); +predicate count(array [int] of var int: x, var int: y, var int: c); +predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); +predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); +predicate table_int(array [int] of var int: x, array [int, int] of int: t); +array [1..64] of int: puzzle = [64, 0, 0, 0, 0, 0, 0, 0, 1, 63, 0, 59, 15, 57, 53, 0, 0, 4, 0, 14, 0, 0, 0, 0, 3, 0, 11, 0, 20, 19, 0, 50, 0, 0, 0, 0, 22, 0, 48, 40, 9, 0, 0, 32, 23, 0, 0, 41, 27, 0, 0, 0, 36, 0, 46, 0, 28, 30, 0, 35, 0, 0, 0, 0]; +array [1..1680] of int: valid_connections2 = [1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 2, 2, 1, 1, 2, 2, 2, 1, 2, 2, 3, 1, 3, 1, 2, 1, 3, 1, 4, 1, 3, 2, 2, 1, 3, 2, 3, 1, 3, 2, 4, 1, 4, 1, 3, 1, 4, 1, 5, 1, 4, 2, 3, 1, 4, 2, 4, 1, 4, 2, 5, 1, 5, 1, 4, 1, 5, 1, 6, 1, 5, 2, 4, 1, 5, 2, 5, 1, 5, 2, 6, 1, 6, 1, 5, 1, 6, 1, 7, 1, 6, 2, 5, 1, 6, 2, 6, 1, 6, 2, 7, 1, 7, 1, 6, 1, 7, 1, 8, 1, 7, 2, 6, 1, 7, 2, 7, 1, 7, 2, 8, 1, 8, 1, 7, 1, 8, 2, 7, 1, 8, 2, 8, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 3, 1, 2, 1, 3, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 3, 2, 2, 2, 1, 2, 2, 2, 3, 2, 2, 3, 1, 2, 2, 3, 2, 2, 2, 3, 3, 2, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 4, 2, 3, 2, 2, 2, 3, 2, 4, 2, 3, 3, 2, 2, 3, 3, 3, 2, 3, 3, 4, 2, 4, 1, 3, 2, 4, 1, 4, 2, 4, 1, 5, 2, 4, 2, 3, 2, 4, 2, 5, 2, 4, 3, 3, 2, 4, 3, 4, 2, 4, 3, 5, 2, 5, 1, 4, 2, 5, 1, 5, 2, 5, 1, 6, 2, 5, 2, 4, 2, 5, 2, 6, 2, 5, 3, 4, 2, 5, 3, 5, 2, 5, 3, 6, 2, 6, 1, 5, 2, 6, 1, 6, 2, 6, 1, 7, 2, 6, 2, 5, 2, 6, 2, 7, 2, 6, 3, 5, 2, 6, 3, 6, 2, 6, 3, 7, 2, 7, 1, 6, 2, 7, 1, 7, 2, 7, 1, 8, 2, 7, 2, 6, 2, 7, 2, 8, 2, 7, 3, 6, 2, 7, 3, 7, 2, 7, 3, 8, 2, 8, 1, 7, 2, 8, 1, 8, 2, 8, 2, 7, 2, 8, 3, 7, 2, 8, 3, 8, 3, 1, 2, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 4, 1, 3, 1, 4, 2, 3, 2, 2, 1, 3, 2, 2, 2, 3, 2, 2, 3, 3, 2, 3, 1, 3, 2, 3, 3, 3, 2, 4, 1, 3, 2, 4, 2, 3, 2, 4, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 2, 4, 3, 3, 3, 2, 3, 3, 3, 4, 3, 3, 4, 2, 3, 3, 4, 3, 3, 3, 4, 4, 3, 4, 2, 3, 3, 4, 2, 4, 3, 4, 2, 5, 3, 4, 3, 3, 3, 4, 3, 5, 3, 4, 4, 3, 3, 4, 4, 4, 3, 4, 4, 5, 3, 5, 2, 4, 3, 5, 2, 5, 3, 5, 2, 6, 3, 5, 3, 4, 3, 5, 3, 6, 3, 5, 4, 4, 3, 5, 4, 5, 3, 5, 4, 6, 3, 6, 2, 5, 3, 6, 2, 6, 3, 6, 2, 7, 3, 6, 3, 5, 3, 6, 3, 7, 3, 6, 4, 5, 3, 6, 4, 6, 3, 6, 4, 7, 3, 7, 2, 6, 3, 7, 2, 7, 3, 7, 2, 8, 3, 7, 3, 6, 3, 7, 3, 8, 3, 7, 4, 6, 3, 7, 4, 7, 3, 7, 4, 8, 3, 8, 2, 7, 3, 8, 2, 8, 3, 8, 3, 7, 3, 8, 4, 7, 3, 8, 4, 8, 4, 1, 3, 1, 4, 1, 3, 2, 4, 1, 4, 2, 4, 1, 5, 1, 4, 1, 5, 2, 4, 2, 3, 1, 4, 2, 3, 2, 4, 2, 3, 3, 4, 2, 4, 1, 4, 2, 4, 3, 4, 2, 5, 1, 4, 2, 5, 2, 4, 2, 5, 3, 4, 3, 3, 2, 4, 3, 3, 3, 4, 3, 3, 4, 4, 3, 4, 2, 4, 3, 4, 4, 4, 3, 5, 2, 4, 3, 5, 3, 4, 3, 5, 4, 4, 4, 3, 3, 4, 4, 3, 4, 4, 4, 3, 5, 4, 4, 4, 3, 4, 4, 4, 5, 4, 4, 5, 3, 4, 4, 5, 4, 4, 4, 5, 5, 4, 5, 3, 4, 4, 5, 3, 5, 4, 5, 3, 6, 4, 5, 4, 4, 4, 5, 4, 6, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 5, 6, 4, 6, 3, 5, 4, 6, 3, 6, 4, 6, 3, 7, 4, 6, 4, 5, 4, 6, 4, 7, 4, 6, 5, 5, 4, 6, 5, 6, 4, 6, 5, 7, 4, 7, 3, 6, 4, 7, 3, 7, 4, 7, 3, 8, 4, 7, 4, 6, 4, 7, 4, 8, 4, 7, 5, 6, 4, 7, 5, 7, 4, 7, 5, 8, 4, 8, 3, 7, 4, 8, 3, 8, 4, 8, 4, 7, 4, 8, 5, 7, 4, 8, 5, 8, 5, 1, 4, 1, 5, 1, 4, 2, 5, 1, 5, 2, 5, 1, 6, 1, 5, 1, 6, 2, 5, 2, 4, 1, 5, 2, 4, 2, 5, 2, 4, 3, 5, 2, 5, 1, 5, 2, 5, 3, 5, 2, 6, 1, 5, 2, 6, 2, 5, 2, 6, 3, 5, 3, 4, 2, 5, 3, 4, 3, 5, 3, 4, 4, 5, 3, 5, 2, 5, 3, 5, 4, 5, 3, 6, 2, 5, 3, 6, 3, 5, 3, 6, 4, 5, 4, 4, 3, 5, 4, 4, 4, 5, 4, 4, 5, 5, 4, 5, 3, 5, 4, 5, 5, 5, 4, 6, 3, 5, 4, 6, 4, 5, 4, 6, 5, 5, 5, 4, 4, 5, 5, 4, 5, 5, 5, 4, 6, 5, 5, 5, 4, 5, 5, 5, 6, 5, 5, 6, 4, 5, 5, 6, 5, 5, 5, 6, 6, 5, 6, 4, 5, 5, 6, 4, 6, 5, 6, 4, 7, 5, 6, 5, 5, 5, 6, 5, 7, 5, 6, 6, 5, 5, 6, 6, 6, 5, 6, 6, 7, 5, 7, 4, 6, 5, 7, 4, 7, 5, 7, 4, 8, 5, 7, 5, 6, 5, 7, 5, 8, 5, 7, 6, 6, 5, 7, 6, 7, 5, 7, 6, 8, 5, 8, 4, 7, 5, 8, 4, 8, 5, 8, 5, 7, 5, 8, 6, 7, 5, 8, 6, 8, 6, 1, 5, 1, 6, 1, 5, 2, 6, 1, 6, 2, 6, 1, 7, 1, 6, 1, 7, 2, 6, 2, 5, 1, 6, 2, 5, 2, 6, 2, 5, 3, 6, 2, 6, 1, 6, 2, 6, 3, 6, 2, 7, 1, 6, 2, 7, 2, 6, 2, 7, 3, 6, 3, 5, 2, 6, 3, 5, 3, 6, 3, 5, 4, 6, 3, 6, 2, 6, 3, 6, 4, 6, 3, 7, 2, 6, 3, 7, 3, 6, 3, 7, 4, 6, 4, 5, 3, 6, 4, 5, 4, 6, 4, 5, 5, 6, 4, 6, 3, 6, 4, 6, 5, 6, 4, 7, 3, 6, 4, 7, 4, 6, 4, 7, 5, 6, 5, 5, 4, 6, 5, 5, 5, 6, 5, 5, 6, 6, 5, 6, 4, 6, 5, 6, 6, 6, 5, 7, 4, 6, 5, 7, 5, 6, 5, 7, 6, 6, 6, 5, 5, 6, 6, 5, 6, 6, 6, 5, 7, 6, 6, 6, 5, 6, 6, 6, 7, 6, 6, 7, 5, 6, 6, 7, 6, 6, 6, 7, 7, 6, 7, 5, 6, 6, 7, 5, 7, 6, 7, 5, 8, 6, 7, 6, 6, 6, 7, 6, 8, 6, 7, 7, 6, 6, 7, 7, 7, 6, 7, 7, 8, 6, 8, 5, 7, 6, 8, 5, 8, 6, 8, 6, 7, 6, 8, 7, 7, 6, 8, 7, 8, 7, 1, 6, 1, 7, 1, 6, 2, 7, 1, 7, 2, 7, 1, 8, 1, 7, 1, 8, 2, 7, 2, 6, 1, 7, 2, 6, 2, 7, 2, 6, 3, 7, 2, 7, 1, 7, 2, 7, 3, 7, 2, 8, 1, 7, 2, 8, 2, 7, 2, 8, 3, 7, 3, 6, 2, 7, 3, 6, 3, 7, 3, 6, 4, 7, 3, 7, 2, 7, 3, 7, 4, 7, 3, 8, 2, 7, 3, 8, 3, 7, 3, 8, 4, 7, 4, 6, 3, 7, 4, 6, 4, 7, 4, 6, 5, 7, 4, 7, 3, 7, 4, 7, 5, 7, 4, 8, 3, 7, 4, 8, 4, 7, 4, 8, 5, 7, 5, 6, 4, 7, 5, 6, 5, 7, 5, 6, 6, 7, 5, 7, 4, 7, 5, 7, 6, 7, 5, 8, 4, 7, 5, 8, 5, 7, 5, 8, 6, 7, 6, 6, 5, 7, 6, 6, 6, 7, 6, 6, 7, 7, 6, 7, 5, 7, 6, 7, 7, 7, 6, 8, 5, 7, 6, 8, 6, 7, 6, 8, 7, 7, 7, 6, 6, 7, 7, 6, 7, 7, 7, 6, 8, 7, 7, 7, 6, 7, 7, 7, 8, 7, 7, 8, 6, 7, 7, 8, 7, 7, 7, 8, 8, 7, 8, 6, 7, 7, 8, 6, 8, 7, 8, 7, 7, 7, 8, 8, 7, 7, 8, 8, 8, 8, 1, 7, 1, 8, 1, 7, 2, 8, 1, 8, 2, 8, 2, 7, 1, 8, 2, 7, 2, 8, 2, 7, 3, 8, 2, 8, 1, 8, 2, 8, 3, 8, 3, 7, 2, 8, 3, 7, 3, 8, 3, 7, 4, 8, 3, 8, 2, 8, 3, 8, 4, 8, 4, 7, 3, 8, 4, 7, 4, 8, 4, 7, 5, 8, 4, 8, 3, 8, 4, 8, 5, 8, 5, 7, 4, 8, 5, 7, 5, 8, 5, 7, 6, 8, 5, 8, 4, 8, 5, 8, 6, 8, 6, 7, 5, 8, 6, 7, 6, 8, 6, 7, 7, 8, 6, 8, 5, 8, 6, 8, 7, 8, 7, 7, 6, 8, 7, 7, 7, 8, 7, 7, 8, 8, 7, 8, 6, 8, 7, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 7]; +var 1..64: INT____00005 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00007 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00013 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00015 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00021 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00023 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00029 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00031 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00037 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00039 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00045 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00047 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00053 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00055 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00061 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00063 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00069 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00071 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00077 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00079 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00085 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00087 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00093 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00095 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00101 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00103 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00109 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00111 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00117 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00119 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00125 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00127 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00133 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00135 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00141 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00143 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00149 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00151 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00157 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00159 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00165 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00167 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00173 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00175 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00181 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00183 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00189 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00191 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00197 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00199 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00205 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00207 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00213 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00215 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00221 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00223 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00229 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00231 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00237 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00239 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00245 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00247 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00253 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00255 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00261 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00263 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00269 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00271 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00277 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00279 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00285 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00287 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00293 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00295 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00301 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00303 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00309 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00311 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00317 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00319 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00325 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00327 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00333 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00335 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00341 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00343 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00349 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00351 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00357 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00359 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00365 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00367 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00373 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00375 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00381 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00383 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00389 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00391 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00397 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00399 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00405 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00407 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00413 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00415 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00421 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00423 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00429 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00431 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00437 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00439 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00445 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00447 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00453 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00455 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00461 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00463 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00469 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00471 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00477 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00479 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00485 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00487 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00493 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00495 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00501 :: is_defined_var :: var_is_introduced; +var 1..64: INT____00503 :: is_defined_var :: var_is_introduced; +var 1..8: i1____00001; +var 1..8: i1____00009; +var 1..8: i1____00017; +var 1..8: i1____00025; +var 1..8: i1____00033; +var 1..8: i1____00041; +var 1..8: i1____00049; +var 1..8: i1____00057; +var 1..8: i1____00065; +var 1..8: i1____00073; +var 1..8: i1____00081; +var 1..8: i1____00089; +var 1..8: i1____00097; +var 1..8: i1____00105; +var 1..8: i1____00113; +var 1..8: i1____00121; +var 1..8: i1____00129; +var 1..8: i1____00137; +var 1..8: i1____00145; +var 1..8: i1____00153; +var 1..8: i1____00161; +var 1..8: i1____00169; +var 1..8: i1____00177; +var 1..8: i1____00185; +var 1..8: i1____00193; +var 1..8: i1____00201; +var 1..8: i1____00209; +var 1..8: i1____00217; +var 1..8: i1____00225; +var 1..8: i1____00233; +var 1..8: i1____00241; +var 1..8: i1____00249; +var 1..8: i1____00257; +var 1..8: i1____00265; +var 1..8: i1____00273; +var 1..8: i1____00281; +var 1..8: i1____00289; +var 1..8: i1____00297; +var 1..8: i1____00305; +var 1..8: i1____00313; +var 1..8: i1____00321; +var 1..8: i1____00329; +var 1..8: i1____00337; +var 1..8: i1____00345; +var 1..8: i1____00353; +var 1..8: i1____00361; +var 1..8: i1____00369; +var 1..8: i1____00377; +var 1..8: i1____00385; +var 1..8: i1____00393; +var 1..8: i1____00401; +var 1..8: i1____00409; +var 1..8: i1____00417; +var 1..8: i1____00425; +var 1..8: i1____00433; +var 1..8: i1____00441; +var 1..8: i1____00449; +var 1..8: i1____00457; +var 1..8: i1____00465; +var 1..8: i1____00473; +var 1..8: i1____00481; +var 1..8: i1____00489; +var 1..8: i1____00497; +var 1..8: i2____00003; +var 1..8: i2____00011; +var 1..8: i2____00019; +var 1..8: i2____00027; +var 1..8: i2____00035; +var 1..8: i2____00043; +var 1..8: i2____00051; +var 1..8: i2____00059; +var 1..8: i2____00067; +var 1..8: i2____00075; +var 1..8: i2____00083; +var 1..8: i2____00091; +var 1..8: i2____00099; +var 1..8: i2____00107; +var 1..8: i2____00115; +var 1..8: i2____00123; +var 1..8: i2____00131; +var 1..8: i2____00139; +var 1..8: i2____00147; +var 1..8: i2____00155; +var 1..8: i2____00163; +var 1..8: i2____00171; +var 1..8: i2____00179; +var 1..8: i2____00187; +var 1..8: i2____00195; +var 1..8: i2____00203; +var 1..8: i2____00211; +var 1..8: i2____00219; +var 1..8: i2____00227; +var 1..8: i2____00235; +var 1..8: i2____00243; +var 1..8: i2____00251; +var 1..8: i2____00259; +var 1..8: i2____00267; +var 1..8: i2____00275; +var 1..8: i2____00283; +var 1..8: i2____00291; +var 1..8: i2____00299; +var 1..8: i2____00307; +var 1..8: i2____00315; +var 1..8: i2____00323; +var 1..8: i2____00331; +var 1..8: i2____00339; +var 1..8: i2____00347; +var 1..8: i2____00355; +var 1..8: i2____00363; +var 1..8: i2____00371; +var 1..8: i2____00379; +var 1..8: i2____00387; +var 1..8: i2____00395; +var 1..8: i2____00403; +var 1..8: i2____00411; +var 1..8: i2____00419; +var 1..8: i2____00427; +var 1..8: i2____00435; +var 1..8: i2____00443; +var 1..8: i2____00451; +var 1..8: i2____00459; +var 1..8: i2____00467; +var 1..8: i2____00475; +var 1..8: i2____00483; +var 1..8: i2____00491; +var 1..8: i2____00499; +var 1..8: j1____00002; +var 1..8: j1____00010; +var 1..8: j1____00018; +var 1..8: j1____00026; +var 1..8: j1____00034; +var 1..8: j1____00042; +var 1..8: j1____00050; +var 1..8: j1____00058; +var 1..8: j1____00066; +var 1..8: j1____00074; +var 1..8: j1____00082; +var 1..8: j1____00090; +var 1..8: j1____00098; +var 1..8: j1____00106; +var 1..8: j1____00114; +var 1..8: j1____00122; +var 1..8: j1____00130; +var 1..8: j1____00138; +var 1..8: j1____00146; +var 1..8: j1____00154; +var 1..8: j1____00162; +var 1..8: j1____00170; +var 1..8: j1____00178; +var 1..8: j1____00186; +var 1..8: j1____00194; +var 1..8: j1____00202; +var 1..8: j1____00210; +var 1..8: j1____00218; +var 1..8: j1____00226; +var 1..8: j1____00234; +var 1..8: j1____00242; +var 1..8: j1____00250; +var 1..8: j1____00258; +var 1..8: j1____00266; +var 1..8: j1____00274; +var 1..8: j1____00282; +var 1..8: j1____00290; +var 1..8: j1____00298; +var 1..8: j1____00306; +var 1..8: j1____00314; +var 1..8: j1____00322; +var 1..8: j1____00330; +var 1..8: j1____00338; +var 1..8: j1____00346; +var 1..8: j1____00354; +var 1..8: j1____00362; +var 1..8: j1____00370; +var 1..8: j1____00378; +var 1..8: j1____00386; +var 1..8: j1____00394; +var 1..8: j1____00402; +var 1..8: j1____00410; +var 1..8: j1____00418; +var 1..8: j1____00426; +var 1..8: j1____00434; +var 1..8: j1____00442; +var 1..8: j1____00450; +var 1..8: j1____00458; +var 1..8: j1____00466; +var 1..8: j1____00474; +var 1..8: j1____00482; +var 1..8: j1____00490; +var 1..8: j1____00498; +var 1..8: j2____00004; +var 1..8: j2____00012; +var 1..8: j2____00020; +var 1..8: j2____00028; +var 1..8: j2____00036; +var 1..8: j2____00044; +var 1..8: j2____00052; +var 1..8: j2____00060; +var 1..8: j2____00068; +var 1..8: j2____00076; +var 1..8: j2____00084; +var 1..8: j2____00092; +var 1..8: j2____00100; +var 1..8: j2____00108; +var 1..8: j2____00116; +var 1..8: j2____00124; +var 1..8: j2____00132; +var 1..8: j2____00140; +var 1..8: j2____00148; +var 1..8: j2____00156; +var 1..8: j2____00164; +var 1..8: j2____00172; +var 1..8: j2____00180; +var 1..8: j2____00188; +var 1..8: j2____00196; +var 1..8: j2____00204; +var 1..8: j2____00212; +var 1..8: j2____00220; +var 1..8: j2____00228; +var 1..8: j2____00236; +var 1..8: j2____00244; +var 1..8: j2____00252; +var 1..8: j2____00260; +var 1..8: j2____00268; +var 1..8: j2____00276; +var 1..8: j2____00284; +var 1..8: j2____00292; +var 1..8: j2____00300; +var 1..8: j2____00308; +var 1..8: j2____00316; +var 1..8: j2____00324; +var 1..8: j2____00332; +var 1..8: j2____00340; +var 1..8: j2____00348; +var 1..8: j2____00356; +var 1..8: j2____00364; +var 1..8: j2____00372; +var 1..8: j2____00380; +var 1..8: j2____00388; +var 1..8: j2____00396; +var 1..8: j2____00404; +var 1..8: j2____00412; +var 1..8: j2____00420; +var 1..8: j2____00428; +var 1..8: j2____00436; +var 1..8: j2____00444; +var 1..8: j2____00452; +var 1..8: j2____00460; +var 1..8: j2____00468; +var 1..8: j2____00476; +var 1..8: j2____00484; +var 1..8: j2____00492; +var 1..8: j2____00500; +array [1..64] of var 1..64: x :: output_array([1..8, 1..8]); +constraint all_different_int([x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]]); +constraint array_var_int_element(INT____00005, x, 1); +constraint array_var_int_element(INT____00007, x, 2); +constraint array_var_int_element(INT____00013, x, 2); +constraint array_var_int_element(INT____00015, x, 3); +constraint array_var_int_element(INT____00021, x, 3); +constraint array_var_int_element(INT____00023, x, 4); +constraint array_var_int_element(INT____00029, x, 4); +constraint array_var_int_element(INT____00031, x, 5); +constraint array_var_int_element(INT____00037, x, 5); +constraint array_var_int_element(INT____00039, x, 6); +constraint array_var_int_element(INT____00045, x, 6); +constraint array_var_int_element(INT____00047, x, 7); +constraint array_var_int_element(INT____00053, x, 7); +constraint array_var_int_element(INT____00055, x, 8); +constraint array_var_int_element(INT____00061, x, 8); +constraint array_var_int_element(INT____00063, x, 9); +constraint array_var_int_element(INT____00069, x, 9); +constraint array_var_int_element(INT____00071, x, 10); +constraint array_var_int_element(INT____00077, x, 10); +constraint array_var_int_element(INT____00079, x, 11); +constraint array_var_int_element(INT____00085, x, 11); +constraint array_var_int_element(INT____00087, x, 12); +constraint array_var_int_element(INT____00093, x, 12); +constraint array_var_int_element(INT____00095, x, 13); +constraint array_var_int_element(INT____00101, x, 13); +constraint array_var_int_element(INT____00103, x, 14); +constraint array_var_int_element(INT____00109, x, 14); +constraint array_var_int_element(INT____00111, x, 15); +constraint array_var_int_element(INT____00117, x, 15); +constraint array_var_int_element(INT____00119, x, 16); +constraint array_var_int_element(INT____00125, x, 16); +constraint array_var_int_element(INT____00127, x, 17); +constraint array_var_int_element(INT____00133, x, 17); +constraint array_var_int_element(INT____00135, x, 18); +constraint array_var_int_element(INT____00141, x, 18); +constraint array_var_int_element(INT____00143, x, 19); +constraint array_var_int_element(INT____00149, x, 19); +constraint array_var_int_element(INT____00151, x, 20); +constraint array_var_int_element(INT____00157, x, 20); +constraint array_var_int_element(INT____00159, x, 21); +constraint array_var_int_element(INT____00165, x, 21); +constraint array_var_int_element(INT____00167, x, 22); +constraint array_var_int_element(INT____00173, x, 22); +constraint array_var_int_element(INT____00175, x, 23); +constraint array_var_int_element(INT____00181, x, 23); +constraint array_var_int_element(INT____00183, x, 24); +constraint array_var_int_element(INT____00189, x, 24); +constraint array_var_int_element(INT____00191, x, 25); +constraint array_var_int_element(INT____00197, x, 25); +constraint array_var_int_element(INT____00199, x, 26); +constraint array_var_int_element(INT____00205, x, 26); +constraint array_var_int_element(INT____00207, x, 27); +constraint array_var_int_element(INT____00213, x, 27); +constraint array_var_int_element(INT____00215, x, 28); +constraint array_var_int_element(INT____00221, x, 28); +constraint array_var_int_element(INT____00223, x, 29); +constraint array_var_int_element(INT____00229, x, 29); +constraint array_var_int_element(INT____00231, x, 30); +constraint array_var_int_element(INT____00237, x, 30); +constraint array_var_int_element(INT____00239, x, 31); +constraint array_var_int_element(INT____00245, x, 31); +constraint array_var_int_element(INT____00247, x, 32); +constraint array_var_int_element(INT____00253, x, 32); +constraint array_var_int_element(INT____00255, x, 33); +constraint array_var_int_element(INT____00261, x, 33); +constraint array_var_int_element(INT____00263, x, 34); +constraint array_var_int_element(INT____00269, x, 34); +constraint array_var_int_element(INT____00271, x, 35); +constraint array_var_int_element(INT____00277, x, 35); +constraint array_var_int_element(INT____00279, x, 36); +constraint array_var_int_element(INT____00285, x, 36); +constraint array_var_int_element(INT____00287, x, 37); +constraint array_var_int_element(INT____00293, x, 37); +constraint array_var_int_element(INT____00295, x, 38); +constraint array_var_int_element(INT____00301, x, 38); +constraint array_var_int_element(INT____00303, x, 39); +constraint array_var_int_element(INT____00309, x, 39); +constraint array_var_int_element(INT____00311, x, 40); +constraint array_var_int_element(INT____00317, x, 40); +constraint array_var_int_element(INT____00319, x, 41); +constraint array_var_int_element(INT____00325, x, 41); +constraint array_var_int_element(INT____00327, x, 42); +constraint array_var_int_element(INT____00333, x, 42); +constraint array_var_int_element(INT____00335, x, 43); +constraint array_var_int_element(INT____00341, x, 43); +constraint array_var_int_element(INT____00343, x, 44); +constraint array_var_int_element(INT____00349, x, 44); +constraint array_var_int_element(INT____00351, x, 45); +constraint array_var_int_element(INT____00357, x, 45); +constraint array_var_int_element(INT____00359, x, 46); +constraint array_var_int_element(INT____00365, x, 46); +constraint array_var_int_element(INT____00367, x, 47); +constraint array_var_int_element(INT____00373, x, 47); +constraint array_var_int_element(INT____00375, x, 48); +constraint array_var_int_element(INT____00381, x, 48); +constraint array_var_int_element(INT____00383, x, 49); +constraint array_var_int_element(INT____00389, x, 49); +constraint array_var_int_element(INT____00391, x, 50); +constraint array_var_int_element(INT____00397, x, 50); +constraint array_var_int_element(INT____00399, x, 51); +constraint array_var_int_element(INT____00405, x, 51); +constraint array_var_int_element(INT____00407, x, 52); +constraint array_var_int_element(INT____00413, x, 52); +constraint array_var_int_element(INT____00415, x, 53); +constraint array_var_int_element(INT____00421, x, 53); +constraint array_var_int_element(INT____00423, x, 54); +constraint array_var_int_element(INT____00429, x, 54); +constraint array_var_int_element(INT____00431, x, 55); +constraint array_var_int_element(INT____00437, x, 55); +constraint array_var_int_element(INT____00439, x, 56); +constraint array_var_int_element(INT____00445, x, 56); +constraint array_var_int_element(INT____00447, x, 57); +constraint array_var_int_element(INT____00453, x, 57); +constraint array_var_int_element(INT____00455, x, 58); +constraint array_var_int_element(INT____00461, x, 58); +constraint array_var_int_element(INT____00463, x, 59); +constraint array_var_int_element(INT____00469, x, 59); +constraint array_var_int_element(INT____00471, x, 60); +constraint array_var_int_element(INT____00477, x, 60); +constraint array_var_int_element(INT____00479, x, 61); +constraint array_var_int_element(INT____00485, x, 61); +constraint array_var_int_element(INT____00487, x, 62); +constraint array_var_int_element(INT____00493, x, 62); +constraint array_var_int_element(INT____00495, x, 63); +constraint array_var_int_element(INT____00501, x, 63); +constraint array_var_int_element(INT____00503, x, 64); +constraint int_eq_reif(x[1], 64, true); +constraint int_eq_reif(x[9], 1, true); +constraint int_eq_reif(x[10], 63, true); +constraint int_eq_reif(x[12], 59, true); +constraint int_eq_reif(x[13], 15, true); +constraint int_eq_reif(x[14], 57, true); +constraint int_eq_reif(x[15], 53, true); +constraint int_eq_reif(x[18], 4, true); +constraint int_eq_reif(x[20], 14, true); +constraint int_eq_reif(x[25], 3, true); +constraint int_eq_reif(x[27], 11, true); +constraint int_eq_reif(x[29], 20, true); +constraint int_eq_reif(x[30], 19, true); +constraint int_eq_reif(x[32], 50, true); +constraint int_eq_reif(x[37], 22, true); +constraint int_eq_reif(x[39], 48, true); +constraint int_eq_reif(x[40], 40, true); +constraint int_eq_reif(x[41], 9, true); +constraint int_eq_reif(x[44], 32, true); +constraint int_eq_reif(x[45], 23, true); +constraint int_eq_reif(x[48], 41, true); +constraint int_eq_reif(x[49], 27, true); +constraint int_eq_reif(x[53], 36, true); +constraint int_eq_reif(x[55], 46, true); +constraint int_eq_reif(x[57], 28, true); +constraint int_eq_reif(x[58], 30, true); +constraint int_eq_reif(x[60], 35, true); +constraint int_lin_eq([-1, 8, 1], [INT____00005, i1____00001, j1____00002], 8) :: defines_var(INT____00005) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00007, i2____00003, j2____00004], 8) :: defines_var(INT____00007) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00013, i1____00009, j1____00010], 8) :: defines_var(INT____00013) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00015, i2____00011, j2____00012], 8) :: defines_var(INT____00015) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00021, i1____00017, j1____00018], 8) :: defines_var(INT____00021) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00023, i2____00019, j2____00020], 8) :: defines_var(INT____00023) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00029, i1____00025, j1____00026], 8) :: defines_var(INT____00029) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00031, i2____00027, j2____00028], 8) :: defines_var(INT____00031) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00037, i1____00033, j1____00034], 8) :: defines_var(INT____00037) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00039, i2____00035, j2____00036], 8) :: defines_var(INT____00039) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00045, i1____00041, j1____00042], 8) :: defines_var(INT____00045) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00047, i2____00043, j2____00044], 8) :: defines_var(INT____00047) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00053, i1____00049, j1____00050], 8) :: defines_var(INT____00053) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00055, i2____00051, j2____00052], 8) :: defines_var(INT____00055) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00061, i1____00057, j1____00058], 8) :: defines_var(INT____00061) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00063, i2____00059, j2____00060], 8) :: defines_var(INT____00063) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00069, i1____00065, j1____00066], 8) :: defines_var(INT____00069) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00071, i2____00067, j2____00068], 8) :: defines_var(INT____00071) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00077, i1____00073, j1____00074], 8) :: defines_var(INT____00077) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00079, i2____00075, j2____00076], 8) :: defines_var(INT____00079) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00085, i1____00081, j1____00082], 8) :: defines_var(INT____00085) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00087, i2____00083, j2____00084], 8) :: defines_var(INT____00087) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00093, i1____00089, j1____00090], 8) :: defines_var(INT____00093) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00095, i2____00091, j2____00092], 8) :: defines_var(INT____00095) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00101, i1____00097, j1____00098], 8) :: defines_var(INT____00101) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00103, i2____00099, j2____00100], 8) :: defines_var(INT____00103) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00109, i1____00105, j1____00106], 8) :: defines_var(INT____00109) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00111, i2____00107, j2____00108], 8) :: defines_var(INT____00111) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00117, i1____00113, j1____00114], 8) :: defines_var(INT____00117) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00119, i2____00115, j2____00116], 8) :: defines_var(INT____00119) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00125, i1____00121, j1____00122], 8) :: defines_var(INT____00125) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00127, i2____00123, j2____00124], 8) :: defines_var(INT____00127) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00133, i1____00129, j1____00130], 8) :: defines_var(INT____00133) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00135, i2____00131, j2____00132], 8) :: defines_var(INT____00135) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00141, i1____00137, j1____00138], 8) :: defines_var(INT____00141) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00143, i2____00139, j2____00140], 8) :: defines_var(INT____00143) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00149, i1____00145, j1____00146], 8) :: defines_var(INT____00149) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00151, i2____00147, j2____00148], 8) :: defines_var(INT____00151) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00157, i1____00153, j1____00154], 8) :: defines_var(INT____00157) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00159, i2____00155, j2____00156], 8) :: defines_var(INT____00159) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00165, i1____00161, j1____00162], 8) :: defines_var(INT____00165) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00167, i2____00163, j2____00164], 8) :: defines_var(INT____00167) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00173, i1____00169, j1____00170], 8) :: defines_var(INT____00173) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00175, i2____00171, j2____00172], 8) :: defines_var(INT____00175) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00181, i1____00177, j1____00178], 8) :: defines_var(INT____00181) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00183, i2____00179, j2____00180], 8) :: defines_var(INT____00183) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00189, i1____00185, j1____00186], 8) :: defines_var(INT____00189) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00191, i2____00187, j2____00188], 8) :: defines_var(INT____00191) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00197, i1____00193, j1____00194], 8) :: defines_var(INT____00197) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00199, i2____00195, j2____00196], 8) :: defines_var(INT____00199) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00205, i1____00201, j1____00202], 8) :: defines_var(INT____00205) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00207, i2____00203, j2____00204], 8) :: defines_var(INT____00207) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00213, i1____00209, j1____00210], 8) :: defines_var(INT____00213) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00215, i2____00211, j2____00212], 8) :: defines_var(INT____00215) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00221, i1____00217, j1____00218], 8) :: defines_var(INT____00221) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00223, i2____00219, j2____00220], 8) :: defines_var(INT____00223) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00229, i1____00225, j1____00226], 8) :: defines_var(INT____00229) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00231, i2____00227, j2____00228], 8) :: defines_var(INT____00231) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00237, i1____00233, j1____00234], 8) :: defines_var(INT____00237) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00239, i2____00235, j2____00236], 8) :: defines_var(INT____00239) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00245, i1____00241, j1____00242], 8) :: defines_var(INT____00245) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00247, i2____00243, j2____00244], 8) :: defines_var(INT____00247) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00253, i1____00249, j1____00250], 8) :: defines_var(INT____00253) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00255, i2____00251, j2____00252], 8) :: defines_var(INT____00255) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00261, i1____00257, j1____00258], 8) :: defines_var(INT____00261) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00263, i2____00259, j2____00260], 8) :: defines_var(INT____00263) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00269, i1____00265, j1____00266], 8) :: defines_var(INT____00269) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00271, i2____00267, j2____00268], 8) :: defines_var(INT____00271) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00277, i1____00273, j1____00274], 8) :: defines_var(INT____00277) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00279, i2____00275, j2____00276], 8) :: defines_var(INT____00279) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00285, i1____00281, j1____00282], 8) :: defines_var(INT____00285) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00287, i2____00283, j2____00284], 8) :: defines_var(INT____00287) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00293, i1____00289, j1____00290], 8) :: defines_var(INT____00293) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00295, i2____00291, j2____00292], 8) :: defines_var(INT____00295) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00301, i1____00297, j1____00298], 8) :: defines_var(INT____00301) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00303, i2____00299, j2____00300], 8) :: defines_var(INT____00303) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00309, i1____00305, j1____00306], 8) :: defines_var(INT____00309) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00311, i2____00307, j2____00308], 8) :: defines_var(INT____00311) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00317, i1____00313, j1____00314], 8) :: defines_var(INT____00317) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00319, i2____00315, j2____00316], 8) :: defines_var(INT____00319) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00325, i1____00321, j1____00322], 8) :: defines_var(INT____00325) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00327, i2____00323, j2____00324], 8) :: defines_var(INT____00327) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00333, i1____00329, j1____00330], 8) :: defines_var(INT____00333) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00335, i2____00331, j2____00332], 8) :: defines_var(INT____00335) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00341, i1____00337, j1____00338], 8) :: defines_var(INT____00341) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00343, i2____00339, j2____00340], 8) :: defines_var(INT____00343) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00349, i1____00345, j1____00346], 8) :: defines_var(INT____00349) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00351, i2____00347, j2____00348], 8) :: defines_var(INT____00351) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00357, i1____00353, j1____00354], 8) :: defines_var(INT____00357) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00359, i2____00355, j2____00356], 8) :: defines_var(INT____00359) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00365, i1____00361, j1____00362], 8) :: defines_var(INT____00365) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00367, i2____00363, j2____00364], 8) :: defines_var(INT____00367) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00373, i1____00369, j1____00370], 8) :: defines_var(INT____00373) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00375, i2____00371, j2____00372], 8) :: defines_var(INT____00375) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00381, i1____00377, j1____00378], 8) :: defines_var(INT____00381) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00383, i2____00379, j2____00380], 8) :: defines_var(INT____00383) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00389, i1____00385, j1____00386], 8) :: defines_var(INT____00389) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00391, i2____00387, j2____00388], 8) :: defines_var(INT____00391) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00397, i1____00393, j1____00394], 8) :: defines_var(INT____00397) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00399, i2____00395, j2____00396], 8) :: defines_var(INT____00399) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00405, i1____00401, j1____00402], 8) :: defines_var(INT____00405) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00407, i2____00403, j2____00404], 8) :: defines_var(INT____00407) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00413, i1____00409, j1____00410], 8) :: defines_var(INT____00413) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00415, i2____00411, j2____00412], 8) :: defines_var(INT____00415) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00421, i1____00417, j1____00418], 8) :: defines_var(INT____00421) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00423, i2____00419, j2____00420], 8) :: defines_var(INT____00423) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00429, i1____00425, j1____00426], 8) :: defines_var(INT____00429) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00431, i2____00427, j2____00428], 8) :: defines_var(INT____00431) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00437, i1____00433, j1____00434], 8) :: defines_var(INT____00437) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00439, i2____00435, j2____00436], 8) :: defines_var(INT____00439) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00445, i1____00441, j1____00442], 8) :: defines_var(INT____00445) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00447, i2____00443, j2____00444], 8) :: defines_var(INT____00447) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00453, i1____00449, j1____00450], 8) :: defines_var(INT____00453) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00455, i2____00451, j2____00452], 8) :: defines_var(INT____00455) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00461, i1____00457, j1____00458], 8) :: defines_var(INT____00461) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00463, i2____00459, j2____00460], 8) :: defines_var(INT____00463) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00469, i1____00465, j1____00466], 8) :: defines_var(INT____00469) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00471, i2____00467, j2____00468], 8) :: defines_var(INT____00471) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00477, i1____00473, j1____00474], 8) :: defines_var(INT____00477) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00479, i2____00475, j2____00476], 8) :: defines_var(INT____00479) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00485, i1____00481, j1____00482], 8) :: defines_var(INT____00485) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00487, i2____00483, j2____00484], 8) :: defines_var(INT____00487) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00493, i1____00489, j1____00490], 8) :: defines_var(INT____00493) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00495, i2____00491, j2____00492], 8) :: defines_var(INT____00495) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00501, i1____00497, j1____00498], 8) :: defines_var(INT____00501) :: domain; +constraint int_lin_eq([-1, 8, 1], [INT____00503, i2____00499, j2____00500], 8) :: defines_var(INT____00503) :: domain; +constraint table_int([i1____00001, j1____00002, i2____00003, j2____00004], valid_connections2); +constraint table_int([i1____00009, j1____00010, i2____00011, j2____00012], valid_connections2); +constraint table_int([i1____00017, j1____00018, i2____00019, j2____00020], valid_connections2); +constraint table_int([i1____00025, j1____00026, i2____00027, j2____00028], valid_connections2); +constraint table_int([i1____00033, j1____00034, i2____00035, j2____00036], valid_connections2); +constraint table_int([i1____00041, j1____00042, i2____00043, j2____00044], valid_connections2); +constraint table_int([i1____00049, j1____00050, i2____00051, j2____00052], valid_connections2); +constraint table_int([i1____00057, j1____00058, i2____00059, j2____00060], valid_connections2); +constraint table_int([i1____00065, j1____00066, i2____00067, j2____00068], valid_connections2); +constraint table_int([i1____00073, j1____00074, i2____00075, j2____00076], valid_connections2); +constraint table_int([i1____00081, j1____00082, i2____00083, j2____00084], valid_connections2); +constraint table_int([i1____00089, j1____00090, i2____00091, j2____00092], valid_connections2); +constraint table_int([i1____00097, j1____00098, i2____00099, j2____00100], valid_connections2); +constraint table_int([i1____00105, j1____00106, i2____00107, j2____00108], valid_connections2); +constraint table_int([i1____00113, j1____00114, i2____00115, j2____00116], valid_connections2); +constraint table_int([i1____00121, j1____00122, i2____00123, j2____00124], valid_connections2); +constraint table_int([i1____00129, j1____00130, i2____00131, j2____00132], valid_connections2); +constraint table_int([i1____00137, j1____00138, i2____00139, j2____00140], valid_connections2); +constraint table_int([i1____00145, j1____00146, i2____00147, j2____00148], valid_connections2); +constraint table_int([i1____00153, j1____00154, i2____00155, j2____00156], valid_connections2); +constraint table_int([i1____00161, j1____00162, i2____00163, j2____00164], valid_connections2); +constraint table_int([i1____00169, j1____00170, i2____00171, j2____00172], valid_connections2); +constraint table_int([i1____00177, j1____00178, i2____00179, j2____00180], valid_connections2); +constraint table_int([i1____00185, j1____00186, i2____00187, j2____00188], valid_connections2); +constraint table_int([i1____00193, j1____00194, i2____00195, j2____00196], valid_connections2); +constraint table_int([i1____00201, j1____00202, i2____00203, j2____00204], valid_connections2); +constraint table_int([i1____00209, j1____00210, i2____00211, j2____00212], valid_connections2); +constraint table_int([i1____00217, j1____00218, i2____00219, j2____00220], valid_connections2); +constraint table_int([i1____00225, j1____00226, i2____00227, j2____00228], valid_connections2); +constraint table_int([i1____00233, j1____00234, i2____00235, j2____00236], valid_connections2); +constraint table_int([i1____00241, j1____00242, i2____00243, j2____00244], valid_connections2); +constraint table_int([i1____00249, j1____00250, i2____00251, j2____00252], valid_connections2); +constraint table_int([i1____00257, j1____00258, i2____00259, j2____00260], valid_connections2); +constraint table_int([i1____00265, j1____00266, i2____00267, j2____00268], valid_connections2); +constraint table_int([i1____00273, j1____00274, i2____00275, j2____00276], valid_connections2); +constraint table_int([i1____00281, j1____00282, i2____00283, j2____00284], valid_connections2); +constraint table_int([i1____00289, j1____00290, i2____00291, j2____00292], valid_connections2); +constraint table_int([i1____00297, j1____00298, i2____00299, j2____00300], valid_connections2); +constraint table_int([i1____00305, j1____00306, i2____00307, j2____00308], valid_connections2); +constraint table_int([i1____00313, j1____00314, i2____00315, j2____00316], valid_connections2); +constraint table_int([i1____00321, j1____00322, i2____00323, j2____00324], valid_connections2); +constraint table_int([i1____00329, j1____00330, i2____00331, j2____00332], valid_connections2); +constraint table_int([i1____00337, j1____00338, i2____00339, j2____00340], valid_connections2); +constraint table_int([i1____00345, j1____00346, i2____00347, j2____00348], valid_connections2); +constraint table_int([i1____00353, j1____00354, i2____00355, j2____00356], valid_connections2); +constraint table_int([i1____00361, j1____00362, i2____00363, j2____00364], valid_connections2); +constraint table_int([i1____00369, j1____00370, i2____00371, j2____00372], valid_connections2); +constraint table_int([i1____00377, j1____00378, i2____00379, j2____00380], valid_connections2); +constraint table_int([i1____00385, j1____00386, i2____00387, j2____00388], valid_connections2); +constraint table_int([i1____00393, j1____00394, i2____00395, j2____00396], valid_connections2); +constraint table_int([i1____00401, j1____00402, i2____00403, j2____00404], valid_connections2); +constraint table_int([i1____00409, j1____00410, i2____00411, j2____00412], valid_connections2); +constraint table_int([i1____00417, j1____00418, i2____00419, j2____00420], valid_connections2); +constraint table_int([i1____00425, j1____00426, i2____00427, j2____00428], valid_connections2); +constraint table_int([i1____00433, j1____00434, i2____00435, j2____00436], valid_connections2); +constraint table_int([i1____00441, j1____00442, i2____00443, j2____00444], valid_connections2); +constraint table_int([i1____00449, j1____00450, i2____00451, j2____00452], valid_connections2); +constraint table_int([i1____00457, j1____00458, i2____00459, j2____00460], valid_connections2); +constraint table_int([i1____00465, j1____00466, i2____00467, j2____00468], valid_connections2); +constraint table_int([i1____00473, j1____00474, i2____00475, j2____00476], valid_connections2); +constraint table_int([i1____00481, j1____00482, i2____00483, j2____00484], valid_connections2); +constraint table_int([i1____00489, j1____00490, i2____00491, j2____00492], valid_connections2); +constraint table_int([i1____00497, j1____00498, i2____00499, j2____00500], valid_connections2); +solve :: int_search([x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]], max_regret, indomain_min, complete) satisfy; diff --git a/examples/flatzinc/jssp.fzn b/examples/flatzinc/jssp.fzn new file mode 100644 index 0000000000..e0cfc4060a --- /dev/null +++ b/examples/flatzinc/jssp.fzn @@ -0,0 +1,475 @@ +array [1..36] of int: p = [3, 6, 1, 7, 6, 3, 10, 8, 5, 4, 10, 10, 9, 1, 5, 4, 7, 8, 5, 5, 5, 3, 8, 9, 3, 3, 9, 1, 5, 4, 10, 3, 1, 3, 4, 9]; +array [1..36] of int: sigma = [3, 1, 2, 4, 6, 5, 2, 3, 5, 6, 1, 4, 3, 4, 6, 1, 2, 5, 2, 1, 3, 4, 5, 6, 3, 2, 5, 6, 1, 4, 2, 4, 6, 1, 5, 3]; +var 197..197: K = 197; +array [1..216] of var 0..1: Y :: output_array([1..6, 1..6, 1..6]); +array [1..36] of var int: x :: output_array([1..6, 1..6]); +var 0..197: z :: output_var; +constraint int_le(0, x[1]); +constraint int_le(0, x[2]); +constraint int_le(0, x[3]); +constraint int_le(0, x[4]); +constraint int_le(0, x[5]); +constraint int_le(0, x[6]); +constraint int_le(0, x[7]); +constraint int_le(0, x[8]); +constraint int_le(0, x[9]); +constraint int_le(0, x[10]); +constraint int_le(0, x[11]); +constraint int_le(0, x[12]); +constraint int_le(0, x[13]); +constraint int_le(0, x[14]); +constraint int_le(0, x[15]); +constraint int_le(0, x[16]); +constraint int_le(0, x[17]); +constraint int_le(0, x[18]); +constraint int_le(0, x[19]); +constraint int_le(0, x[20]); +constraint int_le(0, x[21]); +constraint int_le(0, x[22]); +constraint int_le(0, x[23]); +constraint int_le(0, x[24]); +constraint int_le(0, x[25]); +constraint int_le(0, x[26]); +constraint int_le(0, x[27]); +constraint int_le(0, x[28]); +constraint int_le(0, x[29]); +constraint int_le(0, x[30]); +constraint int_le(0, x[31]); +constraint int_le(0, x[32]); +constraint int_le(0, x[33]); +constraint int_le(0, x[34]); +constraint int_le(0, x[35]); +constraint int_le(0, x[36]); +constraint int_le(x[1], 197); +constraint int_le(x[2], 197); +constraint int_le(x[3], 197); +constraint int_le(x[4], 197); +constraint int_le(x[5], 197); +constraint int_le(x[6], 197); +constraint int_le(x[7], 197); +constraint int_le(x[8], 197); +constraint int_le(x[9], 197); +constraint int_le(x[10], 197); +constraint int_le(x[11], 197); +constraint int_le(x[12], 197); +constraint int_le(x[13], 197); +constraint int_le(x[14], 197); +constraint int_le(x[15], 197); +constraint int_le(x[16], 197); +constraint int_le(x[17], 197); +constraint int_le(x[18], 197); +constraint int_le(x[19], 197); +constraint int_le(x[20], 197); +constraint int_le(x[21], 197); +constraint int_le(x[22], 197); +constraint int_le(x[23], 197); +constraint int_le(x[24], 197); +constraint int_le(x[25], 197); +constraint int_le(x[26], 197); +constraint int_le(x[27], 197); +constraint int_le(x[28], 197); +constraint int_le(x[29], 197); +constraint int_le(x[30], 197); +constraint int_le(x[31], 197); +constraint int_le(x[32], 197); +constraint int_le(x[33], 197); +constraint int_le(x[34], 197); +constraint int_le(x[35], 197); +constraint int_le(x[36], 197); +constraint int_lin_le([-1, 1], [z, x[5]], -6); +constraint int_lin_le([-1, 1], [z, x[10]], -4); +constraint int_lin_le([-1, 1], [z, x[17]], -7); +constraint int_lin_le([-1, 1], [z, x[24]], -9); +constraint int_lin_le([-1, 1], [z, x[28]], -1); +constraint int_lin_le([-1, 1], [z, x[33]], -1); +constraint int_lin_le([-1, 1], [x[1], x[3]], -1); +constraint int_lin_le([-1, 1], [x[5], x[6]], -3); +constraint int_lin_le([-1, 1], [x[7], x[12]], -10); +constraint int_lin_le([-1, 1], [x[13], x[18]], -8); +constraint int_lin_le([-1, 1], [x[19], x[20]], -5); +constraint int_lin_le([-1, 1], [x[25], x[30]], -4); +constraint int_lin_le([-1, 1], [x[26], x[27]], -9); +constraint int_lin_le([-1, 1], [x[31], x[36]], -9); +constraint int_lin_le([-1, 1], [x[33], x[35]], -4); +constraint int_lin_le([1, -1], [x[1], x[2]], -3); +constraint int_lin_le([1, -1], [x[2], x[4]], -6); +constraint int_lin_le([1, -1], [x[4], x[6]], -7); +constraint int_lin_le([1, -1], [x[7], x[10]], -10); +constraint int_lin_le([1, -1], [x[8], x[9]], -8); +constraint int_lin_le([1, -1], [x[9], x[11]], -5); +constraint int_lin_le([1, -1], [x[11], x[12]], -10); +constraint int_lin_le([1, -1], [x[13], x[14]], -9); +constraint int_lin_le([1, -1], [x[14], x[17]], -1); +constraint int_lin_le([1, -1], [x[15], x[16]], -5); +constraint int_lin_le([1, -1], [x[16], x[18]], -4); +constraint int_lin_le([1, -1], [x[19], x[21]], -5); +constraint int_lin_le([1, -1], [x[21], x[22]], -5); +constraint int_lin_le([1, -1], [x[22], x[23]], -3); +constraint int_lin_le([1, -1], [x[23], x[24]], -8); +constraint int_lin_le([1, -1], [x[25], x[28]], -3); +constraint int_lin_le([1, -1], [x[26], x[29]], -3); +constraint int_lin_le([1, -1], [x[29], x[30]], -5); +constraint int_lin_le([1, -1], [x[31], x[35]], -10); +constraint int_lin_le([1, -1], [x[32], x[34]], -3); +constraint int_lin_le([1, -1], [x[34], x[36]], -3); +constraint int_lin_le([-197, -1, 1], [Y[7], x[1], x[7]], -10); +constraint int_lin_le([-197, -1, 1], [Y[8], x[2], x[8]], -8); +constraint int_lin_le([-197, -1, 1], [Y[9], x[3], x[9]], -5); +constraint int_lin_le([-197, -1, 1], [Y[10], x[4], x[10]], -4); +constraint int_lin_le([-197, -1, 1], [Y[11], x[5], x[11]], -10); +constraint int_lin_le([-197, -1, 1], [Y[12], x[6], x[12]], -10); +constraint int_lin_le([-197, -1, 1], [Y[13], x[1], x[13]], -9); +constraint int_lin_le([-197, -1, 1], [Y[14], x[2], x[14]], -1); +constraint int_lin_le([-197, -1, 1], [Y[15], x[3], x[15]], -5); +constraint int_lin_le([-197, -1, 1], [Y[16], x[4], x[16]], -4); +constraint int_lin_le([-197, -1, 1], [Y[17], x[5], x[17]], -7); +constraint int_lin_le([-197, -1, 1], [Y[18], x[6], x[18]], -8); +constraint int_lin_le([-197, -1, 1], [Y[19], x[1], x[19]], -5); +constraint int_lin_le([-197, -1, 1], [Y[20], x[2], x[20]], -5); +constraint int_lin_le([-197, -1, 1], [Y[21], x[3], x[21]], -5); +constraint int_lin_le([-197, -1, 1], [Y[22], x[4], x[22]], -3); +constraint int_lin_le([-197, -1, 1], [Y[23], x[5], x[23]], -8); +constraint int_lin_le([-197, -1, 1], [Y[24], x[6], x[24]], -9); +constraint int_lin_le([-197, -1, 1], [Y[25], x[1], x[25]], -3); +constraint int_lin_le([-197, -1, 1], [Y[26], x[2], x[26]], -3); +constraint int_lin_le([-197, -1, 1], [Y[27], x[3], x[27]], -9); +constraint int_lin_le([-197, -1, 1], [Y[28], x[4], x[28]], -1); +constraint int_lin_le([-197, -1, 1], [Y[29], x[5], x[29]], -5); +constraint int_lin_le([-197, -1, 1], [Y[30], x[6], x[30]], -4); +constraint int_lin_le([-197, -1, 1], [Y[31], x[1], x[31]], -10); +constraint int_lin_le([-197, -1, 1], [Y[32], x[2], x[32]], -3); +constraint int_lin_le([-197, -1, 1], [Y[33], x[3], x[33]], -1); +constraint int_lin_le([-197, -1, 1], [Y[34], x[4], x[34]], -3); +constraint int_lin_le([-197, -1, 1], [Y[35], x[5], x[35]], -4); +constraint int_lin_le([-197, -1, 1], [Y[36], x[6], x[36]], -9); +constraint int_lin_le([-197, -1, 1], [Y[49], x[7], x[13]], -9); +constraint int_lin_le([-197, -1, 1], [Y[50], x[8], x[14]], -1); +constraint int_lin_le([-197, -1, 1], [Y[51], x[9], x[15]], -5); +constraint int_lin_le([-197, -1, 1], [Y[52], x[10], x[16]], -4); +constraint int_lin_le([-197, -1, 1], [Y[53], x[11], x[17]], -7); +constraint int_lin_le([-197, -1, 1], [Y[54], x[12], x[18]], -8); +constraint int_lin_le([-197, -1, 1], [Y[55], x[7], x[19]], -5); +constraint int_lin_le([-197, -1, 1], [Y[56], x[8], x[20]], -5); +constraint int_lin_le([-197, -1, 1], [Y[57], x[9], x[21]], -5); +constraint int_lin_le([-197, -1, 1], [Y[58], x[10], x[22]], -3); +constraint int_lin_le([-197, -1, 1], [Y[59], x[11], x[23]], -8); +constraint int_lin_le([-197, -1, 1], [Y[60], x[12], x[24]], -9); +constraint int_lin_le([-197, -1, 1], [Y[61], x[7], x[25]], -3); +constraint int_lin_le([-197, -1, 1], [Y[62], x[8], x[26]], -3); +constraint int_lin_le([-197, -1, 1], [Y[63], x[9], x[27]], -9); +constraint int_lin_le([-197, -1, 1], [Y[64], x[10], x[28]], -1); +constraint int_lin_le([-197, -1, 1], [Y[65], x[11], x[29]], -5); +constraint int_lin_le([-197, -1, 1], [Y[66], x[12], x[30]], -4); +constraint int_lin_le([-197, -1, 1], [Y[67], x[7], x[31]], -10); +constraint int_lin_le([-197, -1, 1], [Y[68], x[8], x[32]], -3); +constraint int_lin_le([-197, -1, 1], [Y[69], x[9], x[33]], -1); +constraint int_lin_le([-197, -1, 1], [Y[70], x[10], x[34]], -3); +constraint int_lin_le([-197, -1, 1], [Y[71], x[11], x[35]], -4); +constraint int_lin_le([-197, -1, 1], [Y[72], x[12], x[36]], -9); +constraint int_lin_le([-197, -1, 1], [Y[91], x[13], x[19]], -5); +constraint int_lin_le([-197, -1, 1], [Y[92], x[14], x[20]], -5); +constraint int_lin_le([-197, -1, 1], [Y[93], x[15], x[21]], -5); +constraint int_lin_le([-197, -1, 1], [Y[94], x[16], x[22]], -3); +constraint int_lin_le([-197, -1, 1], [Y[95], x[17], x[23]], -8); +constraint int_lin_le([-197, -1, 1], [Y[96], x[18], x[24]], -9); +constraint int_lin_le([-197, -1, 1], [Y[97], x[13], x[25]], -3); +constraint int_lin_le([-197, -1, 1], [Y[98], x[14], x[26]], -3); +constraint int_lin_le([-197, -1, 1], [Y[99], x[15], x[27]], -9); +constraint int_lin_le([-197, -1, 1], [Y[100], x[16], x[28]], -1); +constraint int_lin_le([-197, -1, 1], [Y[101], x[17], x[29]], -5); +constraint int_lin_le([-197, -1, 1], [Y[102], x[18], x[30]], -4); +constraint int_lin_le([-197, -1, 1], [Y[103], x[13], x[31]], -10); +constraint int_lin_le([-197, -1, 1], [Y[104], x[14], x[32]], -3); +constraint int_lin_le([-197, -1, 1], [Y[105], x[15], x[33]], -1); +constraint int_lin_le([-197, -1, 1], [Y[106], x[16], x[34]], -3); +constraint int_lin_le([-197, -1, 1], [Y[107], x[17], x[35]], -4); +constraint int_lin_le([-197, -1, 1], [Y[108], x[18], x[36]], -9); +constraint int_lin_le([-197, -1, 1], [Y[133], x[19], x[25]], -3); +constraint int_lin_le([-197, -1, 1], [Y[134], x[20], x[26]], -3); +constraint int_lin_le([-197, -1, 1], [Y[135], x[21], x[27]], -9); +constraint int_lin_le([-197, -1, 1], [Y[136], x[22], x[28]], -1); +constraint int_lin_le([-197, -1, 1], [Y[137], x[23], x[29]], -5); +constraint int_lin_le([-197, -1, 1], [Y[138], x[24], x[30]], -4); +constraint int_lin_le([-197, -1, 1], [Y[139], x[19], x[31]], -10); +constraint int_lin_le([-197, -1, 1], [Y[140], x[20], x[32]], -3); +constraint int_lin_le([-197, -1, 1], [Y[141], x[21], x[33]], -1); +constraint int_lin_le([-197, -1, 1], [Y[142], x[22], x[34]], -3); +constraint int_lin_le([-197, -1, 1], [Y[143], x[23], x[35]], -4); +constraint int_lin_le([-197, -1, 1], [Y[144], x[24], x[36]], -9); +constraint int_lin_le([-197, -1, 1], [Y[175], x[25], x[31]], -10); +constraint int_lin_le([-197, -1, 1], [Y[176], x[26], x[32]], -3); +constraint int_lin_le([-197, -1, 1], [Y[177], x[27], x[33]], -1); +constraint int_lin_le([-197, -1, 1], [Y[178], x[28], x[34]], -3); +constraint int_lin_le([-197, -1, 1], [Y[179], x[29], x[35]], -4); +constraint int_lin_le([-197, -1, 1], [Y[180], x[30], x[36]], -9); +constraint int_lin_le([-197, 1, -1], [Y[37], x[1], x[7]], -3); +constraint int_lin_le([-197, 1, -1], [Y[38], x[2], x[8]], -6); +constraint int_lin_le([-197, 1, -1], [Y[39], x[3], x[9]], -1); +constraint int_lin_le([-197, 1, -1], [Y[40], x[4], x[10]], -7); +constraint int_lin_le([-197, 1, -1], [Y[41], x[5], x[11]], -6); +constraint int_lin_le([-197, 1, -1], [Y[42], x[6], x[12]], -3); +constraint int_lin_le([-197, 1, -1], [Y[73], x[1], x[13]], -3); +constraint int_lin_le([-197, 1, -1], [Y[74], x[2], x[14]], -6); +constraint int_lin_le([-197, 1, -1], [Y[75], x[3], x[15]], -1); +constraint int_lin_le([-197, 1, -1], [Y[76], x[4], x[16]], -7); +constraint int_lin_le([-197, 1, -1], [Y[77], x[5], x[17]], -6); +constraint int_lin_le([-197, 1, -1], [Y[78], x[6], x[18]], -3); +constraint int_lin_le([-197, 1, -1], [Y[79], x[7], x[13]], -10); +constraint int_lin_le([-197, 1, -1], [Y[80], x[8], x[14]], -8); +constraint int_lin_le([-197, 1, -1], [Y[81], x[9], x[15]], -5); +constraint int_lin_le([-197, 1, -1], [Y[82], x[10], x[16]], -4); +constraint int_lin_le([-197, 1, -1], [Y[83], x[11], x[17]], -10); +constraint int_lin_le([-197, 1, -1], [Y[84], x[12], x[18]], -10); +constraint int_lin_le([-197, 1, -1], [Y[109], x[1], x[19]], -3); +constraint int_lin_le([-197, 1, -1], [Y[110], x[2], x[20]], -6); +constraint int_lin_le([-197, 1, -1], [Y[111], x[3], x[21]], -1); +constraint int_lin_le([-197, 1, -1], [Y[112], x[4], x[22]], -7); +constraint int_lin_le([-197, 1, -1], [Y[113], x[5], x[23]], -6); +constraint int_lin_le([-197, 1, -1], [Y[114], x[6], x[24]], -3); +constraint int_lin_le([-197, 1, -1], [Y[115], x[7], x[19]], -10); +constraint int_lin_le([-197, 1, -1], [Y[116], x[8], x[20]], -8); +constraint int_lin_le([-197, 1, -1], [Y[117], x[9], x[21]], -5); +constraint int_lin_le([-197, 1, -1], [Y[118], x[10], x[22]], -4); +constraint int_lin_le([-197, 1, -1], [Y[119], x[11], x[23]], -10); +constraint int_lin_le([-197, 1, -1], [Y[120], x[12], x[24]], -10); +constraint int_lin_le([-197, 1, -1], [Y[121], x[13], x[19]], -9); +constraint int_lin_le([-197, 1, -1], [Y[122], x[14], x[20]], -1); +constraint int_lin_le([-197, 1, -1], [Y[123], x[15], x[21]], -5); +constraint int_lin_le([-197, 1, -1], [Y[124], x[16], x[22]], -4); +constraint int_lin_le([-197, 1, -1], [Y[125], x[17], x[23]], -7); +constraint int_lin_le([-197, 1, -1], [Y[126], x[18], x[24]], -8); +constraint int_lin_le([-197, 1, -1], [Y[145], x[1], x[25]], -3); +constraint int_lin_le([-197, 1, -1], [Y[146], x[2], x[26]], -6); +constraint int_lin_le([-197, 1, -1], [Y[147], x[3], x[27]], -1); +constraint int_lin_le([-197, 1, -1], [Y[148], x[4], x[28]], -7); +constraint int_lin_le([-197, 1, -1], [Y[149], x[5], x[29]], -6); +constraint int_lin_le([-197, 1, -1], [Y[150], x[6], x[30]], -3); +constraint int_lin_le([-197, 1, -1], [Y[151], x[7], x[25]], -10); +constraint int_lin_le([-197, 1, -1], [Y[152], x[8], x[26]], -8); +constraint int_lin_le([-197, 1, -1], [Y[153], x[9], x[27]], -5); +constraint int_lin_le([-197, 1, -1], [Y[154], x[10], x[28]], -4); +constraint int_lin_le([-197, 1, -1], [Y[155], x[11], x[29]], -10); +constraint int_lin_le([-197, 1, -1], [Y[156], x[12], x[30]], -10); +constraint int_lin_le([-197, 1, -1], [Y[157], x[13], x[25]], -9); +constraint int_lin_le([-197, 1, -1], [Y[158], x[14], x[26]], -1); +constraint int_lin_le([-197, 1, -1], [Y[159], x[15], x[27]], -5); +constraint int_lin_le([-197, 1, -1], [Y[160], x[16], x[28]], -4); +constraint int_lin_le([-197, 1, -1], [Y[161], x[17], x[29]], -7); +constraint int_lin_le([-197, 1, -1], [Y[162], x[18], x[30]], -8); +constraint int_lin_le([-197, 1, -1], [Y[163], x[19], x[25]], -5); +constraint int_lin_le([-197, 1, -1], [Y[164], x[20], x[26]], -5); +constraint int_lin_le([-197, 1, -1], [Y[165], x[21], x[27]], -5); +constraint int_lin_le([-197, 1, -1], [Y[166], x[22], x[28]], -3); +constraint int_lin_le([-197, 1, -1], [Y[167], x[23], x[29]], -8); +constraint int_lin_le([-197, 1, -1], [Y[168], x[24], x[30]], -9); +constraint int_lin_le([-197, 1, -1], [Y[181], x[1], x[31]], -3); +constraint int_lin_le([-197, 1, -1], [Y[182], x[2], x[32]], -6); +constraint int_lin_le([-197, 1, -1], [Y[183], x[3], x[33]], -1); +constraint int_lin_le([-197, 1, -1], [Y[184], x[4], x[34]], -7); +constraint int_lin_le([-197, 1, -1], [Y[185], x[5], x[35]], -6); +constraint int_lin_le([-197, 1, -1], [Y[186], x[6], x[36]], -3); +constraint int_lin_le([-197, 1, -1], [Y[187], x[7], x[31]], -10); +constraint int_lin_le([-197, 1, -1], [Y[188], x[8], x[32]], -8); +constraint int_lin_le([-197, 1, -1], [Y[189], x[9], x[33]], -5); +constraint int_lin_le([-197, 1, -1], [Y[190], x[10], x[34]], -4); +constraint int_lin_le([-197, 1, -1], [Y[191], x[11], x[35]], -10); +constraint int_lin_le([-197, 1, -1], [Y[192], x[12], x[36]], -10); +constraint int_lin_le([-197, 1, -1], [Y[193], x[13], x[31]], -9); +constraint int_lin_le([-197, 1, -1], [Y[194], x[14], x[32]], -1); +constraint int_lin_le([-197, 1, -1], [Y[195], x[15], x[33]], -5); +constraint int_lin_le([-197, 1, -1], [Y[196], x[16], x[34]], -4); +constraint int_lin_le([-197, 1, -1], [Y[197], x[17], x[35]], -7); +constraint int_lin_le([-197, 1, -1], [Y[198], x[18], x[36]], -8); +constraint int_lin_le([-197, 1, -1], [Y[199], x[19], x[31]], -5); +constraint int_lin_le([-197, 1, -1], [Y[200], x[20], x[32]], -5); +constraint int_lin_le([-197, 1, -1], [Y[201], x[21], x[33]], -5); +constraint int_lin_le([-197, 1, -1], [Y[202], x[22], x[34]], -3); +constraint int_lin_le([-197, 1, -1], [Y[203], x[23], x[35]], -8); +constraint int_lin_le([-197, 1, -1], [Y[204], x[24], x[36]], -9); +constraint int_lin_le([-197, 1, -1], [Y[205], x[25], x[31]], -3); +constraint int_lin_le([-197, 1, -1], [Y[206], x[26], x[32]], -3); +constraint int_lin_le([-197, 1, -1], [Y[207], x[27], x[33]], -9); +constraint int_lin_le([-197, 1, -1], [Y[208], x[28], x[34]], -1); +constraint int_lin_le([-197, 1, -1], [Y[209], x[29], x[35]], -5); +constraint int_lin_le([-197, 1, -1], [Y[210], x[30], x[36]], -4); +constraint int_lin_le([197, -1, 1], [Y[37], x[1], x[7]], 187); +constraint int_lin_le([197, -1, 1], [Y[38], x[2], x[8]], 189); +constraint int_lin_le([197, -1, 1], [Y[39], x[3], x[9]], 192); +constraint int_lin_le([197, -1, 1], [Y[40], x[4], x[10]], 193); +constraint int_lin_le([197, -1, 1], [Y[41], x[5], x[11]], 187); +constraint int_lin_le([197, -1, 1], [Y[42], x[6], x[12]], 187); +constraint int_lin_le([197, -1, 1], [Y[73], x[1], x[13]], 188); +constraint int_lin_le([197, -1, 1], [Y[74], x[2], x[14]], 196); +constraint int_lin_le([197, -1, 1], [Y[75], x[3], x[15]], 192); +constraint int_lin_le([197, -1, 1], [Y[76], x[4], x[16]], 193); +constraint int_lin_le([197, -1, 1], [Y[77], x[5], x[17]], 190); +constraint int_lin_le([197, -1, 1], [Y[78], x[6], x[18]], 189); +constraint int_lin_le([197, -1, 1], [Y[79], x[7], x[13]], 188); +constraint int_lin_le([197, -1, 1], [Y[80], x[8], x[14]], 196); +constraint int_lin_le([197, -1, 1], [Y[81], x[9], x[15]], 192); +constraint int_lin_le([197, -1, 1], [Y[82], x[10], x[16]], 193); +constraint int_lin_le([197, -1, 1], [Y[83], x[11], x[17]], 190); +constraint int_lin_le([197, -1, 1], [Y[84], x[12], x[18]], 189); +constraint int_lin_le([197, -1, 1], [Y[109], x[1], x[19]], 192); +constraint int_lin_le([197, -1, 1], [Y[110], x[2], x[20]], 192); +constraint int_lin_le([197, -1, 1], [Y[111], x[3], x[21]], 192); +constraint int_lin_le([197, -1, 1], [Y[112], x[4], x[22]], 194); +constraint int_lin_le([197, -1, 1], [Y[113], x[5], x[23]], 189); +constraint int_lin_le([197, -1, 1], [Y[114], x[6], x[24]], 188); +constraint int_lin_le([197, -1, 1], [Y[115], x[7], x[19]], 192); +constraint int_lin_le([197, -1, 1], [Y[116], x[8], x[20]], 192); +constraint int_lin_le([197, -1, 1], [Y[117], x[9], x[21]], 192); +constraint int_lin_le([197, -1, 1], [Y[118], x[10], x[22]], 194); +constraint int_lin_le([197, -1, 1], [Y[119], x[11], x[23]], 189); +constraint int_lin_le([197, -1, 1], [Y[120], x[12], x[24]], 188); +constraint int_lin_le([197, -1, 1], [Y[121], x[13], x[19]], 192); +constraint int_lin_le([197, -1, 1], [Y[122], x[14], x[20]], 192); +constraint int_lin_le([197, -1, 1], [Y[123], x[15], x[21]], 192); +constraint int_lin_le([197, -1, 1], [Y[124], x[16], x[22]], 194); +constraint int_lin_le([197, -1, 1], [Y[125], x[17], x[23]], 189); +constraint int_lin_le([197, -1, 1], [Y[126], x[18], x[24]], 188); +constraint int_lin_le([197, -1, 1], [Y[145], x[1], x[25]], 194); +constraint int_lin_le([197, -1, 1], [Y[146], x[2], x[26]], 194); +constraint int_lin_le([197, -1, 1], [Y[147], x[3], x[27]], 188); +constraint int_lin_le([197, -1, 1], [Y[148], x[4], x[28]], 196); +constraint int_lin_le([197, -1, 1], [Y[149], x[5], x[29]], 192); +constraint int_lin_le([197, -1, 1], [Y[150], x[6], x[30]], 193); +constraint int_lin_le([197, -1, 1], [Y[151], x[7], x[25]], 194); +constraint int_lin_le([197, -1, 1], [Y[152], x[8], x[26]], 194); +constraint int_lin_le([197, -1, 1], [Y[153], x[9], x[27]], 188); +constraint int_lin_le([197, -1, 1], [Y[154], x[10], x[28]], 196); +constraint int_lin_le([197, -1, 1], [Y[155], x[11], x[29]], 192); +constraint int_lin_le([197, -1, 1], [Y[156], x[12], x[30]], 193); +constraint int_lin_le([197, -1, 1], [Y[157], x[13], x[25]], 194); +constraint int_lin_le([197, -1, 1], [Y[158], x[14], x[26]], 194); +constraint int_lin_le([197, -1, 1], [Y[159], x[15], x[27]], 188); +constraint int_lin_le([197, -1, 1], [Y[160], x[16], x[28]], 196); +constraint int_lin_le([197, -1, 1], [Y[161], x[17], x[29]], 192); +constraint int_lin_le([197, -1, 1], [Y[162], x[18], x[30]], 193); +constraint int_lin_le([197, -1, 1], [Y[163], x[19], x[25]], 194); +constraint int_lin_le([197, -1, 1], [Y[164], x[20], x[26]], 194); +constraint int_lin_le([197, -1, 1], [Y[165], x[21], x[27]], 188); +constraint int_lin_le([197, -1, 1], [Y[166], x[22], x[28]], 196); +constraint int_lin_le([197, -1, 1], [Y[167], x[23], x[29]], 192); +constraint int_lin_le([197, -1, 1], [Y[168], x[24], x[30]], 193); +constraint int_lin_le([197, -1, 1], [Y[181], x[1], x[31]], 187); +constraint int_lin_le([197, -1, 1], [Y[182], x[2], x[32]], 194); +constraint int_lin_le([197, -1, 1], [Y[183], x[3], x[33]], 196); +constraint int_lin_le([197, -1, 1], [Y[184], x[4], x[34]], 194); +constraint int_lin_le([197, -1, 1], [Y[185], x[5], x[35]], 193); +constraint int_lin_le([197, -1, 1], [Y[186], x[6], x[36]], 188); +constraint int_lin_le([197, -1, 1], [Y[187], x[7], x[31]], 187); +constraint int_lin_le([197, -1, 1], [Y[188], x[8], x[32]], 194); +constraint int_lin_le([197, -1, 1], [Y[189], x[9], x[33]], 196); +constraint int_lin_le([197, -1, 1], [Y[190], x[10], x[34]], 194); +constraint int_lin_le([197, -1, 1], [Y[191], x[11], x[35]], 193); +constraint int_lin_le([197, -1, 1], [Y[192], x[12], x[36]], 188); +constraint int_lin_le([197, -1, 1], [Y[193], x[13], x[31]], 187); +constraint int_lin_le([197, -1, 1], [Y[194], x[14], x[32]], 194); +constraint int_lin_le([197, -1, 1], [Y[195], x[15], x[33]], 196); +constraint int_lin_le([197, -1, 1], [Y[196], x[16], x[34]], 194); +constraint int_lin_le([197, -1, 1], [Y[197], x[17], x[35]], 193); +constraint int_lin_le([197, -1, 1], [Y[198], x[18], x[36]], 188); +constraint int_lin_le([197, -1, 1], [Y[199], x[19], x[31]], 187); +constraint int_lin_le([197, -1, 1], [Y[200], x[20], x[32]], 194); +constraint int_lin_le([197, -1, 1], [Y[201], x[21], x[33]], 196); +constraint int_lin_le([197, -1, 1], [Y[202], x[22], x[34]], 194); +constraint int_lin_le([197, -1, 1], [Y[203], x[23], x[35]], 193); +constraint int_lin_le([197, -1, 1], [Y[204], x[24], x[36]], 188); +constraint int_lin_le([197, -1, 1], [Y[205], x[25], x[31]], 187); +constraint int_lin_le([197, -1, 1], [Y[206], x[26], x[32]], 194); +constraint int_lin_le([197, -1, 1], [Y[207], x[27], x[33]], 196); +constraint int_lin_le([197, -1, 1], [Y[208], x[28], x[34]], 194); +constraint int_lin_le([197, -1, 1], [Y[209], x[29], x[35]], 193); +constraint int_lin_le([197, -1, 1], [Y[210], x[30], x[36]], 188); +constraint int_lin_le([197, 1, -1], [Y[7], x[1], x[7]], 194); +constraint int_lin_le([197, 1, -1], [Y[8], x[2], x[8]], 191); +constraint int_lin_le([197, 1, -1], [Y[9], x[3], x[9]], 196); +constraint int_lin_le([197, 1, -1], [Y[10], x[4], x[10]], 190); +constraint int_lin_le([197, 1, -1], [Y[11], x[5], x[11]], 191); +constraint int_lin_le([197, 1, -1], [Y[12], x[6], x[12]], 194); +constraint int_lin_le([197, 1, -1], [Y[13], x[1], x[13]], 194); +constraint int_lin_le([197, 1, -1], [Y[14], x[2], x[14]], 191); +constraint int_lin_le([197, 1, -1], [Y[15], x[3], x[15]], 196); +constraint int_lin_le([197, 1, -1], [Y[16], x[4], x[16]], 190); +constraint int_lin_le([197, 1, -1], [Y[17], x[5], x[17]], 191); +constraint int_lin_le([197, 1, -1], [Y[18], x[6], x[18]], 194); +constraint int_lin_le([197, 1, -1], [Y[19], x[1], x[19]], 194); +constraint int_lin_le([197, 1, -1], [Y[20], x[2], x[20]], 191); +constraint int_lin_le([197, 1, -1], [Y[21], x[3], x[21]], 196); +constraint int_lin_le([197, 1, -1], [Y[22], x[4], x[22]], 190); +constraint int_lin_le([197, 1, -1], [Y[23], x[5], x[23]], 191); +constraint int_lin_le([197, 1, -1], [Y[24], x[6], x[24]], 194); +constraint int_lin_le([197, 1, -1], [Y[25], x[1], x[25]], 194); +constraint int_lin_le([197, 1, -1], [Y[26], x[2], x[26]], 191); +constraint int_lin_le([197, 1, -1], [Y[27], x[3], x[27]], 196); +constraint int_lin_le([197, 1, -1], [Y[28], x[4], x[28]], 190); +constraint int_lin_le([197, 1, -1], [Y[29], x[5], x[29]], 191); +constraint int_lin_le([197, 1, -1], [Y[30], x[6], x[30]], 194); +constraint int_lin_le([197, 1, -1], [Y[31], x[1], x[31]], 194); +constraint int_lin_le([197, 1, -1], [Y[32], x[2], x[32]], 191); +constraint int_lin_le([197, 1, -1], [Y[33], x[3], x[33]], 196); +constraint int_lin_le([197, 1, -1], [Y[34], x[4], x[34]], 190); +constraint int_lin_le([197, 1, -1], [Y[35], x[5], x[35]], 191); +constraint int_lin_le([197, 1, -1], [Y[36], x[6], x[36]], 194); +constraint int_lin_le([197, 1, -1], [Y[49], x[7], x[13]], 187); +constraint int_lin_le([197, 1, -1], [Y[50], x[8], x[14]], 189); +constraint int_lin_le([197, 1, -1], [Y[51], x[9], x[15]], 192); +constraint int_lin_le([197, 1, -1], [Y[52], x[10], x[16]], 193); +constraint int_lin_le([197, 1, -1], [Y[53], x[11], x[17]], 187); +constraint int_lin_le([197, 1, -1], [Y[54], x[12], x[18]], 187); +constraint int_lin_le([197, 1, -1], [Y[55], x[7], x[19]], 187); +constraint int_lin_le([197, 1, -1], [Y[56], x[8], x[20]], 189); +constraint int_lin_le([197, 1, -1], [Y[57], x[9], x[21]], 192); +constraint int_lin_le([197, 1, -1], [Y[58], x[10], x[22]], 193); +constraint int_lin_le([197, 1, -1], [Y[59], x[11], x[23]], 187); +constraint int_lin_le([197, 1, -1], [Y[60], x[12], x[24]], 187); +constraint int_lin_le([197, 1, -1], [Y[61], x[7], x[25]], 187); +constraint int_lin_le([197, 1, -1], [Y[62], x[8], x[26]], 189); +constraint int_lin_le([197, 1, -1], [Y[63], x[9], x[27]], 192); +constraint int_lin_le([197, 1, -1], [Y[64], x[10], x[28]], 193); +constraint int_lin_le([197, 1, -1], [Y[65], x[11], x[29]], 187); +constraint int_lin_le([197, 1, -1], [Y[66], x[12], x[30]], 187); +constraint int_lin_le([197, 1, -1], [Y[67], x[7], x[31]], 187); +constraint int_lin_le([197, 1, -1], [Y[68], x[8], x[32]], 189); +constraint int_lin_le([197, 1, -1], [Y[69], x[9], x[33]], 192); +constraint int_lin_le([197, 1, -1], [Y[70], x[10], x[34]], 193); +constraint int_lin_le([197, 1, -1], [Y[71], x[11], x[35]], 187); +constraint int_lin_le([197, 1, -1], [Y[72], x[12], x[36]], 187); +constraint int_lin_le([197, 1, -1], [Y[91], x[13], x[19]], 188); +constraint int_lin_le([197, 1, -1], [Y[92], x[14], x[20]], 196); +constraint int_lin_le([197, 1, -1], [Y[93], x[15], x[21]], 192); +constraint int_lin_le([197, 1, -1], [Y[94], x[16], x[22]], 193); +constraint int_lin_le([197, 1, -1], [Y[95], x[17], x[23]], 190); +constraint int_lin_le([197, 1, -1], [Y[96], x[18], x[24]], 189); +constraint int_lin_le([197, 1, -1], [Y[97], x[13], x[25]], 188); +constraint int_lin_le([197, 1, -1], [Y[98], x[14], x[26]], 196); +constraint int_lin_le([197, 1, -1], [Y[99], x[15], x[27]], 192); +constraint int_lin_le([197, 1, -1], [Y[100], x[16], x[28]], 193); +constraint int_lin_le([197, 1, -1], [Y[101], x[17], x[29]], 190); +constraint int_lin_le([197, 1, -1], [Y[102], x[18], x[30]], 189); +constraint int_lin_le([197, 1, -1], [Y[103], x[13], x[31]], 188); +constraint int_lin_le([197, 1, -1], [Y[104], x[14], x[32]], 196); +constraint int_lin_le([197, 1, -1], [Y[105], x[15], x[33]], 192); +constraint int_lin_le([197, 1, -1], [Y[106], x[16], x[34]], 193); +constraint int_lin_le([197, 1, -1], [Y[107], x[17], x[35]], 190); +constraint int_lin_le([197, 1, -1], [Y[108], x[18], x[36]], 189); +constraint int_lin_le([197, 1, -1], [Y[133], x[19], x[25]], 192); +constraint int_lin_le([197, 1, -1], [Y[134], x[20], x[26]], 192); +constraint int_lin_le([197, 1, -1], [Y[135], x[21], x[27]], 192); +constraint int_lin_le([197, 1, -1], [Y[136], x[22], x[28]], 194); +constraint int_lin_le([197, 1, -1], [Y[137], x[23], x[29]], 189); +constraint int_lin_le([197, 1, -1], [Y[138], x[24], x[30]], 188); +constraint int_lin_le([197, 1, -1], [Y[139], x[19], x[31]], 192); +constraint int_lin_le([197, 1, -1], [Y[140], x[20], x[32]], 192); +constraint int_lin_le([197, 1, -1], [Y[141], x[21], x[33]], 192); +constraint int_lin_le([197, 1, -1], [Y[142], x[22], x[34]], 194); +constraint int_lin_le([197, 1, -1], [Y[143], x[23], x[35]], 189); +constraint int_lin_le([197, 1, -1], [Y[144], x[24], x[36]], 188); +constraint int_lin_le([197, 1, -1], [Y[175], x[25], x[31]], 194); +constraint int_lin_le([197, 1, -1], [Y[176], x[26], x[32]], 194); +constraint int_lin_le([197, 1, -1], [Y[177], x[27], x[33]], 188); +constraint int_lin_le([197, 1, -1], [Y[178], x[28], x[34]], 196); +constraint int_lin_le([197, 1, -1], [Y[179], x[29], x[35]], 192); +constraint int_lin_le([197, 1, -1], [Y[180], x[30], x[36]], 193); +solve :: int_search([x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], Y[1], Y[2], Y[3], Y[4], Y[5], Y[6], Y[7], Y[8], Y[9], Y[10], Y[11], Y[12], Y[13], Y[14], Y[15], Y[16], Y[17], Y[18], Y[19], Y[20], Y[21], Y[22], Y[23], Y[24], Y[25], Y[26], Y[27], Y[28], Y[29], Y[30], Y[31], Y[32], Y[33], Y[34], Y[35], Y[36], Y[37], Y[38], Y[39], Y[40], Y[41], Y[42], Y[43], Y[44], Y[45], Y[46], Y[47], Y[48], Y[49], Y[50], Y[51], Y[52], Y[53], Y[54], Y[55], Y[56], Y[57], Y[58], Y[59], Y[60], Y[61], Y[62], Y[63], Y[64], Y[65], Y[66], Y[67], Y[68], Y[69], Y[70], Y[71], Y[72], Y[73], Y[74], Y[75], Y[76], Y[77], Y[78], Y[79], Y[80], Y[81], Y[82], Y[83], Y[84], Y[85], Y[86], Y[87], Y[88], Y[89], Y[90], Y[91], Y[92], Y[93], Y[94], Y[95], Y[96], Y[97], Y[98], Y[99], Y[100], Y[101], Y[102], Y[103], Y[104], Y[105], Y[106], Y[107], Y[108], Y[109], Y[110], Y[111], Y[112], Y[113], Y[114], Y[115], Y[116], Y[117], Y[118], Y[119], Y[120], Y[121], Y[122], Y[123], Y[124], Y[125], Y[126], Y[127], Y[128], Y[129], Y[130], Y[131], Y[132], Y[133], Y[134], Y[135], Y[136], Y[137], Y[138], Y[139], Y[140], Y[141], Y[142], Y[143], Y[144], Y[145], Y[146], Y[147], Y[148], Y[149], Y[150], Y[151], Y[152], Y[153], Y[154], Y[155], Y[156], Y[157], Y[158], Y[159], Y[160], Y[161], Y[162], Y[163], Y[164], Y[165], Y[166], Y[167], Y[168], Y[169], Y[170], Y[171], Y[172], Y[173], Y[174], Y[175], Y[176], Y[177], Y[178], Y[179], Y[180], Y[181], Y[182], Y[183], Y[184], Y[185], Y[186], Y[187], Y[188], Y[189], Y[190], Y[191], Y[192], Y[193], Y[194], Y[195], Y[196], Y[197], Y[198], Y[199], Y[200], Y[201], Y[202], Y[203], Y[204], Y[205], Y[206], Y[207], Y[208], Y[209], Y[210], Y[211], Y[212], Y[213], Y[214], Y[215], Y[216], 197, z], first_fail, indomain_min, complete) minimize z;