74.419 Artificial Intelligence 2005 - First-Order Predicate Logic - First-Order Predicate Logic (FOL or FOPL), also called First-Order Predicate Calculus Formal Language Semantics through Interpretation Function Axioms Inference System
FOPL - Formal Language / Syntax -
Formal Language A Formal Language is specified as L = (NT, T, P, S) NT Set of Non-Terminal Symbols T Set of Terminal Symbols P Set of Production or Grammar Rules S Start Symbol (top-level node in syntax tree / parse tree) A formal language specifies the syntactically correct or well-formed expressions of a language.
Terminals and Non-Terminals NT Non-Terminals wff (well-formed formula), atomic-formula; Predicate, Term, Function, Constant, Variable; Quantifier, Connective T Terminals Predicate (Symbols) P, Q, married, ..., Function (Symbols) f, g, father-of, ... Variables x, y, z, ... Constants Sally, block-1, c Connectives , , , Negation Symbol Quantifiers , Equality Symbol = Parentheses ( , ) Other Symbols : Domain Specifc General
Production / Grammar Rules Non-terminal Rules wff ::= atomic-formula | (wff) | wff | wff Connective wff | Quantifier Variable: wff atomic-formula ::= Predicate (Term, ...)* | Term = Term Term ::= Function (Term, ...)* | Variable | Constant Terminal Rules Connective ::= | | | Quantifier ::= | *Note: n-ary functions and predicates go with n terms
Domain-Specific Terminal Rules Terminal Rules for the specific Domain Predicate ::= on(_,_) | near(_,_) | ... Function ::= distance(_,_) | location(_) | ... Variable ::= x | y | ... Constant ::= Flakey | John-Bear | Karen | Alan-Alder | The-File | Kurt
Quantifiers and Binding A variable in a formula can be bound by a quantifier. bound variable x: married (Sally, x) open formula: a variable in the formula is not bound by a quantifier x: married (Sally, x) happy (y) closed formula: all variables in the formula are bound by quantifiers: x y: married (x, y) Most authors regard quantified formulas only as wffs if all quantified variables appear in the formula. Some authors regard quantified formulas only as wffs if all variables are bound by quantifiers.
FOPL - Semantics / Interpretation -
Semantics - Overview Define the Semantics of FOPL expressions (formulae): Interpretation – Maps symbols of the formal language (predicates, functions, variables, constants) onto objects, relations, and functions of the “world” (formally: Domain, relational Structure, or Universe) Valuation - Assigns domain objects to variables* Constructive Semantics – Determines the semantics of complex expressions inductively, starting with basic expressions * The Valuation function can be used for describing value assignments and constraints in case of nested quantifiers. The Valuation function otherwise determines the satisfaction of a formula only in case of open formulae.
Semantics – Domain, Interpretation I Domain, relational Structure, Universe D finite set of Objects d1, d2, ... , dn R,... Relations over D R Dn F,... Functions over D F: Dn D Basic Interpretation Mapping constant I [c] = d Object function I [f] = F Function predicate I [P] = R Relation Valuation V variable V(x) = dD
Semantics –Interpretation Next, determine the semantics for complex terms and formulae constructively, based on the basic interpretation mapping and the valuation function above.
Semantics - Interpretation II Terms with variables I [f(t1,...,tn)) = I [f] (I [t1],..., I [tn]) = F(I [t1],..., I [tn]) D where I[ti] = V(ti) if ti is a variable
Semantics - Interpretation III atomic Formula I [P(t1,...,tn)] true if (I [t1],..., I [tn]) I [P] = R negated Formula I [] true if I [] is not true complex Formula I[] true if I [] or I [] true I [] true if I [] and I [] true I [] if I [] not true or I [] true
Semantics - Interpretation III quantified Formula (relative to Valuation function) I [x:] true if is true with V’(x)=d for some dD where V’ is otherwise identical to the prior V. I [x:] true if is true with V’(x)=d for all dD and where V’ is otherwise identical to the prior V. Note: xy: is different from yx: In the first case xy: , we go through all value assignments V'(x), and for each value assignment V'(x) of x, we have to find a suitable value V'(y) for y. In the second case yx:, we have to find one value V'(y) for y, such that all value assignments V'(x) make true.
Semantics - Quantifiers - Examples Arithmetics What could this be? - What are f, z, x, y ? zxy : f(x,y)=z What is this? (It's easier.) xyz : f(x,y)=z This one's different. xy : f(x)=y xyz : f(x)=y f(x)=z y=z
Semantics - Satisfiability Given is an interpretation I into a domain D with a valuation V, and a formula . We say that: is satisfied in this interpretation or this interpretation is a model of iff I[] is true. That means the interpretation function I into the domain D (with valuation V) makes the formula true.
Logical Consequence - Entailment Given a set of formulae and a formula α. α is a logical consequence of iff α is true in every model in which is true. Notation: |= α That means that for every model (interpretation into a domain) in which is true, α must also be true.
FOPL - Inference System - Axioms & Inference Rules
FOPL Axioms A1 A2 A3 A5 x: (x) (y) A6 (x) y: (y)
Formal Inference - Overview Derive new formulae by syntactic manipulation of existing formulae: given set of formulae describes your KB, or a Theory, ... (FOPL axioms + your own "proper" axioms) apply inference rule (based on ) new formula α is derived add new formula to KB or Theory new KB or Theory is α
Formal Inference Formal Inference, Theorem Given a set of formulae and a set of inference rules IR. A new formula α can be generated based on using inference rules in IR. We say that α is inferred or derived from or α is a Theorem (of ) Notation: |– α
IR Modus Ponens Modus Ponens , States that can be concluded provided we know that the formulae and are true in our knowledge base.
IR Universal Instantiation x: (x) (c) where (x) is any formula containing the variable x, and (c) is the formula (x) where every occurrence of the quantified variable x is substituted with the arbitrary constant c.
IR Existential Generalization (c) x: (x) where (c) is any formula containing the arbitrary constant c, and (x) is the same formula as (c) but with every occurrence of the constant c replaced by a variable x.
IR Replacement Rules Replacement Rules ( ) ( )
FOPL Inference System The Axioms and the Inference Rules above constitute a formal inference system for FOPL. This system - we call it FS1 - is complete and sound.
Soundness and Completeness An Inference System is sound iff |– α |= α every formula which can be derived by formal inference from is a also logical consequence of . Completeness An Inference System is complete iff |= α |– α every formula which is a logical consequence of can be derived by formal inference from .
FOPL - Sound and Complete 2 The above inference system for FOPL is sound and complete. Thus, every formula which can be derived in FOPL using FS1 ( |– α) is also a logical consequence of the given axioms ( |= α) : |– α iff |= α Thus, there is a correspondence between formal Inference and logical Consequence.
Semantics - Example A1 Predicate Logic Language constants Bill-1, John-3, Sally-1, Mary-1, Mary-2 predicates happy-together, hate-each-other Structure D objects: Uncle-Bill, Uncle-John, Aunt-Sally, The-woman-I-don't-like, Mary relations: Married, Divorced (Uncle-Bill, Aunt-Sally) Married, (Uncle-John, Mary) Married (Uncle-John, The-woman-I-don't-like) Divorced Interpretation I(Bill-1)=Uncle-Bill, I(John-3)=Uncle-John, I(Sally-1)=Aunt-Sally, I(Mary-1)=The-woman-I-don't-like, I(Mary-2)=Mary I(happy-together)=Married, I(hate-each-other)=Divorced True or false? hate-each-other (Bill-1, John-3) happy-together(Bill-1, Sally-1) hate-each-other(John-3, Mary-1) happy-together(John-3, Mary-2)
Semantics -Example A2 Structure D objects: Uncle-Bill, Uncle-John, Aunt-Sally, The-woman-I-don't-like, Mary relations: Married, Divorced (Uncle-John, The-woman-I-don't-like) Divorced (Uncle-Bill, Aunt-Sally) Married, (Uncle-John, Mary) Married (or: {(Uncle-Bill, Aunt-Sally), (Uncle-John, Mary)} = Married) Interpretation I I(Bill-1) = Uncle-Bill, I(John-3) = Uncle-John, I(Sally-1) = Aunt-Sally, I(Mary-1) = Mary, I(Mary-2) = The-woman-I-don't-like I(happy-together) = Married, I(hate-each-other) = Divorced True or false? hate-each-other (Bill-1, John-3) hate-each-other (John-3, Mary-1) happy-together (Bill-1, Sally-1) happy-together (John-3, Mary-2) x: happy-together(Uncle-Bill, x)) x,y,z: happy-together(x,y) hate-each-other (x,z) What if you want to add a formula? x,y: happy-together(x,y) happy-together(y,x)