- Propositional logic: computing truth tables and normal forms, simplifying by logical equivalences; deciding validity/satisfiability by various calculi/algorithms.
- First-order logic: determining free variables, computing truth values of closed formulas over finite domains, simplifying by logical equivalences, computing normal forms; proving validity/satisfiability by various calculi/algorithms.
- Equality: applying first-order logic inference rules for handling equality, transforming systems of equations into canonical term rewriting systems.
- Decidable logical theories: deciding the satisfiability of formulas in various theories and in combinations of these theories.
- Formalizing problems from various application domains by logical formulas, applying logical software tools for their solution: SAT solvers in propositional logic, automated theorem provers in first-order logic, SMT solvers in decidable logical theories.
|
Propositional logic: syntax and semantics, validity and satisfiability, logical
equivalence, sequent calculus, resolution, DP algorithm, DPLL algorithm.
First-order logic: syntax and semantics, validity and satisfiability, logical
equivalence, sequent calculus, Gilmore algorithm, analytic tableaux, resolution.
Equality: inference rules for equality reasoning, canonical term rewriting
systems, Knuth-Bendix completion. Decidable logical theories: linear real
arithmetic, Fourier-Motzkin elimination, the theory of equality with
uninterpreted functions, the congruence closure method, the Nelson-Oppen method.
Software for logical training (Sequent Calculus Trainer, Tree Proof Generator),
SAT solving (MiniSat, Limboole), first-order theorem proving (Vampire), SMT
solving (Z3).
|