Files
ortools-clone/examples/tests/issue139.fzn
2016-01-03 10:52:21 +01:00

244 lines
20 KiB
MiniZinc

predicate inverse(array [int] of var int: f,array [int] of var int: invf);
predicate array_int_maximum(var int: m,array [int] of var int: x);
array [1..2] of int: X_INTRODUCED_54 = [1,-1];
array [1..2] of int: X_INTRODUCED_81 = [-1,1];
array [1..3] of int: X_INTRODUCED_96 = [1,-2,-2];
array [1..2] of int: X_INTRODUCED_127 = [1,-2];
array [1..4] of int: X_INTRODUCED_158 = [1,-2,-2,-2];
var 1..18: X_INTRODUCED_0;
var 1..18: X_INTRODUCED_1;
var 1..18: X_INTRODUCED_2;
var 1..18: X_INTRODUCED_3;
var 1..18: X_INTRODUCED_4;
var 1..18: X_INTRODUCED_5;
var 1..18: X_INTRODUCED_6;
var 1..18: X_INTRODUCED_7;
var 1..18: X_INTRODUCED_8;
var 1..18: X_INTRODUCED_9;
var 1..18: X_INTRODUCED_10;
var 1..18: X_INTRODUCED_11;
var 1..18: X_INTRODUCED_12;
var 1..18: X_INTRODUCED_13;
var 1..18: X_INTRODUCED_14;
var 1..18: X_INTRODUCED_15;
var 1..18: X_INTRODUCED_16;
var 1..18: X_INTRODUCED_17;
var bool: X_INTRODUCED_55 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_56 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_57 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_58 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_59 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_60 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_61 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_62 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_63 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_64 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_65 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_66 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_67 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_68 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_69 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_70 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_71 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_72 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_73 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_74 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_75 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_76 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_77 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_78 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_80 ::var_is_introduced ;
var bool: X_INTRODUCED_82 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_83 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_84 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_85 ::var_is_introduced :: is_defined_var;
var 1..18: X_INTRODUCED_90 ::var_is_introduced ;
var bool: X_INTRODUCED_91 ::var_is_introduced :: is_defined_var;
var 1..18: X_INTRODUCED_93 ::var_is_introduced ;
var bool: X_INTRODUCED_94 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_95 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_97 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_98 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_99 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_100 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_101 ::var_is_introduced ;
var bool: X_INTRODUCED_102 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_103 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_104 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_105 ::var_is_introduced :: is_defined_var;
var 1..18: X_INTRODUCED_109 ::var_is_introduced ;
var bool: X_INTRODUCED_110 ::var_is_introduced :: is_defined_var;
var 1..18: X_INTRODUCED_112 ::var_is_introduced ;
var bool: X_INTRODUCED_113 ::var_is_introduced :: is_defined_var;
var 1..18: X_INTRODUCED_115 ::var_is_introduced ;
var bool: X_INTRODUCED_116 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_117 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_118 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_119 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_120 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_121 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_122 ::var_is_introduced ;
var bool: X_INTRODUCED_123 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_124 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_126 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_128 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_129 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_130 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_131 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_132 ::var_is_introduced ;
var bool: X_INTRODUCED_133 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_134 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_135 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_136 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_139 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_140 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_141 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_142 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_143 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_144 ::var_is_introduced ;
var bool: X_INTRODUCED_145 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_146 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_147 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_148 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_149 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_150 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_153 ::var_is_introduced :: is_defined_var;
var 1..18: X_INTRODUCED_155 ::var_is_introduced ;
var bool: X_INTRODUCED_156 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_157 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_159 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_160 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_161 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_162 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_163 ::var_is_introduced ;
var bool: X_INTRODUCED_164 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_165 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_166 ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_167 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_170 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_171 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_172 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_173 ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_174 ::var_is_introduced :: is_defined_var;
var int: X_INTRODUCED_178 ::var_is_introduced :: is_defined_var;
array [1..18] of var int: interview = [X_INTRODUCED_0,X_INTRODUCED_1,X_INTRODUCED_2,X_INTRODUCED_3,X_INTRODUCED_4,X_INTRODUCED_5,X_INTRODUCED_6,X_INTRODUCED_7,X_INTRODUCED_8,X_INTRODUCED_9,X_INTRODUCED_10,X_INTRODUCED_11,X_INTRODUCED_12,X_INTRODUCED_13,X_INTRODUCED_14,X_INTRODUCED_15,X_INTRODUCED_16,X_INTRODUCED_17];
array [1..18] of var int: order:: output_array([1..18]) = [18,8,17,3,16,7,12,4,15,6,14,5,13,9,1,11,2,10];
array [1..18] of var int: points:: output_array([1..18]) = [X_INTRODUCED_80,X_INTRODUCED_56,X_INTRODUCED_58,X_INTRODUCED_101,X_INTRODUCED_60,X_INTRODUCED_62,X_INTRODUCED_122,X_INTRODUCED_64,X_INTRODUCED_132,X_INTRODUCED_66,X_INTRODUCED_68,X_INTRODUCED_144,X_INTRODUCED_70,X_INTRODUCED_72,X_INTRODUCED_74,X_INTRODUCED_163,X_INTRODUCED_76,X_INTRODUCED_78];
array [1..3] of var int: X_INTRODUCED_89 ::var_is_introduced = [X_INTRODUCED_3,X_INTRODUCED_4,X_INTRODUCED_5];
array [1..4] of var int: X_INTRODUCED_92 ::var_is_introduced = [X_INTRODUCED_11,X_INTRODUCED_12,X_INTRODUCED_13,X_INTRODUCED_14];
array [1..3] of var int: X_INTRODUCED_108 ::var_is_introduced = [X_INTRODUCED_0,X_INTRODUCED_1,X_INTRODUCED_2];
array [1..3] of var int: X_INTRODUCED_114 ::var_is_introduced = [X_INTRODUCED_8,X_INTRODUCED_9,X_INTRODUCED_10];
array [1..3] of var int: X_INTRODUCED_154 ::var_is_introduced = [X_INTRODUCED_15,X_INTRODUCED_16,X_INTRODUCED_17];
constraint inverse(interview,order);
constraint array_int_maximum(X_INTRODUCED_90,X_INTRODUCED_89);
constraint array_int_maximum(X_INTRODUCED_93,X_INTRODUCED_92);
constraint bool_clause([X_INTRODUCED_97],[X_INTRODUCED_95]);
constraint bool_clause([X_INTRODUCED_95,X_INTRODUCED_99],[X_INTRODUCED_98]);
constraint array_bool_or([X_INTRODUCED_95,X_INTRODUCED_98,X_INTRODUCED_100],true);
constraint array_int_maximum(X_INTRODUCED_109,X_INTRODUCED_108);
constraint int_max(X_INTRODUCED_6,X_INTRODUCED_7,X_INTRODUCED_112);
constraint array_int_maximum(X_INTRODUCED_115,X_INTRODUCED_114);
constraint bool_clause([X_INTRODUCED_118],[X_INTRODUCED_117]);
constraint bool_clause([X_INTRODUCED_117,X_INTRODUCED_120],[X_INTRODUCED_119]);
constraint array_bool_or([X_INTRODUCED_117,X_INTRODUCED_119,X_INTRODUCED_121],true);
constraint bool_clause([X_INTRODUCED_128],[X_INTRODUCED_126]);
constraint bool_clause([X_INTRODUCED_126,X_INTRODUCED_130],[X_INTRODUCED_129]);
constraint array_bool_or([X_INTRODUCED_126,X_INTRODUCED_129,X_INTRODUCED_131],true);
constraint bool_clause([X_INTRODUCED_140],[X_INTRODUCED_139]);
constraint bool_clause([X_INTRODUCED_139,X_INTRODUCED_142],[X_INTRODUCED_141]);
constraint array_bool_or([X_INTRODUCED_139,X_INTRODUCED_141,X_INTRODUCED_143],true);
constraint array_int_maximum(X_INTRODUCED_155,X_INTRODUCED_154);
constraint bool_clause([X_INTRODUCED_159],[X_INTRODUCED_157]);
constraint bool_clause([X_INTRODUCED_157,X_INTRODUCED_161],[X_INTRODUCED_160]);
constraint array_bool_or([X_INTRODUCED_157,X_INTRODUCED_160,X_INTRODUCED_162],true);
constraint bool_clause([X_INTRODUCED_171],[X_INTRODUCED_170]);
constraint bool_clause([X_INTRODUCED_170,X_INTRODUCED_173],[X_INTRODUCED_172]);
constraint array_bool_or([X_INTRODUCED_170,X_INTRODUCED_172,X_INTRODUCED_174],true);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_1,X_INTRODUCED_0],-1,X_INTRODUCED_55):: defines_var(X_INTRODUCED_55);
constraint bool2int(X_INTRODUCED_55,X_INTRODUCED_56):: defines_var(X_INTRODUCED_56);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_2,X_INTRODUCED_0],-1,X_INTRODUCED_57):: defines_var(X_INTRODUCED_57);
constraint bool2int(X_INTRODUCED_57,X_INTRODUCED_58):: defines_var(X_INTRODUCED_58);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_4,X_INTRODUCED_3],-1,X_INTRODUCED_59):: defines_var(X_INTRODUCED_59);
constraint bool2int(X_INTRODUCED_59,X_INTRODUCED_60):: defines_var(X_INTRODUCED_60);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_5,X_INTRODUCED_3],-1,X_INTRODUCED_61):: defines_var(X_INTRODUCED_61);
constraint bool2int(X_INTRODUCED_61,X_INTRODUCED_62):: defines_var(X_INTRODUCED_62);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_7,X_INTRODUCED_6],-1,X_INTRODUCED_63):: defines_var(X_INTRODUCED_63);
constraint bool2int(X_INTRODUCED_63,X_INTRODUCED_64):: defines_var(X_INTRODUCED_64);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_9,X_INTRODUCED_8],-1,X_INTRODUCED_65):: defines_var(X_INTRODUCED_65);
constraint bool2int(X_INTRODUCED_65,X_INTRODUCED_66):: defines_var(X_INTRODUCED_66);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_10,X_INTRODUCED_8],-1,X_INTRODUCED_67):: defines_var(X_INTRODUCED_67);
constraint bool2int(X_INTRODUCED_67,X_INTRODUCED_68):: defines_var(X_INTRODUCED_68);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_12,X_INTRODUCED_11],-1,X_INTRODUCED_69):: defines_var(X_INTRODUCED_69);
constraint bool2int(X_INTRODUCED_69,X_INTRODUCED_70):: defines_var(X_INTRODUCED_70);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_13,X_INTRODUCED_11],-1,X_INTRODUCED_71):: defines_var(X_INTRODUCED_71);
constraint bool2int(X_INTRODUCED_71,X_INTRODUCED_72):: defines_var(X_INTRODUCED_72);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_14,X_INTRODUCED_11],-1,X_INTRODUCED_73):: defines_var(X_INTRODUCED_73);
constraint bool2int(X_INTRODUCED_73,X_INTRODUCED_74):: defines_var(X_INTRODUCED_74);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_16,X_INTRODUCED_15],-1,X_INTRODUCED_75):: defines_var(X_INTRODUCED_75);
constraint bool2int(X_INTRODUCED_75,X_INTRODUCED_76):: defines_var(X_INTRODUCED_76);
constraint int_lin_le_reif(X_INTRODUCED_54,[X_INTRODUCED_17,X_INTRODUCED_15],-1,X_INTRODUCED_77):: defines_var(X_INTRODUCED_77);
constraint bool2int(X_INTRODUCED_77,X_INTRODUCED_78):: defines_var(X_INTRODUCED_78);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_1,X_INTRODUCED_0],-1,X_INTRODUCED_82):: defines_var(X_INTRODUCED_82);
constraint bool2int(X_INTRODUCED_82,X_INTRODUCED_83):: defines_var(X_INTRODUCED_83);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_2,X_INTRODUCED_0],-1,X_INTRODUCED_84):: defines_var(X_INTRODUCED_84);
constraint bool2int(X_INTRODUCED_84,X_INTRODUCED_85):: defines_var(X_INTRODUCED_85);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_0,X_INTRODUCED_90],-1,X_INTRODUCED_91):: defines_var(X_INTRODUCED_91);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_0,X_INTRODUCED_93],-1,X_INTRODUCED_94):: defines_var(X_INTRODUCED_94);
constraint array_bool_or([X_INTRODUCED_91,X_INTRODUCED_94],X_INTRODUCED_95):: defines_var(X_INTRODUCED_95);
constraint int_lin_eq_reif(X_INTRODUCED_96,[X_INTRODUCED_80,X_INTRODUCED_83,X_INTRODUCED_85],3,X_INTRODUCED_97):: defines_var(X_INTRODUCED_97);
constraint int_le_reif(X_INTRODUCED_0,8,X_INTRODUCED_98):: defines_var(X_INTRODUCED_98);
constraint int_eq_reif(X_INTRODUCED_80,3,X_INTRODUCED_99):: defines_var(X_INTRODUCED_99);
constraint int_eq_reif(X_INTRODUCED_80,0,X_INTRODUCED_100):: defines_var(X_INTRODUCED_100);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_4,X_INTRODUCED_3],-1,X_INTRODUCED_102):: defines_var(X_INTRODUCED_102);
constraint bool2int(X_INTRODUCED_102,X_INTRODUCED_103):: defines_var(X_INTRODUCED_103);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_5,X_INTRODUCED_3],-1,X_INTRODUCED_104):: defines_var(X_INTRODUCED_104);
constraint bool2int(X_INTRODUCED_104,X_INTRODUCED_105):: defines_var(X_INTRODUCED_105);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_3,X_INTRODUCED_109],-1,X_INTRODUCED_110):: defines_var(X_INTRODUCED_110);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_3,X_INTRODUCED_112],-1,X_INTRODUCED_113):: defines_var(X_INTRODUCED_113);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_3,X_INTRODUCED_115],-1,X_INTRODUCED_116):: defines_var(X_INTRODUCED_116);
constraint array_bool_or([X_INTRODUCED_110,X_INTRODUCED_113,X_INTRODUCED_116],X_INTRODUCED_117):: defines_var(X_INTRODUCED_117);
constraint int_lin_eq_reif(X_INTRODUCED_96,[X_INTRODUCED_101,X_INTRODUCED_103,X_INTRODUCED_105],3,X_INTRODUCED_118):: defines_var(X_INTRODUCED_118);
constraint int_le_reif(X_INTRODUCED_3,8,X_INTRODUCED_119):: defines_var(X_INTRODUCED_119);
constraint int_eq_reif(X_INTRODUCED_101,3,X_INTRODUCED_120):: defines_var(X_INTRODUCED_120);
constraint int_eq_reif(X_INTRODUCED_101,0,X_INTRODUCED_121):: defines_var(X_INTRODUCED_121);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_7,X_INTRODUCED_6],-1,X_INTRODUCED_123):: defines_var(X_INTRODUCED_123);
constraint bool2int(X_INTRODUCED_123,X_INTRODUCED_124):: defines_var(X_INTRODUCED_124);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_6,X_INTRODUCED_90],-1,X_INTRODUCED_126):: defines_var(X_INTRODUCED_126);
constraint int_lin_eq_reif(X_INTRODUCED_127,[X_INTRODUCED_122,X_INTRODUCED_124],3,X_INTRODUCED_128):: defines_var(X_INTRODUCED_128);
constraint int_le_reif(X_INTRODUCED_6,8,X_INTRODUCED_129):: defines_var(X_INTRODUCED_129);
constraint int_eq_reif(X_INTRODUCED_122,3,X_INTRODUCED_130):: defines_var(X_INTRODUCED_130);
constraint int_eq_reif(X_INTRODUCED_122,0,X_INTRODUCED_131):: defines_var(X_INTRODUCED_131);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_9,X_INTRODUCED_8],-1,X_INTRODUCED_133):: defines_var(X_INTRODUCED_133);
constraint bool2int(X_INTRODUCED_133,X_INTRODUCED_134):: defines_var(X_INTRODUCED_134);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_10,X_INTRODUCED_8],-1,X_INTRODUCED_135):: defines_var(X_INTRODUCED_135);
constraint bool2int(X_INTRODUCED_135,X_INTRODUCED_136):: defines_var(X_INTRODUCED_136);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_8,X_INTRODUCED_90],-1,X_INTRODUCED_139):: defines_var(X_INTRODUCED_139);
constraint int_lin_eq_reif(X_INTRODUCED_96,[X_INTRODUCED_132,X_INTRODUCED_134,X_INTRODUCED_136],3,X_INTRODUCED_140):: defines_var(X_INTRODUCED_140);
constraint int_le_reif(X_INTRODUCED_8,8,X_INTRODUCED_141):: defines_var(X_INTRODUCED_141);
constraint int_eq_reif(X_INTRODUCED_132,3,X_INTRODUCED_142):: defines_var(X_INTRODUCED_142);
constraint int_eq_reif(X_INTRODUCED_132,0,X_INTRODUCED_143):: defines_var(X_INTRODUCED_143);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_12,X_INTRODUCED_11],-1,X_INTRODUCED_145):: defines_var(X_INTRODUCED_145);
constraint bool2int(X_INTRODUCED_145,X_INTRODUCED_146):: defines_var(X_INTRODUCED_146);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_13,X_INTRODUCED_11],-1,X_INTRODUCED_147):: defines_var(X_INTRODUCED_147);
constraint bool2int(X_INTRODUCED_147,X_INTRODUCED_148):: defines_var(X_INTRODUCED_148);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_14,X_INTRODUCED_11],-1,X_INTRODUCED_149):: defines_var(X_INTRODUCED_149);
constraint bool2int(X_INTRODUCED_149,X_INTRODUCED_150):: defines_var(X_INTRODUCED_150);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_11,X_INTRODUCED_109],-1,X_INTRODUCED_153):: defines_var(X_INTRODUCED_153);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_11,X_INTRODUCED_155],-1,X_INTRODUCED_156):: defines_var(X_INTRODUCED_156);
constraint array_bool_or([X_INTRODUCED_153,X_INTRODUCED_156],X_INTRODUCED_157):: defines_var(X_INTRODUCED_157);
constraint int_lin_eq_reif(X_INTRODUCED_158,[X_INTRODUCED_144,X_INTRODUCED_146,X_INTRODUCED_148,X_INTRODUCED_150],3,X_INTRODUCED_159):: defines_var(X_INTRODUCED_159);
constraint int_le_reif(X_INTRODUCED_11,8,X_INTRODUCED_160):: defines_var(X_INTRODUCED_160);
constraint int_eq_reif(X_INTRODUCED_144,3,X_INTRODUCED_161):: defines_var(X_INTRODUCED_161);
constraint int_eq_reif(X_INTRODUCED_144,0,X_INTRODUCED_162):: defines_var(X_INTRODUCED_162);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_16,X_INTRODUCED_15],-1,X_INTRODUCED_164):: defines_var(X_INTRODUCED_164);
constraint bool2int(X_INTRODUCED_164,X_INTRODUCED_165):: defines_var(X_INTRODUCED_165);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_17,X_INTRODUCED_15],-1,X_INTRODUCED_166):: defines_var(X_INTRODUCED_166);
constraint bool2int(X_INTRODUCED_166,X_INTRODUCED_167):: defines_var(X_INTRODUCED_167);
constraint int_lin_le_reif(X_INTRODUCED_81,[X_INTRODUCED_15,X_INTRODUCED_93],-1,X_INTRODUCED_170):: defines_var(X_INTRODUCED_170);
constraint int_lin_eq_reif(X_INTRODUCED_96,[X_INTRODUCED_163,X_INTRODUCED_165,X_INTRODUCED_167],3,X_INTRODUCED_171):: defines_var(X_INTRODUCED_171);
constraint int_le_reif(X_INTRODUCED_15,8,X_INTRODUCED_172):: defines_var(X_INTRODUCED_172);
constraint int_eq_reif(X_INTRODUCED_163,3,X_INTRODUCED_173):: defines_var(X_INTRODUCED_173);
constraint int_eq_reif(X_INTRODUCED_163,0,X_INTRODUCED_174):: defines_var(X_INTRODUCED_174);
constraint int_lin_eq([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1],[X_INTRODUCED_80,X_INTRODUCED_56,X_INTRODUCED_58,X_INTRODUCED_101,X_INTRODUCED_60,X_INTRODUCED_62,X_INTRODUCED_122,X_INTRODUCED_64,X_INTRODUCED_132,X_INTRODUCED_66,X_INTRODUCED_68,X_INTRODUCED_144,X_INTRODUCED_70,X_INTRODUCED_72,X_INTRODUCED_74,X_INTRODUCED_163,X_INTRODUCED_76,X_INTRODUCED_78,X_INTRODUCED_178],0):: defines_var(X_INTRODUCED_178);
solve maximize X_INTRODUCED_178;