Propositional logic,                                  syntax and semantics, proof theory vs. model                                  theory, soundness, consistency and completeness,                                  first order logic, logical theories, automated                                  theorem proving, ground resolution, pattern                                  matching unification and resolution, Dijkstras                                  logic, proof obligations, and program proving.                                  Prerequisite: CSE 355.