Suppose we have the predicate I(x,y), which means that x has influenced y. And we have C, which is the set of all composers.

If I translate the following sentence:

All composers are influenced by Bach.

to first-order logic I believe I will get:

∀x(C(x) → I(Bach,x))

Say now I need to translate the following sentence and I can re-use all my predicates etc.:

All russian composers are influenced by Bach.

What would be a good way of writing this senctence to first-order logic? Should I define an entire new set R, being the set of all Russian composers? That doesn't seem efficient, but I can't figure out what else to do.

  • $\begingroup$ Yes; "for all $x$, if $x$ is a Composer and Russian, then Bach Influenced $x$". $\endgroup$ – Mauro ALLEGRANZA Sep 16 '17 at 19:45

A more analytic, thus "better" way than simply defining a set of Russian composers ad hoc is to break this set down into a set of Russians $R$ and a set of composers $C$, and then picking those individuals that satisfy both predicates; thus:

$\forall x (R(x) \land C(x) \to I(Bach, x)) $

"All individuals who are Russian and composers have been influenced by Bach."

In set-theoretic terms, this is taking the intersection between two sets of individuals.

This may look clumsy at first, but is the most common way to handle adjective + noun combinations in predicate logic.
(Note that this procedure does not work without exceptions - an "alleged murderer" is not meaningfully someone who is $Murderer(x) \land Alleged(x)$. But it's good enough for most cases you'll have to deal with.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.