   Next: Isa and instance relationships Up: Predicate logic Previous: Predicate logic

An example

Consider the following:

• Prince is a mega star.
• Mega stars are rich.
• Rich people have fast cars.
• Fast cars consume a lot of petrol.
and try to draw the conclusion: Prince's car consumes a lot of petrol.

So we can translate Prince is a mega star into: mega_star(prince) and Mega stars are rich into: m: mega_star(m) rich(m)

Rich people have fast cars, the third axiom is more difficult:

• Is cars a relation and therefore car(c,m) says that case c is m's car. OR
• Is cars a function? So we may have car_of(m).

Assume cars is a relation then axiom 3 may be written: c,m: car(c,m) rich(m) fast(c).

The fourth axiom is a general statement about fast cars. Let consume(c) mean that car c consumes a lot of petrol. Then we may write: c: fast(c) m:car(c,m) consume(c) .

Is this enough? NO! -- Does prince have a car? We need the car_of function after all (and addition to car): c:car(car_of(m),m). The result of applying car_of to m is m's car. The final set of predicates is: mega_star(prince) m: mega_star(m) rich(m) c:car(car_of(m),m). c,m: car(c,m) rich(m) fast(c). c: fast(c) m:car(c,m) consume(c) . Given this we could conclude: consume(car_of(prince)).

dave@cs.cf.ac.uk