First-order logic (FOL) is a formal system used in mathematics, philosophy, linguistics, and computer science to represent knowledge about domains involving objects and relations. FOL extends propositional logic with quantifiers and predicates to describe properties of and relations between objects. Well-formed formulas in FOL involve constants, variables, functions, predicates, quantifiers, and logical connectives. The meaning and truth of FOL statements is determined with respect to a structure called a model that specifies a domain of objects and interpretations of symbols. FOL can be used to represent knowledge about many different domains and perform logical inference.