(or equivalent approved by Director of Studies).
**Aims: **To give the student an understanding of formal logic. To illustrate how these ideas are implemented or partly implemented in logic programming. To introduce semantics of first order logic and of programming languages..
**Learning Outcomes: **
1) To be able to use a formal deductive system such as a semantic tableaux for proof in the predicate calculas.
2) To be able to translate statements in natural language into a first order language, and then into clausal form.
3) To understand the Gvdel completeness theorem.
4) To be able to write, and to understand the behaviour of, programs in a logic programming language, such as Prolog.
5) To have a basic understanding of semantics.
**Skills: ** Problem Solving - Formalization of ideas, precise use of language (T/F, A)
**Content: ** Formal grammar and languages, term algebras, unification. Predicate calculus, first order languages, translating from informal to formal language, .logical validity, conjunctive normal form, disjunctive normal form, prenex normal form, Skolem form, clausal form. Semantic tableaux, Gvdel completeness theorem. Logic programming .
| |