summary of lecture 2 :

I presented the unification algorithm that handles the equality theory in logic programming. 

I also showed how you normally describe the "declarative meaning" of logic programs  ("the model theory").

Prolog works using the proof rule Modus Ponens, i.e. to use implication in a proof together with unification of logical variables. This method for proof construction is called SLD resolution.

The unification algorithm generates equalities that are needed in order to prove the statement you are asking for.

When you describe this you speak about  "substitutions", a mapping of variables to their values.

This is also called the  "binding environment" and is the "values" you get as a result of an execution-

NB that substitutions are a way to describe what the program does, and they are not handled explicitly in programs.

Examples of programs where presented where unification is especially important:

- family relations with structured information about the individuals.

- The Zebra problem, a famous kind of puzzle where the reppresenation is important.

Please ask your questions about exercises in this thread! Then other students who might have the same kind of questions will see our discussion.

It is also possible to send me e-mail and I will answer as soon as possible.