Procedural and declarative programming. Logic programming as an instance of declarative programming. The Prolog programming language. Syntax of programs. Lists. Operators. Arithmetic. Control of backtracking. Negation in Prolog. Built-in predicates. Handling of data structures. Applications of Prolog in search problems, symbolic processing, natural language understanding and meta-programming. Expert systems and logic programming. Theory of logic programming. Interpretations and models. Model theoretic semantics. Fixpoint semantics. Unification. SLD-resolution. Operational semantics. Constraint logic programming. Implementation techniques of logic programming systems. Parallel logic programming. Logic programming for knowledge representation. Knowledge representation – methodologies and implementations using Prolog. Knowledge-based systems – the expert systems case. Deductive databases – the Datalog case. Logic programming and the World Wide Web.
Panagiotis Stamatopoulos, Isambo Karali, “Logic Programming: Lecture Notes”, 2011.
Panagiotis Stamatopoulos, "Logic and Functional Programming", Hellenic Academic Libraries Link, 2016. http://hdl.handle.net/11419/3587.