200 likes | 335 Vues
First-order logic (FOL) extends propositional logic by introducing a richer ontology, allowing the representation of objects, properties, relations, and functions. While propositional logic is limited in its expressive power, FOL can articulate statements about individuals like "Bill Clinton," relational propositions such as "brother of," and properties like "red." This structured syntax includes constants, predicates, and quantifiers, creating a framework for reasoning about various domains. Learn how FOL enables complex logical expressions and the implications of its usage in mathematical modeling.
E N D
일차술어논리 First-order Logic
Limitation of propositional logic • A very limited ontology • to need to the representation power • first-order logic
First-order logic • A stronger set of ontological commitments • A world in FOL consists of objects, properties, relations, functions • Objects people, houses, number, colors, Bill Clinton • Relations brother of, bigger than, owns, love • Properties red, round, bogus, prime • Functions father of, best friend, third inning of
Examples • “One plus two equals three” • objects :: one, two, three, one plus two • Relation :: equal • Function :: plus • “Squares neighboring the wumpus are smelly • Objects :: wumpus, square • Property :: smelly • Relation :: neighboring
First order logics • Objects와 relations • 시간, 사건, 카테고리 등은 고려하지 않음 • 영역에 따라 자유로운 표현이 가능함 ‘king’은 사람의 property도 될 수 있고, 사람과 국가를 연결하는 relation이 될 수도 있다 • 일차술어논리는 잘 알려져 있고, 잘 연구된 수학적 모형임
Syntax and Semantics Sentence AtomicSentence | Sentence Connective Sentence | Auantifier Variable,…Sentence | Sentence | (Sentence) AtomicSentence Predicate(Term,…) | Term=Term TermFunction (Term,…) | Constant | Variable Connective | | | Quantifier | Constant A | X1 | John | … Variable a | x | s | … Predicate Before | HanColor | Raining | … Function Mother | LeftLegOf | … Figure 7.1 The syntax of first-order logic (with equality) in BNF (Backus-Naur Form).
예 • Constant symbols :: A, B, John, • Predicate symbols :: Round, Brother • Function symbols :: Cosine, FatherOf • Terms :: King John, Richard’s left leg • Atomic sentences :: Brother(Richard,John), Married(FatherOf(Richard), MotherOf(John)) • Complex sentences :: Older(John,30)=>~younger(John,30)
Quantifiers • World = {a, b, c} • Universal quantifier (∀) ∀x Cat(x) => Mammal(x) Cat(a) => Mammal(a) & Cat(a) => Mammal(a) & Cat(a) => Mammal(a) • Existential quantifier (∃) ∃x Sister(x, Sopt) & Cat(x)
Nested quantifiers • ∀x,y Parent(x,y) => Child(y,x) • ∀x,y Brother(x,y) => Sibling(y,x) • ∀x∃y Loves(x,y) • ∃y∀x Loves(x,y)
De Morgan’s Rule ∀x ~P ~∃x P ~P&~Q ~(P v Q) ~∀x P ∃x ~P ~(P&Q) ~P v ~Q ∀x P ~∃x ~P P&Q ~(~P v ~ Q) ∃x P ~∀x ~P P v Q ~(~P&~Q)
Equality • Identity relation • Father(John) = Henry • ∃x,y Sister(Spot,x) & Sister(Spot,y) & ~(x=y) ≠ ∃x,y Sister(Spot,x) & Sister(Spot,y)
Higher-order logic • ∀x,y (x=y) (∀p p(x) p(y)) • ∀f,g (f=g) (∀x f(x) g(x)) ∀
-expression • x,y x2– y2 • -expression can be applied to arguments to yield a logical term in the same way that a function can be • (x,y x2– y2) (25,24) = 252-242 = 49 • x,y Gender(x) ≠Gender(y) & Address(x) = Address(y)
∃! (The uniqueness quantifier) • ∃!x King(x) • ∃x King(x) & ∀y King(y) => x=y world를 고려하여 보여주면 => object가 1, 2, 3개일 때 {a} w0 king={}, w1 king={a} w1만 model {a,b} w0 king={}, w1 king={a}, w2 {b}, w3 {a,b} w1, w2만 model
Representation of sentences by FOPL • One’s mother is one’s female parent ∀m,c Mother(c)=m Female(m) & Parent(m) • One’s husband is one’s male spouse ∀w,h Husband(h,w) Male(h) & Spouse(h,w) • Male and female are disjoint categories ∀x Male(x) ~Female(x) • A grandparent is a parent of one’s parent ∀g,c Grandparent(g,c) ∃p parent(g,p) & parent(p,g)
Representation of sentences by FOPL • A sibling is another child of one’s parents ∀x,y Sibling(x,y) x≠y & ∃p Parent(p,x) & Parent(p,y) • Symmetric relations ∀x,y Sibling(x,y) Sibling(y,x)
The domain of sets (I) • The only sets are the empty set and those made by adjoining something to a set : ∀s Set(s) (s=EmptySet) v (∃x,s2 Set(s2) & s=Adjoin(x,s2)) • The empty set has no elements adjoined into it. ~∃x,s Adjoin(x,s)=EmptySet • Adjoining an element already in the set has no effect ∀x,s Member(x,s) s=Adjoin(x,s) • The only members of a set are the elements that were adjoined into it ∀x,s Member(x,s) ∃y,s2 (s=Adjoin(y,s2) & (x=y v Member(x,s)))
The domain of sets (II) • A set is a subset of another if and only if all of the first set’s are members of the second set : ∀s1,s2 Subset(s1,s2) (∀x Member(x,s1) => member(x,s2)) • Two sets are equal if and only if each is a subset of the other: ∀s1,s2 (s1=s2) (Subset(s1,s2) & Subset(s2,s1))
The domain of sets (III) • An object is a member of the intersection of two sets if and only if it is a member of each of sets : ∀x,s1,s2 Member(x,Intersection(s1,s2)) Member(x,s1) & Member(x,s2) • An object is a member of the union of two sets if and only if it is a member of either set : ∀x,s1,s2 Member(x,Union(s1,s2)) Member(x,s1) v Member(x,s2)
Asking questions and getting answers • Tell(KB, (∀m,c Mother(c)=m Female(m) & Parent(m,c))) • …… • Tell(KB, (Female(Maxi) & Parent(Maxi,Spot) & Parent(Spot,Boots))) • Ask(KB,Grandparent(Maxi,Boots) • Ask(KB, ∃x Child(x, Spot)) • Ask(KB, ∃x Mother(x)=Maxi) • Substitution, unification, {x/Boots}