First Order Logic
FOL Symbols
Domain: Set of objects
- Constant: Map to a particular object in D (e.g. “Alice”)
- Variable: Map to an arbitrary object in D (e.g. “a person”)
Properties of objects: Modeled using predicates
- Predicate: p(object, …) → bool
(e.g. pianist(Avery) = true, equal(Avery, Alice) = false)
- Arity: Number of argument in a predicate
Relationships between objects: Modeled using predicates and functions
- Function: f(object, …) → object
(e.g. sibling(Avery) = Alice)
FOL Grammar
Term: Represent objects
- Constants & Variables are terms
- If $t_{1:n}$ are terms and $f(t_{1:n})$ is a function, then the result of $f$ is also a term
Formula: Represent true/false assertions
- p(terms) is a formula
- (¬ formula) is also a formula
- (formula {∧, ∨, →} formula) is also a formula
- (∀x formula) and (∃x formula) are also formulas