Summary of lecture 1:

- general info about the course, learning objectives, examination, project, textbook, reading instructions in the course-PM, alternative literature, Prolog systems to use

- a little history about logic, its role in philosophy, automatic resoning, AI and in computer science

Logic was from the beginning a way to handle knowledge and to structure arguments.

Today the focus lies on formal proofs in mathematics and on mechanised  (computer based) reasoning.

In philosophical logic you  study proof systems. What strengths do they have? What can you prove?

How do you handle paradoxes and unprovable satatements? Is there a difference between truth and provability?

How can you defend an argument?

What do we know? Which statements have unambiguous truth values  ("true" T, or "false" F)=

- propositional logic (Boolean logic)

The connectives and their respective truth tables

conjunction ("and", "&", "^", ",")

disjunction ("or", "v", ";"),

implication ("if", "->", "<-", ":-"),

equivalence ("if and only if","iff", "<->"),

negation ("not", "\+")

- Predicate logic

logical variables

quantifiers,   "for all", "exists"

scope rules in predicates

Proof rules expressed with natural deduction.

- Logic programming: To use construction of logical proofs as a programming language

SImple Prolog programs.

A family database.(homework: to define some family relations).

What kind of data is there in Prolog? (constants and compound terms)

The syntax of Prolog statements (facts and rules defining relations)

- Abstract description of the execution of a Prolog program

The equality theory, what is a "substitution" (in the description)

The result of an execution is the answer "yes" or "no"

With a "yes" the system often delivers bindings for the unbound variables that are in the question (the "query") , a part of a substitution that we call the "binding environment".

This can be understood as a number of conditions:

("I constructed a proof of your statement and assumed that these variables have these values").

How the unification algorithm that handles this works and what programs "mean" declaratively (the "model theory") we bring up next time.

Have a nice weekend!

-Thomas