Prolog
   - When I first moved to England (1997), the British AI people programmed
       in Prolog, while the American AI people programmed in Lisp.
 
   - Now we all program in whatever is needed.
 
   - Prolog is based on a subset of FOPL which is Turing Complete.
 
   - You define rules (if then clauses), and give it a list of facts.
 
   - This would mean in general, it is NP-complete, but you program by
       making rules that say how you derive new facts.
 
   - The cut operator is really useful, and can make a prolog program
       much more efficient.
 
   - The cut operator says give up, and stop looking for alternatives.
 
   - This means that some proofs (and thus true facts) may not be
       derivable.
 
   - It's really a different way to program.