@@ -89,3 +89,54 @@ predicate int_pow(var int: x, var int: y, var int: z) =
89
89
[pow (pow_x [i ],i ) | i in lb (y )..ub (y )]);
90
90
} in z = pow_table [y ]
91
91
endif ;
92
+
93
+ predicate array_bool_and_imp (array [int ] of var bool : as , var bool : r );
94
+ predicate array_bool_or_imp (array [int ] of var bool : as , var bool : r );
95
+ predicate array_bool_xor_imp (array [int ] of var bool : as , var bool : r );
96
+
97
+ predicate bool_and_imp (var bool : a , var bool : b , var bool : r );
98
+ predicate bool_clause_imp (array [int ] of var bool : as ,
99
+ array [int ] of var bool : bs , var bool : r );
100
+ predicate bool_ge_imp (var bool : a , var bool : b , var bool : r );
101
+ predicate bool_gt_imp (var bool : a , var bool : b , var bool : r );
102
+ predicate bool_le_imp (var bool : a , var bool : b , var bool : r );
103
+ predicate bool_lt_imp (var bool : a , var bool : b , var bool : r );
104
+ predicate bool_ne_imp (var bool : a , var bool : b , var bool : r );
105
+ predicate bool_ne_imp (var bool : a , var bool : b , var bool : r );
106
+ predicate bool_or_imp (var bool : a , var bool : b , var bool : r );
107
+ predicate bool_xor_imp (var bool : a , var bool : b , var bool : r );
108
+
109
+ predicate bool_lin_eq_imp (array [int ] of int : as , array [int ] of var bool : bs ,
110
+ var int : c , var bool : r );
111
+ predicate bool_lin_ge_imp (array [int ] of int : as , array [int ] of var bool : bs ,
112
+ var int : c , var bool : r );
113
+ predicate bool_lin_gt_imp (array [int ] of int : as , array [int ] of var bool : bs ,
114
+ var int : c , var bool : r );
115
+ predicate bool_lin_le_imp (array [int ] of int : as , array [int ] of var bool : bs ,
116
+ var int : c , var bool : r );
117
+ predicate bool_lin_lt_imp (array [int ] of int : as , array [int ] of var bool : bs ,
118
+ var int : c , var bool : r );
119
+ predicate bool_lin_ne_imp (array [int ] of int : as , array [int ] of var bool : bs ,
120
+ var int : c , var bool : r );
121
+
122
+ predicate int_eq_imp (var int : a , var int : b , var bool : r );
123
+ predicate int_ge_imp (var int : a , var int : b , var bool : r );
124
+ predicate int_gt_imp (var int : a , var int : b , var bool : r );
125
+ predicate int_le_imp (var int : a , var int : b , var bool : r );
126
+ predicate int_lt_imp (var int : a , var int : b , var bool : r );
127
+ predicate int_ne_imp (var int : a , var int : b , var bool : r );
128
+
129
+ predicate int_lin_eq_imp (array [int ] of int : as , array [int ] of var int : bs ,
130
+ int : c , var bool : r );
131
+ predicate int_lin_ge_imp (array [int ] of int : as , array [int ] of var int : bs ,
132
+ int : c , var bool : r );
133
+ predicate int_lin_gt_imp (array [int ] of int : as , array [int ] of var int : bs ,
134
+ int : c , var bool : r );
135
+ predicate int_lin_le_imp (array [int ] of int : as , array [int ] of var int : bs ,
136
+ int : c , var bool : r );
137
+ predicate int_lin_lt_imp (array [int ] of int : as , array [int ] of var int : bs ,
138
+ int : c , var bool : r );
139
+ predicate int_lin_ne_imp (array [int ] of int : as , array [int ] of var int : bs ,
140
+ int : c , var bool : r );
141
+
142
+ predicate set_in_imp (var int : x , set of int : S , var bool : r );
0 commit comments