CMSC 21500

Logic and Logic Programming (MATH 27900)

Prerequisites: MATH 25400 or CMSC 27700 or consent of instructor. Students are encouraged to take both CMSC 21500 and CMSC 27700. Programming knowledge not required.

Catalog Description: Predicate logic is a precise logical system developed to formally express mathematical reasoning. Prolog is a computer language intended to implement a portion of predicate logic. This course covers both predicate logic and Prolog, presented to complement each other and to illustrate the principles of logic programming and automated theorem proving. Topics include syntax and semantics of propositional and predicate logic, tableaux proofs, resolution, Skolemization, Herbrands's theorem, unification, refining resolution. It includes weekly classes and programming assignemtns in Prolog (for example, searching, backtracking, and cut).

Instructors: R. Soare
Quarter offered: Winter in even-numered years
Last Verified by Sharon Salveter on 8 April, 2003.