10 Mar 2005
CS 3243 - FOL and Prolog
42
Points to consider
lVariables are bound by Prolog, not by the programmer
–You can’t assign a value to a variable.
l
lSuccessive user prompts  ; cause the interpreter to return all terms that can be substituted for X.
–They are returned in the order found.
–Order is important
l
l PROLOG adopts the closed-world assumption:
–All knowledge of the world is present in the database.
–If a term is not in the database assume is false. 
–Prolog’s ‘yes’ = I can prove it, ‘no’ = I can’t prove it.
‘;’ means Or
‘,’ means And
Two things to think about:
When would the closed-world assumption lead to false inferences?
When would the different ordering of solutions cause problems?