# Lecture 2: More Background

Continuing from Lecture01

Predicate Logic Informally - We build on propositional logic from last lecture to explain first-order predicate logic.

Proofs and Induction - We make sure that we are all familiar with basic proof techniques, which we will study as formal rule systems later.

Theorem Prover - Theorem provers check proofs, automate proof search or use other methods to show formula validity.

Computational Complexity - Limits of algorithms for theorem provers and decision procedures, and vocabulary for expressing problem difficulty.

Compiler - Compilers help us understand how to deploy verification systems.

Sets and Relations - Some more background in preparation for program semantics.