Logic Programming

Academic Semester:
Course TypeReference NumberSubprogram
Compulsory in SubprogramTheory: ΤΠ50Λ3
Lab:
Software Engineering
SemesterAcademic YearHours per week
Winter3rdTheory: 3 Lab: 2
ExamsECTSWorkload
69
PrerequisitesTeaching methodTeaching Language
Lectures with parallel laboratory classesGreek

Academic Staff

Faculty in charge: 
mmarak's picture
μαρακάκης εμμανουήλ
Marakakis Manolis
Professor
Καθηγητής
2810379748

COURSE DESCRIPTION

Theory Outline

  • Formulas and their truth in propositional logic. Logical equivalences, formula transformations to normal forms and clausal form. Logical consequence, deduction and resolution in propositional logic.
  • The syntax of first-order logic.  Interpretations, models, logical consequence and deduction in first-order logic. Logical equivalences, formula transformations to normal forms, clausal form and Horn clauses.
  • Substitution and unification. Resolution in first-order logic, SLD-resolution and SLD-trees.
  • Definite logic programs.
  • Negation in logic programming. Normal logic programs.
  • General logic programs.
  • Applications of logic programming.   

 

Lab Outline

  • The basic components of a Prolog program.
  • Unification and Equality.
  • Input-Output predicates.
  • Lists. 
  • Arithmetic in Prolog.
  • Recursion.
  • Search tree, backtracking and cut.
  • Negation with finite failure. 
  • Control flow in Prolog programs. 
  • User-defined operators.
  • Input from a file and output to a file.
  • Μeta-logical predicates.
  • Predicates which collect all solutions of a goal.
  •  Predicates for program modification.
  • Other built-in predicates.
  • Programming techniques.
  • Implementation of logic programming applications.

RECOMMENDED BIBLIOGRAPHY

  • Ι. Bratko, Prolog Programming for Artificial Intelligence, Pearson Education Canada,  4th edition, 2011, ISBN 13: 9780321417466.
  • J. Lloyd, Foundations of Logic Programming,  Second Edition, Springer-Verlag, 1993, ISBN 3-540-18199-7.
  • U. Nilsson and J. Maluszynski, Logic, Programming and Prolog, Second edition, John Wiley & Sons, 1995, ISBN: 0 471 95996 0.

PREREQUISITE KNOWLEDGE

  • Propositional and predicate logic.
  • Induction, sets, relations and functions.
  • Stacks, trees and graphs.

Head of the Department οf Informatics Engineering
Malamos Athanasio ASSOCIATE PROFESSOR, amalamos@hmu.gr

Deputy Head of the Department οf Informatics Engineering
Marias Kostas ASSOCIATE PROFESSOR, kmarias@hmu.gr

Secretary
Address: Department of Informatics Engineering, School of EngineeringTEI of Crete, Heraklion, Crete, P.O Box: 71500
E-mail: secretariat@ie.teicrete.gr
Tel: 2810-379716, 2810-379795, 2810-379853
Fax: 2810-379717
Website: http://www.ie.teicrete.gr

Administrators
Tel: 2810-379776