This module is designed to acquaint the students with the basics of lisp programming and prolog concepts.
The Past, Present, and Future of Common Lisp. Convergence of Hardware and Software ,The Common Lisp Model of Computation. Operating a CL Development Environment :Installing a CL Environment, Running CL in a Shell Window . Starting CL from a Terminal Window , Stopping CL from a Terminal Window, Running CL inside a Text Editor, Integrated Development Environment , Debugging in CL,Common debugger commands , Interpreted vs Compiled Code , Developing Programs and Applications in CL, A Layered Approach ,Compiling and Loading your Project
Overview of CL and its Syntax , Evaluation of Arguments to a Function, Lisp Syntax Simplicity ,Turning Off Evaluation , Fundamental CL Data Types, Functions , Global and Local Variables , The List as a Data Structure , Accessing the Elements of a List,The conditional If ,Length of a List , Member of a List, Getting Part of a List,Appending Lists, Adding Elements to a List, Removing Elements from a List Sorting Lists, Control of Execution .If, When , Logical Operators, Case, Iteration.
Introduction to PROLOG, Foundations of prolog, Preliminaries ,Logic Formulas, Semantics of Formulas , Models and Logical Consequence , Logical Inference, Substitutions, Definite Logic Programs, Definite Clauses , Definite Programs and Goals, The Least Herbrand Model , Construction of Least Herbrand Models, SLD-Resolution , Informal Introduction, Unification , SLD-Resolution , Soundness of SLD-resolution Completeness of SLD-resolution,Proof Trees.
Logic and Databases ,Relational Databases ,Deductive Databases, Relational Algebra vs. Logic Programs, Logic as a Query-language, Special Relations Databases with Compound Terms, Programming with Recursive Data Structures : Recursive Data Structures Lists, Difference lists.
Amalgamating Object- and Meta-language: What is aMeta-language, Ground Representation, NongroundRepresentation.The Built-in Predicate clause/2 ,The Built-in Predicates assert,The Built-in Predicate retract/1 ,Logic and Expert Systems Expert Systems,Collecting Proofs,Query-the-user, Fixing the Car (Extended Example), Logic and Grammars: Context-free Grammars,LogicGrammars, Context-dependent Languages, Definite Clause Grammars (DCGs),Cmpilation of DCGs into Prolog .
1. Ulf Nilsson and Jan aÃluszynski , “Logic, Programming And Prolog (2ed)”.
2. Robert A Muller and Rex L. Page, “Symbolic Computing with Lisp and Prolog”, John Wiley and Sons.