Propositional Logic and First-Order Predicate Calculus

The syntax and formal semantics of propositional and first-order predicate calculus (FOPC) will be covered, with particular focus on their importance in defining the problem representation (the "representational scheme").

We will focus on logical representation in non-mathematical, non-formal domains.

Conversion to clausal form, unification, and resolution will be covered, emphasizing implications for representation.

Problem Representation

Framework: see figure 6.1

Levels/views of Knowledge-Based Agents

Semantics: connects sentences with facts ("the world")

Inference procedure: procedure that derives sentences from sentences


Soundness of inference (proof) procedure i:

Completeness of inference (proof) procedure i:

Propositional Logic: Syntax and Semantics

Syntax: see figure 6.8

Semantics: give an interpretation to sentences; assign elements of the world to sentences, and define the meanings of the logical connectives

Semantics of propositional logic is easy:

A set of sentences S is satisfied by interpretation I iff the sentences in S are assigned T under I

A set of sentences S is satisfiable if there is an interpretation that satisfies it

An interpretation I is a model of a set of sentence S iff the sentences in S are all true under I

A set of sentences that is not satisfiable is inconsistent

A sentence is valid if it is true under every interpretation

Example of an inconsistent sentence? P ^ ~P

Example of a valid sentence? P v ~P

A more technical definition of |=

Entailment gives us a (very strict) criterion for deciding whether it is ok to infer a particular conclusion from a set of premises: infer the conclusion only if it is logically entailed by the premises

Computational method: apply rules of inference (or other inference or proof procedure) that are sound, because if A is derived from B using a sound rule of inference, then we know that B logically entails A.

The rules of inference in figure 6.13 are sound

Abduction (which we saw above), is an example of an unsound rule of inference:

In this part of the course, we are concerned with sound reasoning.

A logic is monotonic if the following implication is true:

forall (KB1, KB2,Alpha) (KB1 |= Alpha) --> (KB1 and KB2 |= Alpha)

Adding knowledge never makes something that was true become false.
First-order predicate calculus and propositional logic are monotonic.


First-Order Predicate Calculus

The world consists of objects, properties that distinguish them from other objects, and
functions (from objects to objects).

Wumpus world:
   objects:  the gold, the wumpus, a square,...
   predicates(relations):  holding, smelly, breezy, ...
   functions:  leftAdjacentSquare, rightAdjacentSquare,...

Syntax:  Figure 7.1 (examples in lecture)

FOPC inherits the logical connectives, but breaks things up into objects, predicates, and functions;
it also includes quantifiers.

Translating English to FOL

Semantics Basic idea:  as for propositional logic, specify an interpretation, a mapping between elements
of the language and elements of the world.  World:  domain of objects (D), functions, predicates

Type of Symbol                   What sort of thing is assigned to it
constant                               an element of D
N-ary function symbol          mapping from D^N to D
N-ary predicate symbol       a subset of D^N

For example,  given D={sam,juan,krishnan,sally,kathy},
                    "Sam" might be assigned sam
                    "Juan" might be assigned juan
                    "Krishnan" might be assigned krishnan
                    "Sally" might be assigned sally
                    "Kathy" might be assigned kathy
                    function symbol  "father" might be assigned the set {<sam,juan>, <juan,krishnan>, <krishnan,sally>}
                    predicate symbol  "siblings" might be assigned the set {<sally,sam>,<kathy,sam>}

The meaning of propositions is determined as follows:
First, assign meanings to terms.  Terms are assigned objects of the domain.

Now, assign truth values to atomic sentences, p(t1,...,tn):  assign true if the tuple formed from the objects assigned to the ti's is an element of the predicate assigned to "p".

Examples using above in lecture.

The truth values of sentences with logical connectives are determined as in propositional logic.

Finally:  forall X G is T if G is T with X assigned d, for all d in D; F otherwise.
            exists X G is t if G is T with X assigned d, for some d in D; F otherwise.

  • A. What are the objects? What are the predicates? What are the functions?
  • Example:
    Representational Scheme 1:
    D={a,b,c,d,e}; predicate red = {a,b,c}; predicate pink = {d,e}
    Under the intended interpretation:
    red(a). pink(d).
    predicate color={red,pink}; predicate primary={red}; predicate pretty={pink}.
    Under the intended interpretation:
    colorof(a,red). color(pink). primary(red).
    More expressive, but inference may take longer (axioms may be larger)
    (an alternative: axiom schemata;)