CS3050: Logic and Reasoning
This module is offered in 2024-25.
This module covers the foundations of logic that are relevant to computer scientists, with an emphasis on automatic reasoning and decidability. Topics include propositional and predicate calculus, proof techniques, the development and presentation of mathematical arguments, and Goedel’s incompleteness theorem.
Learning Outcomes
- Appreciate the deep linkages between formal logic and the foundations of computer science;
- Be comfortable with the application of formal reasoning principles;
- Be able to understand, develop, and present precise mathematical arguments;
- Be proficient in reasoning about discrete mathematical structures of relevance to computer science; and
- Understand the capabilities and limitations of computer reasoning tools.
Syllabus
- propositional calculus, notation, inference, etc.
- non-monotonic logic
- predicate calculus, notation, truth trees
- predicate calculus, completeness, decidability
- first-order theories
- modular arithmetic, finite fields
- proof techniques
- incompleteness
- advanced topics in logic
Compulsory Elements
This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).