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)
 exception(Arg1)
 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)
 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)
 throw(Arg1, Arg2)
 throws(Arg1, Arg2)
 unknown(Arg1)
 user_output(Arg1, Arg2)