Logic is used to reason about the truth or falsity of statements. Propositional logic deals with Boolean functions while predicate logic deals with quantified Boolean functions. Statements can be combined using logical connectives like AND, OR, IMPLIES. Their truth values are determined using truth tables. Logical statements can be translated between English and symbolic notation. Predicate logic involves functions whose values depend on variables that range over a domain. Quantifiers like "for all" and "for some" are used to make assertions about predicates over a domain.