1:- module(scasp_predicates,
2 [ table_predicate/1, 3 shown_predicate/1,
4 prolog_builtin/1, 5 clp_builtin/1, 6 clp_interval/1, 7 user_predicate/1, 8 scasp_compiled/1 9 ]). 10:- use_module(ops). 11:- meta_predicate
12 user_predicate(:),
13 shown_predicate(:),
14 table_predicate(:).
23user_predicate(_:builtin(_)) => fail.
24user_predicate(_:not(_ is _)) => fail.
25user_predicate(_:not(true)) => fail.
26user_predicate(_:not(fail)) => fail.
27user_predicate(_:not(_)) => true.
28user_predicate(M:Goal) =>
29 functor(Goal, Name, Arity),
30 M:pr_user_predicate(Name/Arity), !.
37table_predicate(M:Goal) =>
38 functor(Goal, Name, Arity),
39 M:pr_table_predicate(Name/Arity).
40
41shown_predicate(M:not(Goal)) :-
42 !,
43 user_predicate(M:Goal).
44shown_predicate(Goal) :-
45 user_predicate(Goal).
53prolog_builtin(true).
54prolog_builtin(fail).
55prolog_builtin(false).
56prolog_builtin(_ = _).
57prolog_builtin(_ \= _).
58prolog_builtin(_ < _).
59prolog_builtin(_ > _).
60prolog_builtin(_ >= _).
61prolog_builtin(_ =< _).
67clp_builtin(_ #= _).
68clp_builtin(_ #<> _).
69clp_builtin(_ #< _).
70clp_builtin(_ #> _).
71clp_builtin(_ #>= _).
72clp_builtin(_ #=< _).
79clp_interval(inf(_Expr, _Inf)).
80clp_interval(sup(_Expr, _Inf)).
87scasp_compiled(pr_rule(_Head, _Body, _Origin)).
88scasp_compiled(pr_query(_Query)).
89scasp_compiled(pr_user_predicate(_Pred)).
90scasp_compiled(pr_table_predicate(_Pred)).
91scasp_compiled(pr_show_predicate(_Pred)).
92scasp_compiled(pr_pred_predicate(_Atom, _Children, _Cond, _Human))
Basic information about sCASP predicates
*/