View source with raw comments or as raw
    1% QUERY:
    2?- flies(X).    3
    4% USER PREDICATES:
    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