15Temporal Reasoning
The logic that we’ve looked at so far, first-order predicate logic, is really powerful. You can do a ton of stuff in it. In fact, as we saw in Prolog, if you can do it with a computer, you can do it with first-order predicate logic (FOPL).
But there are some kinds of reasoning that standard predicate logic is really bad at, such as reasoning about time. In predicate logic, if something is true, then it’s always true. There’s no notion of time, no way for things to happen in sequence. There’s no good way to say in predicate logic that I’m not hungry now but I will be later.
For example, in 2010 I worked for Google, and today I work for Foursquare. If I want to be able to capture that, I can’t just use a predicate WorksFor(Mark, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access