Skip to main content

Subsection 6.1.1 Now We Need Practice

We’ve already covered everything you need to know to translate back and forth between:

  • Ideas (stated in English or perhaps some other way)

and

  • Predicate logic statements

But this is a hard thing to do, particularly in the English to logic direction. So it makes sense to get some more practice. We’re coming back to it now, after getting some experience at using logical identities and constructing proofs, so that we’ll be able to see how both to encode knowledge and to reason with it.

Video cover image

Suppose that we are in charge of making sure everyone in our company complies with all the official rules. We want to represent the fact that there’s someone who doesn’t know all the rules (in which case, it’s time for another training session).

First we have to choose our predicates. Let’s assume that we want to handle some other issues as well. In particular, that there are things besides rules that someone might or might not know. So define:

Rule(x): True if x is an official rule.

Knows(x, y) True if x knows y.

We can represent our statement in either of two fairly natural ways:

[1] \(\exists \) x (\(\neg \)(\(\forall \) y (Rule(y) \(\forall \) Knows(x, y))))

[2] \(\exists \) x (\(\exists \)y (Rule(y) \(\wedge \) \(\neg \) Knows(x, y)))

The natural reading of [1] is that there exists someone who doesn’t know all the rules. The natural reading for [2] is that there exists some person/rule pair such that the person doesn’t know the rule.

You should practice using our identity rules to show that [1] and [2] are equivalent.