300 likes | 311 Views
A comprehensive overview of First-Order Predicate Logic (FOL), including formal language syntax, semantics through interpretation, and quantifiers binding.
E N D
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
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 variablesappear in the formula. Some authors regard quantified formulas only as wffs if • all variables arebound by quantifiers.
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] = dObject function I [f]= F Function predicate I [P] = RRelation 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 ifI []is not true complex Formula I[] true ifI [] or I []true I []true if I [] andI []true I []ifI [] not true orI []true
Semantics - Interpretation III quantified Formula (relative to Valuation function) I [x:]true if istrue 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, anda formula . We say that: is satisfiedin 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 • Logical Consequence (Entailment) • Given a set of formulaeand aformulaα. • α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 Axioms A1 A2 A3 A4 ( ) (( ) ( )) 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 begenerated 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 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 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 Soundness 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)