Assertions tf Epistemological commitment Ontological commitment tfu Deg belief facts Facts Objects relations Prop logic Prob prop logic FOPC Prob FOPC Atomic PropositionalRelationalFirst order ID: 559493
Download Presentation The PPT/PDF document "First-order Logic" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
First-order LogicSlide2
Assertions;
t/f
Epistemological
commitment
Ontological
commitment
t/f/u
Deg
belief
facts
Facts
Objects
relations
Prop
logic
Probproplogic
FOPC
ProbFOPCSlide3
Atomic
PropositionalRelationalFirst order
Atomic representations: States as blackboxes..
Propositional representations: States as made up of state variables
Relational representations: States made up of objects and relations between themFirst-order: there are functions which “produce” objects.. (so essentially an infinite set of objects
Propositional can be compiled to atomic (with exponential blow-up)
Relational can be compiled to propositional (with exponential blo-up)
if there are no functionsWith functions, we cannot compile relational representations into any finite propositional representation
“higher-order” representations
can (sometimes) be compiled to lower order
Expressiveness of RepresentationsSlide4
Why FOPC
If your thesis is utter vacuous
Use first-order predicate calculus.
With sufficient formality
The sheerest banalityWill be hailed by the critics: "Miraculous!"Slide5Slide6
Connection to propositional logic:
Think of “atomic sentences” as propositions…
general object referent
Can’t have predicates of predicates..
thus first-orderSlide7Slide8Slide9Slide10
Important facts about quantifiers
Forall and There-exists are related through negation..
~[forall x P(x)] = Exists x ~P(x)
~[exists x P(x)] = forall x ~P(x)Quantification is allowed only on variables
can’t quantify on predicates; can’t say [Forall P Reflexive(P) forall x,y P(x,y) => P(y,x) —you have to write it once per relation)
Order of quantifiers mattersSlide11
Family Values:
Falwell vs. Mahabharata
According to a recent CTC study,
“….90% of the men surveyed said they will marry the same woman..”
“…Jessica Alba.”
English is Expressive but Ambiguous.
Intuitively,
x
depends on y
as it is in the scope of the quantification on y (foreshadowing Skolemization)Slide12
Caveat: Order of quantifiers matters
“either Fido loves both Fido and Tweety; or Tweety loves both Fido and Tweety”
“ Fido or Tweety loves Fido; and Fido or Tweety loves Tweety”
Loves(x,y) means
x loves y
Intuitively,
x
depends on y
as it is in the scope of the quantification on
y (foreshadowing Skolemization)Slide13
Caveat: Decide whether a symbol is predicate, constant or function…
Make sure you decide what are your constants, what are your predicates and what are your functions
Once you decide something is a predicate, you cannot use it in a place where a predicate is
not
expected! In the previous example, you cannot saySlide14
More on writing sentences
Forall usually goes with implications (rarely with conjunctive sentences)
There-exists usually goes with conjunctions—rarely with implications
Everyone at ASU is smart
Someone at UA is smartSlide15
Apt-pet
An apartment pet is a pet that is small
Dog is a pet
Cat is a petElephant is a petDogs and cats are small. Some dogs are cute
Each dog hates some catFido is a dogSlide16
Notes on encoding English statements to FOPC
You get to decide what your predicates, functions, constants etc. are. All you are required to do is be consistent in their usage.
When you write an English sentence into FOPC sentence, you can “double check” by asking yourself if there are worlds where FOPC sentence doesn’t hold and the English one holds and vice versa
Since you are allowed to make your own predicate and function names, it is quite possible that two people FOPCizing the same KB may wind up writing two syntactically different KBs
If each of the KBs is used in isolation, there is no problem. However, if the knowledge written in one KB is supposed to be used in
conjunction
with that in another KB, you will need
“Mapping axioms” which relate the “vocabulary” in one KB to the vocabulary in the other KB. This problem is PRETTY important in the context of Semantic Web
The “Semantic Web” ConnectionSlide17Slide18Slide19
Two different Tarskian Interpretations
This is the same as the one on
The left except we have green guy
for Richard
Problem: There are too darned many Tarskian interpretations.
Given one, you can change it by just substituting new real-world objects
Substitution-equivalent Tarskian interpretations give same valuations to the
FOPC statements (and thus do not change entailment)
Think in terms of equivalent classes of Tarskian Interpretations
(Herbrand Interpretations)
We had this in prop
logic too—The real
World assertion
corresponding to a
propositionSlide20
Connection to propositional logic:
Think of “atomic sentences” as propositions…Slide21
Herbrand Interpretations
Herbrand Universe
All constants
Rao,Pat
All “ground” functional terms Son-of(Rao);Son-of(Pat);Son-of(Son-of(…(Rao)))….
Herbrand BaseAll ground atomic sentences made with terms in Herbrand universeFriend(Rao,Pat);Friend(Pat,Rao);Friend(Pat,Pat);Friend(Rao,Rao)
Friend(Rao,Son-of(Rao));Friend(son-of(son-of(Rao),son-of(son-of(son-of(Pat))
We can think of elements of HB as propositions; interpretations give T/F values to these. Given the interpretation, we can compute the value of the FOPC database sentences
If there are n constants; and
p k-ary predicates, then --Size of
HU = n --Size of HB = p*nkBut if there is even one function, then |HU| is infinity and so is |HB|.
--So, when there are no function symbols, FOPC is really just syntactic sugaring for a (possibly much larger) propositional database
Let us think of interpretations for FOPC that are more like interpretations for prop logicSlide22Slide23
But what about Godel?
In First Order Logic
We have finite set of constants
Quantification allowed only over variables…
Godel’s incompleteness theorem holds only in a system that includes “mathematical induction”—which is an axiom schema that requires infinitely many FOPC statementsIf a property P is true for 0, and whenever it is true for number n, it is also true for number n+1, then the property P is true for all natural numbersYou can’t write this in
first order logic without writing it once for each P (so, you will have to write infinite number of FOPC statements)So, a finite FOPC database is still semi-decidable in that we can prove all provably true theoremsSlide24
Proof-theoretic
Inference in first order logic
For “ground” sentences (i.e., sentences without any quantification), all the old rules work directly (think of ground atomic sentences as propositions)
P(a,b)=> Q(a); P(a,b) |= Q(a)
~P(a,b) V Q(a) resolved with P(a,b) gives Q(a)What about quantified sentences?
May be infer ground sentences from them….Universal Instantiation (a universally quantified statement entails every instantiation of it)
Existential instantiation (an existentially quantified statement holds for some term (not currently appearing in the KB).
Can we combine these (so we can avoid unnecessary instantiations?) Yes. Generalized modus ponens
Needs UNIFICATIONSlide25
UI can be applied several
times to add new sentences
--The resulting KB is
equivalent
to the old oneEI can only applied once --The resulting DB is
not equivalent to the old one BUT will be satisfiable only when the old one isSlide26Slide27
Want
mgu
(maximal general unifiers)Slide28
How about knows(x,f(x)) knows(u,u)?
x/u; u/f(u)
leads to infinite regress (“occurs check”)Slide29
GMP can be used in the “forward” (aka “bottom-up”) fashion
where we start from antecedents, and assert the consequent
or in the “backward” (aka “top-down”) fashion where we start
from consequent, and subgoal on proving the antecedents.Slide30
Apt-pet
An apartment pet is a pet that is small
Dog is a pet
Cat is a pet
Elephant is a petDogs, cats and skunks are small. Fido is a dogLouie is a skunk
Garfield is a catClyde is an elephantIs there an apartment pet?Slide31Slide32
Your Project 4!Slide33
Efficiency can be improved by re-ordering subgoals adaptively
e.g., try to prove Pet before Small in Lilliput Island; and
Small before Pet in pet-store. Slide34
Forward (bottom-up)
vs. Backward (top-down) chaining
Forward chaining fires rules starting from facts
Using P, derive Q
Using Q & R, derive S Using S, derive Z Using Z, Q, derive WUsing Q, derive J
No more inferences. Check if J holds. It does. So proved
Backward chaining starts from the theorem to be provedWe want to prove J. Using Q=>J, we can subgoal on Q
Using P=>Q, we can subgoal on PP holds. We are done.
Suppose we have P => Q Q & R =>S S => Z Z & Q => W Q => J
P RWe want to prove J
Forward chaining allows parallel derivation of many facts together; but it may derive facts that are not relevant for the theorem.Backward chaining concentrates on proving subgoals that are relevant
to the theorem. However, it proves theorems one at a time.
Some similarity with progression vs. regression…Slide35
Datalog and Deductive Databases
A deductive database is a generalization of relational database, where in addition to the relational store, we also have a set of “rules”.
The rules are in definite clause form (universally quantified implications, with one non-negated head, and a conjunction of non-negated tails)
When a query is asked, the answers are retrieved both from the relational store, and by deriving new facts using the rules.
The inference in deductive databases thus involves using GMP rule. Since deductive databases have to derived all answers
for a query, top-down evaluation winds up being too inefficient. So, bottom-up (forward chaining) evaluation is used (which tends to derive non-relevant facts
A neat idea called magic-sets allows us to temporarily change the rules (given a specific query), such that forward chaining on the modified rules will avoid deriving some of the irrelevant facts.
Base facts
P(a,b),Q(b)R(c)..
RulesP(x,y),Q(y)=>R(y)
?R(z)
RDBMS
R(c); R(b)..Connection to Progression becoming goal directed w.r.t.
P.G. reachability heuristics Slide36
Similar to “Integer Programming” or “Constraint Programming”Slide37
Generate compilable
matchers for each
pattern, and use themSlide38Slide39Slide40Slide41Slide42
Example of FOPC Resolution..
Everyone is loved by someone
If x loves y, x will give a valentine card to y
Will anyone give Rao a valentine card?
y/z;x/Rao
~loves(z,Rao)
z/SK(rao);x’/raoSlide43
Finding where you left your key..
Atkey(Home) V Atkey(Office) 1
Where is the key?
Ex Atkey(x)
Negate Forall x ~Atkey(x)CNF ~Atkey(x) 2 Resolve 2 and 1 with x/homeYou get Atkey(office) 3Resolve 3 and 2 with x/office
You get empty clause
So resolution refutation “found” that there does exist a place where the key is… Where
is it? what is x bound to? x is bound to office once and home once. so x is either home or officeSlide44
Existential proofs..
Are there irrational numbers p and q such that p
q
is rational?
Rational
Irrational
This and the previous examples show that resolution refutation is powerful enough to model existential proofs.
In contrast, generalized modus ponens is only able to model constructive proofs..Slide45
Existential proofs..
The previous example shows that resolution refutation is powerful enough to model existential proofs. In contrast, generalized modus ponens is only able to model constructive proofs..
(We also discussed a cute example of existential proof—is it possible for an irrational number power another irrational number to be a rational number—we proved it is possible, without actually giving an example). Slide46
GMP vs. Resolution Refutation
While resolution refutation is a
complete
inference for FOPC, it is computationally semi-decidable, which is a far cry from polynomial property of GMP inferences.
So, most common uses of FOPC involve doing GMP-style reasoning rather than the full theorem-proving.. There is a controversy in the community as to whether the right way to handle the computational complexity is to a. Develop “tractable subclasses” of languages and require the expert to write all their knowlede in the procrustean beds of those sub-classes (so we can claim “complete and tractable inference” for that class) OR
Let users write their knowledge in the fully expressive FOPC, but just do incomplete (but sound) inference. See Doyle & Patil’s “Two Theses of Knowledge Representation” Slide47Slide48Slide49Slide50Slide51