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