magic_seq_4.fzn
5.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
array [1..5] of int: X_INTRODUCED_13_ = [1,-1,-1,-1,-1];
var 0..4: X_INTRODUCED_0_:: is_defined_var;
var 0..4: X_INTRODUCED_1_:: is_defined_var;
var 0..4: X_INTRODUCED_2_:: is_defined_var;
var 0..4: X_INTRODUCED_3_:: is_defined_var;
var bool: X_INTRODUCED_4_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_5_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_6_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_7_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_8_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_9_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_10_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_11_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_14_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_15_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_16_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_17_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_18_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_19_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_20_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_21_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_23_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_24_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_25_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_26_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_27_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_28_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_29_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_30_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_32_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_33_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_34_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_35_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_36_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_37_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_38_ ::var_is_introduced :: is_defined_var;
var 0..1: X_INTRODUCED_39_ ::var_is_introduced :: is_defined_var;
array [1..4] of var int: x:: output_array([0..3]) = [X_INTRODUCED_0_,X_INTRODUCED_1_,X_INTRODUCED_2_,X_INTRODUCED_3_];
constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_0_,X_INTRODUCED_5_,X_INTRODUCED_7_,X_INTRODUCED_9_,X_INTRODUCED_11_],0):: defines_var(X_INTRODUCED_0_);
constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_1_,X_INTRODUCED_15_,X_INTRODUCED_17_,X_INTRODUCED_19_,X_INTRODUCED_21_],0):: defines_var(X_INTRODUCED_1_);
constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_2_,X_INTRODUCED_24_,X_INTRODUCED_26_,X_INTRODUCED_28_,X_INTRODUCED_30_],0):: defines_var(X_INTRODUCED_2_);
constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_3_,X_INTRODUCED_33_,X_INTRODUCED_35_,X_INTRODUCED_37_,X_INTRODUCED_39_],0):: defines_var(X_INTRODUCED_3_);
constraint int_eq_reif(X_INTRODUCED_0_,0,X_INTRODUCED_4_):: defines_var(X_INTRODUCED_4_);
constraint bool2int(X_INTRODUCED_4_,X_INTRODUCED_5_):: defines_var(X_INTRODUCED_5_);
constraint int_eq_reif(X_INTRODUCED_1_,0,X_INTRODUCED_6_):: defines_var(X_INTRODUCED_6_);
constraint bool2int(X_INTRODUCED_6_,X_INTRODUCED_7_):: defines_var(X_INTRODUCED_7_);
constraint int_eq_reif(X_INTRODUCED_2_,0,X_INTRODUCED_8_):: defines_var(X_INTRODUCED_8_);
constraint bool2int(X_INTRODUCED_8_,X_INTRODUCED_9_):: defines_var(X_INTRODUCED_9_);
constraint int_eq_reif(X_INTRODUCED_3_,0,X_INTRODUCED_10_):: defines_var(X_INTRODUCED_10_);
constraint bool2int(X_INTRODUCED_10_,X_INTRODUCED_11_):: defines_var(X_INTRODUCED_11_);
constraint int_eq_reif(X_INTRODUCED_0_,1,X_INTRODUCED_14_):: defines_var(X_INTRODUCED_14_);
constraint bool2int(X_INTRODUCED_14_,X_INTRODUCED_15_):: defines_var(X_INTRODUCED_15_);
constraint int_eq_reif(X_INTRODUCED_1_,1,X_INTRODUCED_16_):: defines_var(X_INTRODUCED_16_);
constraint bool2int(X_INTRODUCED_16_,X_INTRODUCED_17_):: defines_var(X_INTRODUCED_17_);
constraint int_eq_reif(X_INTRODUCED_2_,1,X_INTRODUCED_18_):: defines_var(X_INTRODUCED_18_);
constraint bool2int(X_INTRODUCED_18_,X_INTRODUCED_19_):: defines_var(X_INTRODUCED_19_);
constraint int_eq_reif(X_INTRODUCED_3_,1,X_INTRODUCED_20_):: defines_var(X_INTRODUCED_20_);
constraint bool2int(X_INTRODUCED_20_,X_INTRODUCED_21_):: defines_var(X_INTRODUCED_21_);
constraint int_eq_reif(X_INTRODUCED_0_,2,X_INTRODUCED_23_):: defines_var(X_INTRODUCED_23_);
constraint bool2int(X_INTRODUCED_23_,X_INTRODUCED_24_):: defines_var(X_INTRODUCED_24_);
constraint int_eq_reif(X_INTRODUCED_1_,2,X_INTRODUCED_25_):: defines_var(X_INTRODUCED_25_);
constraint bool2int(X_INTRODUCED_25_,X_INTRODUCED_26_):: defines_var(X_INTRODUCED_26_);
constraint int_eq_reif(X_INTRODUCED_2_,2,X_INTRODUCED_27_):: defines_var(X_INTRODUCED_27_);
constraint bool2int(X_INTRODUCED_27_,X_INTRODUCED_28_):: defines_var(X_INTRODUCED_28_);
constraint int_eq_reif(X_INTRODUCED_3_,2,X_INTRODUCED_29_):: defines_var(X_INTRODUCED_29_);
constraint bool2int(X_INTRODUCED_29_,X_INTRODUCED_30_):: defines_var(X_INTRODUCED_30_);
constraint int_eq_reif(X_INTRODUCED_0_,3,X_INTRODUCED_32_):: defines_var(X_INTRODUCED_32_);
constraint bool2int(X_INTRODUCED_32_,X_INTRODUCED_33_):: defines_var(X_INTRODUCED_33_);
constraint int_eq_reif(X_INTRODUCED_1_,3,X_INTRODUCED_34_):: defines_var(X_INTRODUCED_34_);
constraint bool2int(X_INTRODUCED_34_,X_INTRODUCED_35_):: defines_var(X_INTRODUCED_35_);
constraint int_eq_reif(X_INTRODUCED_2_,3,X_INTRODUCED_36_):: defines_var(X_INTRODUCED_36_);
constraint bool2int(X_INTRODUCED_36_,X_INTRODUCED_37_):: defines_var(X_INTRODUCED_37_);
constraint int_eq_reif(X_INTRODUCED_3_,3,X_INTRODUCED_38_):: defines_var(X_INTRODUCED_38_);
constraint bool2int(X_INTRODUCED_38_,X_INTRODUCED_39_):: defines_var(X_INTRODUCED_39_);
solve :: int_search(x,input_order,indomain_min,complete) satisfy;