1array [1..2] of int: X_INTRODUCED_14 = [1,-1];
2var 1..4: X_INTRODUCED_0;
3var 1..4: X_INTRODUCED_1;
4var 1..4: X_INTRODUCED_2;
5var 1..4: X_INTRODUCED_3;
6var 1..4: X_INTRODUCED_4;
7var 1..4: X_INTRODUCED_5;
8var 1..4: X_INTRODUCED_7;
9var 1..4: cupids:: output_var;
10var 2..4: happy_faces:: output_var;
11var 1..4: leprechauns:: output_var;
12var 2..4: reindeer:: output_var;
13var 1..4: daughter:: output_var;
14var 1..4: father_in_law:: output_var;
15var 3..3: sister:: output_var;
16var 1..3: uncle:: output_var;
17var bool: X_INTRODUCED_8 ::var_is_introduced :: is_defined_var;
18var bool: X_INTRODUCED_9 ::var_is_introduced :: is_defined_var;
19var bool: X_INTRODUCED_10 ::var_is_introduced :: is_defined_var;
20var bool: X_INTRODUCED_11 ::var_is_introduced :: is_defined_var;
21var bool: X_INTRODUCED_12 ::var_is_introduced :: is_defined_var;
22var bool: X_INTRODUCED_13 ::var_is_introduced :: is_defined_var;
23var bool: X_INTRODUCED_16 ::var_is_introduced :: is_defined_var;
24var bool: X_INTRODUCED_17 ::var_is_introduced :: is_defined_var;
25var bool: X_INTRODUCED_18 ::var_is_introduced :: is_defined_var;
26var bool: X_INTRODUCED_19 ::var_is_introduced :: is_defined_var;
27var bool: X_INTRODUCED_20 ::var_is_introduced :: is_defined_var;
28var bool: X_INTRODUCED_21 ::var_is_introduced :: is_defined_var;
29var bool: X_INTRODUCED_22 ::var_is_introduced :: is_defined_var;
30var bool: X_INTRODUCED_23 ::var_is_introduced :: is_defined_var;
31var bool: X_INTRODUCED_27 ::var_is_introduced :: is_defined_var;
32var bool: X_INTRODUCED_28 ::var_is_introduced :: is_defined_var;
33var bool: X_INTRODUCED_29 ::var_is_introduced :: is_defined_var;
34var bool: X_INTRODUCED_30 ::var_is_introduced :: is_defined_var;
35var bool: X_INTRODUCED_31 ::var_is_introduced :: is_defined_var;
36var bool: X_INTRODUCED_32 ::var_is_introduced :: is_defined_var;
37var bool: X_INTRODUCED_33 ::var_is_introduced :: is_defined_var;
38var bool: X_INTRODUCED_34 ::var_is_introduced :: is_defined_var;
39var bool: X_INTRODUCED_35 ::var_is_introduced :: is_defined_var;
40var bool: X_INTRODUCED_36 ::var_is_introduced :: is_defined_var;
41var bool: X_INTRODUCED_37 ::var_is_introduced :: is_defined_var;
42var bool: X_INTRODUCED_38 ::var_is_introduced :: is_defined_var;
43var bool: X_INTRODUCED_24 ::var_is_introduced :: is_defined_var = false;
44array [1..4] of var int: ties_inv:: output_array([1..4]) = [X_INTRODUCED_0,X_INTRODUCED_1,X_INTRODUCED_2,X_INTRODUCED_3];
45array [1..4] of var int: relative_inv:: output_array([1..4]) = [X_INTRODUCED_4,X_INTRODUCED_5,3,X_INTRODUCED_7];
46array [1..4] of var int: ties = [cupids,happy_faces,leprechauns,reindeer];
47array [1..4] of var int: relative = [daughter,father_in_law,3,uncle];
48constraint array_bool_or([X_INTRODUCED_10,X_INTRODUCED_13],true);
49constraint int_lin_ne([1],[happy_faces],3);
50constraint int_lin_ne(X_INTRODUCED_14,[leprechauns,daughter],0);
51constraint int_eq_reif(X_INTRODUCED_4,1,X_INTRODUCED_16):: defines_var(X_INTRODUCED_16);
52constraint int_eq_reif(X_INTRODUCED_5,1,X_INTRODUCED_17):: defines_var(X_INTRODUCED_17);
53constraint int_eq_reif(3,1,X_INTRODUCED_18):: defines_var(X_INTRODUCED_18);
54constraint int_eq_reif(X_INTRODUCED_7,1,X_INTRODUCED_19):: defines_var(X_INTRODUCED_19);
55constraint int_eq_reif(X_INTRODUCED_4,2,X_INTRODUCED_20):: defines_var(X_INTRODUCED_20);
56constraint int_eq_reif(X_INTRODUCED_5,2,X_INTRODUCED_8):: defines_var(X_INTRODUCED_8);
57constraint int_eq_reif(3,2,X_INTRODUCED_21):: defines_var(X_INTRODUCED_21);
58constraint int_eq_reif(X_INTRODUCED_7,2,X_INTRODUCED_11):: defines_var(X_INTRODUCED_11);
59constraint int_ne(X_INTRODUCED_4,3);
60constraint int_ne(X_INTRODUCED_5,3);
61constraint int_ne(X_INTRODUCED_7,3);
62constraint int_eq_reif(X_INTRODUCED_4,4,X_INTRODUCED_22):: defines_var(X_INTRODUCED_22);
63constraint int_eq_reif(X_INTRODUCED_5,4,X_INTRODUCED_23):: defines_var(X_INTRODUCED_23);
64constraint int_ne(X_INTRODUCED_7,4);
65constraint int_eq_reif(X_INTRODUCED_0,1,X_INTRODUCED_27):: defines_var(X_INTRODUCED_27);
66constraint int_eq_reif(X_INTRODUCED_1,1,X_INTRODUCED_28):: defines_var(X_INTRODUCED_28);
67constraint int_eq_reif(X_INTRODUCED_2,1,X_INTRODUCED_29):: defines_var(X_INTRODUCED_29);
68constraint int_eq_reif(X_INTRODUCED_3,1,X_INTRODUCED_30):: defines_var(X_INTRODUCED_30);
69constraint int_ne(X_INTRODUCED_0,2);
70constraint int_eq_reif(X_INTRODUCED_1,2,X_INTRODUCED_31):: defines_var(X_INTRODUCED_31);
71constraint int_eq_reif(X_INTRODUCED_2,2,X_INTRODUCED_32):: defines_var(X_INTRODUCED_32);
72constraint int_eq_reif(X_INTRODUCED_3,2,X_INTRODUCED_33):: defines_var(X_INTRODUCED_33);
73constraint int_eq_reif(X_INTRODUCED_0,3,X_INTRODUCED_34):: defines_var(X_INTRODUCED_34);
74constraint int_eq_reif(X_INTRODUCED_1,3,X_INTRODUCED_12):: defines_var(X_INTRODUCED_12);
75constraint int_eq_reif(X_INTRODUCED_2,3,X_INTRODUCED_35):: defines_var(X_INTRODUCED_35);
76constraint int_eq_reif(X_INTRODUCED_3,3,X_INTRODUCED_9):: defines_var(X_INTRODUCED_9);
77constraint int_ne(X_INTRODUCED_0,4);
78constraint int_eq_reif(X_INTRODUCED_1,4,X_INTRODUCED_36):: defines_var(X_INTRODUCED_36);
79constraint int_eq_reif(X_INTRODUCED_2,4,X_INTRODUCED_37):: defines_var(X_INTRODUCED_37);
80constraint int_eq_reif(X_INTRODUCED_3,4,X_INTRODUCED_38):: defines_var(X_INTRODUCED_38);
81constraint int_lin_ne(X_INTRODUCED_14,[daughter,father_in_law],0);
82constraint int_lin_ne([1],[daughter],3);
83constraint int_lin_ne(X_INTRODUCED_14,[daughter,uncle],0);
84constraint int_lin_ne([1],[father_in_law],3);
85constraint int_lin_ne(X_INTRODUCED_14,[father_in_law,uncle],0);
86constraint int_lin_ne([-1],[uncle],-3);
87constraint int_lin_ne(X_INTRODUCED_14,[cupids,happy_faces],0);
88constraint int_lin_ne(X_INTRODUCED_14,[cupids,leprechauns],0);
89constraint int_lin_ne(X_INTRODUCED_14,[cupids,reindeer],0);
90constraint int_lin_ne(X_INTRODUCED_14,[happy_faces,leprechauns],0);
91constraint int_lin_ne(X_INTRODUCED_14,[happy_faces,reindeer],0);
92constraint int_lin_ne(X_INTRODUCED_14,[leprechauns,reindeer],0);
93constraint int_eq_reif(father_in_law,2,X_INTRODUCED_8):: defines_var(X_INTRODUCED_8);
94constraint int_eq_reif(leprechauns,4,X_INTRODUCED_9):: defines_var(X_INTRODUCED_9);
95constraint array_bool_and([X_INTRODUCED_8,X_INTRODUCED_9],X_INTRODUCED_10):: defines_var(X_INTRODUCED_10);
96constraint int_eq_reif(father_in_law,4,X_INTRODUCED_11):: defines_var(X_INTRODUCED_11);
97constraint int_eq_reif(leprechauns,2,X_INTRODUCED_12):: defines_var(X_INTRODUCED_12);
98constraint array_bool_and([X_INTRODUCED_11,X_INTRODUCED_12],X_INTRODUCED_13):: defines_var(X_INTRODUCED_13);
99constraint int_eq_reif(daughter,1,X_INTRODUCED_16):: defines_var(X_INTRODUCED_16);
100constraint int_eq_reif(daughter,2,X_INTRODUCED_17):: defines_var(X_INTRODUCED_17);
101constraint int_eq_reif(daughter,3,X_INTRODUCED_18):: defines_var(X_INTRODUCED_18);
102constraint int_eq_reif(daughter,4,X_INTRODUCED_19):: defines_var(X_INTRODUCED_19);
103constraint int_eq_reif(father_in_law,1,X_INTRODUCED_20):: defines_var(X_INTRODUCED_20);
104constraint int_eq_reif(father_in_law,3,X_INTRODUCED_21):: defines_var(X_INTRODUCED_21);
105constraint int_eq_reif(uncle,1,X_INTRODUCED_22):: defines_var(X_INTRODUCED_22);
106constraint int_eq_reif(uncle,2,X_INTRODUCED_23):: defines_var(X_INTRODUCED_23);
107constraint int_eq_reif(uncle,3,X_INTRODUCED_24):: defines_var(X_INTRODUCED_24);
108constraint int_eq_reif(cupids,1,X_INTRODUCED_27):: defines_var(X_INTRODUCED_27);
109constraint int_eq_reif(cupids,2,X_INTRODUCED_28):: defines_var(X_INTRODUCED_28);
110constraint int_eq_reif(cupids,3,X_INTRODUCED_29):: defines_var(X_INTRODUCED_29);
111constraint int_eq_reif(cupids,4,X_INTRODUCED_30):: defines_var(X_INTRODUCED_30);
112constraint int_eq_reif(happy_faces,2,X_INTRODUCED_31):: defines_var(X_INTRODUCED_31);
113constraint int_eq_reif(happy_faces,3,X_INTRODUCED_32):: defines_var(X_INTRODUCED_32);
114constraint int_eq_reif(happy_faces,4,X_INTRODUCED_33):: defines_var(X_INTRODUCED_33);
115constraint int_eq_reif(leprechauns,1,X_INTRODUCED_34):: defines_var(X_INTRODUCED_34);
116constraint int_eq_reif(leprechauns,3,X_INTRODUCED_35):: defines_var(X_INTRODUCED_35);
117constraint int_eq_reif(reindeer,2,X_INTRODUCED_36):: defines_var(X_INTRODUCED_36);
118constraint int_eq_reif(reindeer,3,X_INTRODUCED_37):: defines_var(X_INTRODUCED_37);
119constraint int_eq_reif(reindeer,4,X_INTRODUCED_38):: defines_var(X_INTRODUCED_38);
120solve  satisfy;
121