latin_squares_5.fzn 9.37 KB
array [1..2] of int: X_INTRODUCED_26_ = [1,-1];
var 1..5: X_INTRODUCED_0_;
var 1..5: X_INTRODUCED_1_;
var 1..5: X_INTRODUCED_2_;
var 1..5: X_INTRODUCED_3_;
var 1..5: X_INTRODUCED_4_;
var 1..5: X_INTRODUCED_5_;
var 1..5: X_INTRODUCED_6_;
var 1..5: X_INTRODUCED_7_;
var 1..5: X_INTRODUCED_8_;
var 1..5: X_INTRODUCED_9_;
var 1..5: X_INTRODUCED_10_;
var 1..5: X_INTRODUCED_11_;
var 1..5: X_INTRODUCED_12_;
var 1..5: X_INTRODUCED_13_;
var 1..5: X_INTRODUCED_14_;
var 1..5: X_INTRODUCED_15_;
var 1..5: X_INTRODUCED_16_;
var 1..5: X_INTRODUCED_17_;
var 1..5: X_INTRODUCED_18_;
var 1..5: X_INTRODUCED_19_;
var 1..5: X_INTRODUCED_20_;
var 1..5: X_INTRODUCED_21_;
var 1..5: X_INTRODUCED_22_;
var 1..5: X_INTRODUCED_23_;
var 1..5: X_INTRODUCED_24_;
array [1..25] of var int: x:: output_array([1..5,1..5]) = [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_,X_INTRODUCED_18_,X_INTRODUCED_19_,X_INTRODUCED_20_,X_INTRODUCED_21_,X_INTRODUCED_22_,X_INTRODUCED_23_,X_INTRODUCED_24_];
array [1..25] of var int: X_INTRODUCED_36_ ::var_is_introduced  = [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_,X_INTRODUCED_18_,X_INTRODUCED_19_,X_INTRODUCED_20_,X_INTRODUCED_21_,X_INTRODUCED_22_,X_INTRODUCED_23_,X_INTRODUCED_24_];
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_1_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_2_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_3_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_4_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_2_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_3_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_4_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_2_,X_INTRODUCED_3_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_2_,X_INTRODUCED_4_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_3_,X_INTRODUCED_4_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_6_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_7_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_8_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_9_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_6_,X_INTRODUCED_7_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_6_,X_INTRODUCED_8_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_6_,X_INTRODUCED_9_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_7_,X_INTRODUCED_8_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_7_,X_INTRODUCED_9_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_8_,X_INTRODUCED_9_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_10_,X_INTRODUCED_11_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_10_,X_INTRODUCED_12_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_10_,X_INTRODUCED_13_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_10_,X_INTRODUCED_14_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_11_,X_INTRODUCED_12_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_11_,X_INTRODUCED_13_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_11_,X_INTRODUCED_14_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_12_,X_INTRODUCED_13_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_12_,X_INTRODUCED_14_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_13_,X_INTRODUCED_14_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_15_,X_INTRODUCED_16_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_15_,X_INTRODUCED_17_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_15_,X_INTRODUCED_18_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_15_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_16_,X_INTRODUCED_17_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_16_,X_INTRODUCED_18_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_16_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_17_,X_INTRODUCED_18_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_17_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_18_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_20_,X_INTRODUCED_21_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_20_,X_INTRODUCED_22_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_20_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_20_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_21_,X_INTRODUCED_22_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_21_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_21_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_22_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_22_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_23_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_5_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_10_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_15_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_0_,X_INTRODUCED_20_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_10_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_15_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_5_,X_INTRODUCED_20_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_10_,X_INTRODUCED_15_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_10_,X_INTRODUCED_20_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_15_,X_INTRODUCED_20_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_6_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_11_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_16_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_1_,X_INTRODUCED_21_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_6_,X_INTRODUCED_11_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_6_,X_INTRODUCED_16_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_6_,X_INTRODUCED_21_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_11_,X_INTRODUCED_16_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_11_,X_INTRODUCED_21_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_16_,X_INTRODUCED_21_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_2_,X_INTRODUCED_7_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_2_,X_INTRODUCED_12_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_2_,X_INTRODUCED_17_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_2_,X_INTRODUCED_22_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_7_,X_INTRODUCED_12_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_7_,X_INTRODUCED_17_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_7_,X_INTRODUCED_22_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_12_,X_INTRODUCED_17_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_12_,X_INTRODUCED_22_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_17_,X_INTRODUCED_22_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_3_,X_INTRODUCED_8_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_3_,X_INTRODUCED_13_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_3_,X_INTRODUCED_18_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_3_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_8_,X_INTRODUCED_13_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_8_,X_INTRODUCED_18_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_8_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_13_,X_INTRODUCED_18_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_13_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_18_,X_INTRODUCED_23_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_4_,X_INTRODUCED_9_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_4_,X_INTRODUCED_14_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_4_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_4_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_9_,X_INTRODUCED_14_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_9_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_9_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_14_,X_INTRODUCED_19_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_14_,X_INTRODUCED_24_],0);
constraint int_lin_ne(X_INTRODUCED_26_,[X_INTRODUCED_19_,X_INTRODUCED_24_],0);
solve :: int_search(X_INTRODUCED_36_,input_order,indomain_max,complete) satisfy;