This document introduces predicate logic and its key concepts. It discusses that predicate logic uses predicate symbols to represent relations between objects, with the number of objects defining a predicate's degree. Predicate logic formulas can be joined using logical connectives like negation, conjunction, disjunction, and implication. Quantifiers like universal and existential are used to express properties of object collections. The syntax of predicate logic is inspired by Prolog and uses terms formed from constants, variables, and function symbols, along with quantifiers and sentences. Some useful equivalences for eliminating and distributing quantifiers are also presented. The document concludes by assigning students to describe predicate logic and discuss useful formulas for designing facts.