Did you know ... Search Documentation:
Pack assertions -- prolog/globprops.pl
PublicShow source

These are the properties that can be placed in the global section of an assertion, or in a program-point assertion

Note that the implementations provided for the properties are executed when run-time checking is enabled. Such properties should be implemented following certain rules:

  • For any Goal, call(Goal) must be equivalent to:
    intercept(Prop(Goal), RTCheck, true).
  • Should remove the choicepoints if the goal does not introduce new ones.
  • Should try to throw the run-time check exception as soon as the property being validated has been violated.
  • All the checks must be compatible among them.
  • Should be conmutative.
  • Should be side-effects free
 equiv(:Goal1, :Goal2)
Goal1 is equivalent to Goal2
 det(:Goal)
Goal has exactly one solution
 num_solutions(:Check, :Goal)
If the number of solutions of Goal is N, call(Check, N) succeeds.
 solutions(:Goal, +Sols)
Goal produces the solutions listed in Sols

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

 deprecated(Arg1)
 database(Arg1)
 dupclauses(Arg1)
 eval(Arg1)
 has_exception(Arg1)
 has_exception(Arg1, Arg2)
 fails(Arg1)
 failure(Arg1)
 fi(Arg1, Arg2)
 has_choicepoints(Arg1)
 is_det(Arg1)
 iso(Arg1)
 meta_modes(Arg1)
 multi(Arg1)
 nfi(Arg1, Arg2)
 mve(Arg1, Arg2)
 no_choicepoints(Arg1)
 no_exception(Arg1)
 no_exception(Arg1, Arg2)
 no_meta_modes(Arg1)
 no_signal(Arg1)
 no_signal(Arg1, Arg2)
 non_det(Arg1)
 nondet(Arg1)
 not_fails(Arg1)
 nsh(Arg1, Arg2)
 num_solutions_eq(Arg1, Arg2)
 semidet(Arg1)
 signal(Arg1)
 signal(Arg1, Arg2)
 signals(Arg1, Arg2)
 throws_ex(Arg1, Arg2)
 throws_exs(Arg1, Arg2)
 unknown(Arg1)
 user_output(Arg1, Arg2)