197 lines
13 KiB
MiniZinc
197 lines
13 KiB
MiniZinc
array [1..5] of int: t = [1, 3, 6, 10, 15];
|
|
var bool: BOOL____00010 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00011 :: 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____00020 :: 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____00028 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00032 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00034 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00038 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00040 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00044 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00046 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00050 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00052 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00056 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00058 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00062 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00064 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00068 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00070 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00074 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00076 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00080 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00082 :: is_defined_var :: var_is_introduced;
|
|
var bool: BOOL____00086 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00027 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00029 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00030 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00031 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00033 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00035 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00036 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00037 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00039 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00041 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00042 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00043 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00045 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00047 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00048 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00049 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00051 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00053 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00054 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00055 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00057 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00059 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00060 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00061 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00063 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00065 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00066 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00067 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00069 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00071 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00072 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00073 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00075 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00077 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00078 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00079 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00081 :: is_defined_var :: var_is_introduced;
|
|
var 2..16: INT____00083 :: is_defined_var :: var_is_introduced;
|
|
var 1..15: INT____00084 :: is_defined_var :: var_is_introduced;
|
|
var int: INT____00085 :: is_defined_var :: var_is_introduced;
|
|
array [1..10] of var 1..15: adds :: output_array([1..10]);
|
|
array [1..15] of var int: x :: output_array([1..15]);
|
|
var int: Z :: output_var = x[15];
|
|
var int: Y :: output_var = x[13];
|
|
var int: X____00008 = x[10];
|
|
var int: X____00007 = x[9];
|
|
var int: X____00006 = x[8];
|
|
var int: X____00005 = x[7];
|
|
var int: X____00004 = x[6];
|
|
var int: X____00003 = x[5];
|
|
var int: X____00002 = x[3];
|
|
var int: X____00001 = x[2];
|
|
var int: X :: output_var = x[11];
|
|
constraint array_bool_and([BOOL____00032, BOOL____00028, BOOL____00028], true);
|
|
constraint array_bool_and([BOOL____00038, BOOL____00034, BOOL____00034], true);
|
|
constraint array_bool_and([BOOL____00044, BOOL____00040, BOOL____00040], true);
|
|
constraint array_bool_and([BOOL____00050, BOOL____00046, BOOL____00046], true);
|
|
constraint array_bool_and([BOOL____00056, BOOL____00052, BOOL____00052], true);
|
|
constraint array_bool_and([BOOL____00062, BOOL____00058, BOOL____00058], true);
|
|
constraint array_bool_and([BOOL____00068, BOOL____00064, BOOL____00064], true);
|
|
constraint array_bool_and([BOOL____00074, BOOL____00070, BOOL____00070], true);
|
|
constraint array_bool_and([BOOL____00080, BOOL____00076, BOOL____00076], true);
|
|
constraint array_bool_and([BOOL____00086, BOOL____00082, BOOL____00082], true);
|
|
constraint array_var_int_element(INT____00030, x, INT____00031) :: defines_var(INT____00031);
|
|
constraint array_var_int_element(INT____00036, x, INT____00037) :: defines_var(INT____00037);
|
|
constraint array_var_int_element(INT____00042, x, INT____00043) :: defines_var(INT____00043);
|
|
constraint array_var_int_element(INT____00048, x, INT____00049) :: defines_var(INT____00049);
|
|
constraint array_var_int_element(INT____00054, x, INT____00055) :: defines_var(INT____00055);
|
|
constraint array_var_int_element(INT____00060, x, INT____00061) :: defines_var(INT____00061);
|
|
constraint array_var_int_element(INT____00066, x, INT____00067) :: defines_var(INT____00067);
|
|
constraint array_var_int_element(INT____00072, x, INT____00073) :: defines_var(INT____00073);
|
|
constraint array_var_int_element(INT____00078, x, INT____00079) :: defines_var(INT____00079);
|
|
constraint array_var_int_element(INT____00084, x, INT____00085) :: defines_var(INT____00085);
|
|
constraint array_var_int_element(adds[1], x, INT____00027) :: defines_var(INT____00027);
|
|
constraint array_var_int_element(adds[2], x, INT____00033) :: defines_var(INT____00033);
|
|
constraint array_var_int_element(adds[3], x, INT____00039) :: defines_var(INT____00039);
|
|
constraint array_var_int_element(adds[4], x, INT____00045) :: defines_var(INT____00045);
|
|
constraint array_var_int_element(adds[5], x, INT____00051) :: defines_var(INT____00051);
|
|
constraint array_var_int_element(adds[6], x, INT____00057) :: defines_var(INT____00057);
|
|
constraint array_var_int_element(adds[7], x, INT____00063) :: defines_var(INT____00063);
|
|
constraint array_var_int_element(adds[8], x, INT____00069) :: defines_var(INT____00069);
|
|
constraint array_var_int_element(adds[9], x, INT____00075) :: defines_var(INT____00075);
|
|
constraint array_var_int_element(adds[10], x, INT____00081) :: defines_var(INT____00081);
|
|
constraint int_eq(adds[1], 2);
|
|
constraint int_eq(x[1], 151);
|
|
constraint int_eq(x[4], 40);
|
|
constraint int_eq(x[12], 11);
|
|
constraint int_eq(x[14], 4);
|
|
constraint int_eq_reif(INT____00029, INT____00030, BOOL____00028);
|
|
constraint int_eq_reif(INT____00035, INT____00036, BOOL____00034);
|
|
constraint int_eq_reif(INT____00041, INT____00042, BOOL____00040);
|
|
constraint int_eq_reif(INT____00047, INT____00048, BOOL____00046);
|
|
constraint int_eq_reif(INT____00053, INT____00054, BOOL____00052);
|
|
constraint int_eq_reif(INT____00059, INT____00060, BOOL____00058);
|
|
constraint int_eq_reif(INT____00065, INT____00066, BOOL____00064);
|
|
constraint int_eq_reif(INT____00071, INT____00072, BOOL____00070);
|
|
constraint int_eq_reif(INT____00077, INT____00078, BOOL____00076);
|
|
constraint int_eq_reif(INT____00083, INT____00084, BOOL____00082);
|
|
constraint int_le(0, x[11]);
|
|
constraint int_le(0, x[13]);
|
|
constraint int_le(0, x[15]);
|
|
constraint int_le(1, x[1]);
|
|
constraint int_le(1, x[2]);
|
|
constraint int_le(1, x[3]);
|
|
constraint int_le(1, x[4]);
|
|
constraint int_le(1, x[5]);
|
|
constraint int_le(1, x[6]);
|
|
constraint int_le(1, x[7]);
|
|
constraint int_le(1, x[8]);
|
|
constraint int_le(1, x[9]);
|
|
constraint int_le(1, x[10]);
|
|
constraint int_le(1, x[11]);
|
|
constraint int_le(1, x[12]);
|
|
constraint int_le(1, x[13]);
|
|
constraint int_le(1, x[14]);
|
|
constraint int_le(1, x[15]);
|
|
constraint int_lin_eq([-1, 1], [INT____00029, adds[1]], -1) :: defines_var(INT____00029) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00035, adds[2]], -1) :: defines_var(INT____00035) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00041, adds[3]], -1) :: defines_var(INT____00041) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00047, adds[4]], -1) :: defines_var(INT____00047) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00053, adds[5]], -1) :: defines_var(INT____00053) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00059, adds[6]], -1) :: defines_var(INT____00059) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00065, adds[7]], -1) :: defines_var(INT____00065) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00071, adds[8]], -1) :: defines_var(INT____00071) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00077, adds[9]], -1) :: defines_var(INT____00077) :: domain;
|
|
constraint int_lin_eq([-1, 1], [INT____00083, adds[10]], -1) :: defines_var(INT____00083) :: domain;
|
|
constraint int_lin_eq([-1, 1, -1], [x[11], x[13], x[15]], 0);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[1], adds[2]], 1, BOOL____00010) :: defines_var(BOOL____00010);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[1], adds[2]], 2, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[2], adds[3]], 1, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[2], adds[3]], 2, BOOL____00011) :: defines_var(BOOL____00011);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[3], adds[4]], 1, BOOL____00014) :: defines_var(BOOL____00014);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[3], adds[4]], 2, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[4], adds[5]], 1, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[4], adds[5]], 2, BOOL____00015) :: defines_var(BOOL____00015);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[5], adds[6]], 1, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[5], adds[6]], 2, BOOL____00017) :: defines_var(BOOL____00017);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[6], adds[7]], 1, BOOL____00020) :: defines_var(BOOL____00020);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[6], adds[7]], 2, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[7], adds[8]], 1, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[7], adds[8]], 2, BOOL____00021) :: defines_var(BOOL____00021);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[8], adds[9]], 1, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[8], adds[9]], 2, BOOL____00023) :: defines_var(BOOL____00023);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[9], adds[10]], 1, true);
|
|
constraint int_lin_eq_reif([-1, 1], [adds[9], adds[10]], 2, BOOL____00025) :: defines_var(BOOL____00025);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00027, INT____00031, x[1]], 0, BOOL____00032) :: defines_var(BOOL____00032);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00033, INT____00037, x[2]], 0, BOOL____00038) :: defines_var(BOOL____00038);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00039, INT____00043, x[3]], 0, BOOL____00044) :: defines_var(BOOL____00044);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00045, INT____00049, x[4]], 0, BOOL____00050) :: defines_var(BOOL____00050);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00051, INT____00055, x[5]], 0, BOOL____00056) :: defines_var(BOOL____00056);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00057, INT____00061, x[6]], 0, BOOL____00062) :: defines_var(BOOL____00062);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00063, INT____00067, x[7]], 0, BOOL____00068) :: defines_var(BOOL____00068);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00069, INT____00073, x[8]], 0, BOOL____00074) :: defines_var(BOOL____00074);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00075, INT____00079, x[9]], 0, BOOL____00080) :: defines_var(BOOL____00080);
|
|
constraint int_lin_eq_reif([-1, -1, 1], [INT____00081, INT____00085, x[10]], 0, BOOL____00086) :: defines_var(BOOL____00086);
|
|
constraint int_lin_le_reif([1], [adds[1]], 14, BOOL____00028) :: defines_var(BOOL____00028);
|
|
constraint int_lin_le_reif([1], [adds[2]], 14, BOOL____00034) :: defines_var(BOOL____00034);
|
|
constraint int_lin_le_reif([1], [adds[3]], 14, BOOL____00040) :: defines_var(BOOL____00040);
|
|
constraint int_lin_le_reif([1], [adds[4]], 14, BOOL____00046) :: defines_var(BOOL____00046);
|
|
constraint int_lin_le_reif([1], [adds[5]], 14, BOOL____00052) :: defines_var(BOOL____00052);
|
|
constraint int_lin_le_reif([1], [adds[6]], 14, BOOL____00058) :: defines_var(BOOL____00058);
|
|
constraint int_lin_le_reif([1], [adds[7]], 14, BOOL____00064) :: defines_var(BOOL____00064);
|
|
constraint int_lin_le_reif([1], [adds[8]], 14, BOOL____00070) :: defines_var(BOOL____00070);
|
|
constraint int_lin_le_reif([1], [adds[9]], 14, BOOL____00076) :: defines_var(BOOL____00076);
|
|
constraint int_lin_le_reif([1], [adds[10]], 14, BOOL____00082) :: defines_var(BOOL____00082);
|
|
solve satisfy;
|