Control
P,Q
- prove P and Q
P;Q
- prove P or Q
M:P
- call P in module M
P->Q;R
- if P succeeds, prove Q; if not, prove R
P->Q
- if P succeeds, prove Q; if not, fail
!
- cut any choices taken in the current procedure
\+ P
- goal P is not provable
X ^ P
- there exists an X such that P is provable (used in
setof and bagof)
bagof(X,P,B)
- B is the bag of instances of X such that P is provable
call(P)
- prove (execute) P
fail
- fail (start backtracking)
false
- same as fail
findall(T,G,L)
- L is the list of all solutions T for the goal G
otherwise
- same as true
repeat
- succeed repeatedly on backtracking
setof(X,P,S)
- S is the set of instances of X such that P is provable
true
- succeed