Previous: ref-sem-occ, Up: ref-sem [Contents][Index]
:P,:Q ISOprove P and Q
:P;:Q ISOprove P or Q
+M::P ISOcall P in module M
:P->:Q;:R ISOif P succeeds, prove Q; if not, prove R
:P->:Q ISOif P succeeds, prove Q; if not, fail
! ISOcut any choices taken in the current procedure
\+ :P ISOgoal P is not provable
?X ^ :Pthere exists an X such that P is provable (used in setof/3 and bagof/3)
block :P declarationdeclaration that predicates specified by P should block until sufficiently instantiated
call(:P) ISOcall(:P,…) ISOexecute P or P(…)
call_cleanup(:Goal,:Cleanup)Executes the procedure call Goal. When Goal succeeds determinately, is cut, fails, or raises an exception, Cleanup is executed.
call_residue_vars(:Goal,?Vars)Executes the procedure call Goal. Vars is unified with the list of new variables created during the call that remain unbound and have blocked goals or attributes attached to them.
+Iterators do :Bodyexecutes Body iteratively according to Iterators
fail ISOfail (start backtracking)
false ISOsame as fail
freeze(+Var,:Goal)Blocks Goal until nonvar(Var) holds.
if(:P,:Q,:R)for each solution of P that succeeds, prove Q; if none, prove R
once(:P) ISOFind the first solution, if any, of goal P.
otherwisesame as true
repeat ISOsucceed repeatedly on backtracking
true ISOsucceed
when(+Cond,:Goal)block Goal until Cond holds