CST 329 – Reasoning with Logic
Course Overview
CST 329 develops skill in using formal logic to describe and assess arguments. The course covers propositional logic and first-order predicate logic, with a focus on writing and verifying proofs, translating natural language arguments into precise logical formulas, and understanding the limitations of formal logic in capturing human reasoning.
Course Outcomes
- Identify whether an argument written in English is logically valid.
- Translate logical arguments from English into propositional and first-order logic.
- Write formal proofs using inference rules such as Modus Ponens, Modus Tollens, Universal Instantiation, and Existential Generalization.
- Check the validity of logical arguments.
- Choose an appropriate logic system and understand its limitations.
Challenge Problem #02 — First-Order Logic Proof
This challenge problem required translating the boolean outputs of three pseudocode functions into first-order logic statements, then constructing a formal proof of the conclusion. The argument involved reasoning about user roles and permissions in a software system — mapping real-world logic onto quantifiers, predicates, and inference rules.
The 14-step proof uses Universal Instantiation, Modus Tollens, Modus Tollendo Ponens, Simplification, Adjunction, and Existential Generalization to derive the conclusion from three premises. Verified correct by the course proof checker.