2?- flies(X). 3
5penguin(sam).
6
7wounded_bird(john).
8
9bird(tweety).
10bird(Var0) :-
11 penguin(Var0).
12bird(Var0) :-
13 wounded_bird(Var0).
14
15ab(Var0) :-
16 penguin(Var0).
17ab(Var0) :-
18 wounded_bird(Var0).
19
20flies(Var0) :-
21 bird(Var0),
22 not ab(Var0).
23
24-flies(Var0) :-
25 ab(Var0).
26-flies(Var0) :-
27 -bird(Var0).
28
29-wounded_bird(Var0) :-
30 not wounded_bird(Var0).
31
32-bird(Var0) :-
33 not bird(Var0).
34
35-penguin(Var0) :-
36 not penguin(Var0).
37
38-ab(Var0) :-
39 not ab(Var0).
40
41
42% DUAL RULES:
43not penguin(Var0) :-
44 not o_penguin_1(Var0).
45
46not o_penguin_1(Var0) :-
47 Var0 \= sam.
48
49not wounded_bird(Var0) :-
50 not o_wounded_bird_1(Var0).
51
52not o_wounded_bird_1(Var0) :-
53 Var0 \= john.
54
55not bird(Var0) :-
56 not o_bird_1(Var0),
57 not o_bird_2(Var0),
58 not o_bird_3(Var0).
59
60not o_bird_1(Var0) :-
61 Var0 \= tweety.
62
63not o_bird_2(Var0) :-
64 not penguin(Var0).
65
66not o_bird_3(Var0) :-
67 not wounded_bird(Var0).
68
69not ab(Var0) :-
70 not o_ab_1(Var0),
71 not o_ab_2(Var0).
72
73not o_ab_1(Var0) :-
74 not penguin(Var0).
75
76not o_ab_2(Var0) :-
77 not wounded_bird(Var0).
78
79not flies(Var0) :-
80 not o_flies_1(Var0).
81
82not o_flies_1(Var0) :-
83 not bird(Var0).
84not o_flies_1(Var0) :-
85 bird(Var0),
86 ab(Var0).
87
88not -flies(Var0) :-
89 not o_-flies_1(Var0),
90 not o_-flies_2(Var0).
91
92not o_-flies_1(Var0) :-
93 not ab(Var0).
94
95not o_-flies_2(Var0) :-
96 not -bird(Var0).
97
98not -bird(Var0) :-
99 not o_-bird_1(Var0).
100
101not o_-bird_1(Var0) :-
102 bird(Var0).
103
104not -wounded_bird(Var0) :-
105 not o_-wounded_bird_1(Var0).
106
107not o_-wounded_bird_1(Var0) :-
108 wounded_bird(Var0).
109
110not -penguin(Var0) :-
111 not o_-penguin_1(Var0).
112
113not o_-penguin_1(Var0) :-
114 penguin(Var0).
115
116not -ab(Var0) :-
117 not o_-ab_1(Var0).
118
119not o_-ab_1(Var0) :-
120 ab(Var0).
121
122
123% INTEGRITY CONSTRAINTS:
124global_constraint :-
125 not o_chk_1,
126 not o_chk_2,
127 not o_chk_3,
128 not o_chk_4,
129 not o_chk_5.
130
131not o_chk_1 :-
132 not o__chk_1_1.
133
134not o__chk_1_1 :-
135 forall(Var0,not o__chk_1_1(Var0)).
136
137not o__chk_1_1(Var0) :-
138 -ab(Var0),
139 not ab(Var0).
140not o__chk_1_1(Var0) :-
141 not -ab(Var0).
142
143not o_chk_2 :-
144 not o__chk_2_1.
145
146not o__chk_2_1 :-
147 forall(Var0,not o__chk_2_1(Var0)).
148
149not o__chk_2_1(Var0) :-
150 -penguin(Var0),
151 not penguin(Var0).
152not o__chk_2_1(Var0) :-
153 not -penguin(Var0).
154
155not o_chk_3 :-
156 not o__chk_3_1.
157
158not o__chk_3_1 :-
159 forall(Var0,not o__chk_3_1(Var0)).
160
161not o__chk_3_1(Var0) :-
162 -wounded_bird(Var0),
163 not wounded_bird(Var0).
164not o__chk_3_1(Var0) :-
165 not -wounded_bird(Var0).
166
167not o_chk_4 :-
168 not o__chk_4_1.
169
170not o__chk_4_1 :-
171 forall(Var0,not o__chk_4_1(Var0)).
172
173not o__chk_4_1(Var0) :-
174 -bird(Var0),
175 not bird(Var0).
176not o__chk_4_1(Var0) :-
177 not -bird(Var0).
178
179not o_chk_5 :-
180 not o__chk_5_1.
181
182not o__chk_5_1 :-
183 forall(Var0,not o__chk_5_1(Var0)).
184
185not o__chk_5_1(Var0) :-
186 -flies(Var0),
187 not flies(Var0).
188not