UD Home
CIS Home
Search
Contact
Welcome Research Undergraduate Graduate Resources People

CISC 310: Logic and Programming

Catalog Description:
Propositional and predicate logic syntax, semantics; proof methods based on unification and resolution; applications involving translation, reasoning, and logic programming.

Current Texts:
Logic for Computer Scientists
U. Schöning
Birkhäuser Boston, 1989

Programming in Prolog, 4th Edition
W. F. Clocksin and C. S. Mellish
Springer-Verlag, Berlin, 1994.

Goals:
In computer science we see the automation of reasoning, the use of logic for knowledge representation in artificial intelligence and in data base theory and practice; the creation and use of logic programming languages such as Prolog; the use of logic for proving programs correct; and extensions of logic for formal specification, semantics, and design of programming languages.

In this course we will study in detail sound and complete logical systems with important expressive power. We will study a proof technique called resolution and disproof techniques based on semantic structures. Resolution is particularly suitable for automation! We will show how special cases of the logical systems and refinements of resolution naturally leads to the programming language Prolog in which the student will do some projects. Additionally, there will be some non-programming homeworks in which the student will have the opportunity to solve some problems and do some mathematical proofs.

Content:

  • Propositional logic syntax and truth table semantics; conjunctive and disjunctive normal forms; Horn formulas; and propositional logic resolution.
  • Quantifier and predicate logic syntax and model theoretic semantics; translation from English to predicate logic; prenex, Skolem and clausal forms; unification and predicate logic resolution; and logic programming.

Prerequisites:
CISC 220 (Data Structures), CISC 280 (Programming Paradigms), Math 315 (Discrete Math II).



Department of Computer & Information Sciences
103 Smith Hall | Newark, DE 19716
- email webmaster -