Consider a predicate logical language with predicate symbol A that takes one argument, and predicate symbol R that takes two arguments:
- $a$ denotes Alice
- $b$ denotes Bob
- $Ax $ means $x$ is a woman
- $Rxy$ means $x$ is a child of $y$
I want to translate the following statement in predicate logic:
Alice and Bob have less than 3 sons
I interpret this sentence as Anna having less than 3 sons and Bob having less than 3 sons.
Here is my try:
$$\forall y \Big( (y=a\lor y=b)\to \big[\exists k_{ 0 },k_{ 1 },k_{ 2 }(Rk_{ 0 }y\land Rk_{ 1 }y\land Rk_{ 2 }y\land \lnot Ak_{ 0 }\land \lnot Ak_{ 1 }\land \lnot Ak_{ 2 })\to (k_{ 0 }=k_{ 1 }\lor k_{ 0 }=k_{ 2 } \lor k_1 = k_2) \big] \Big)$$
\colorfunction? – Asaf Karagila Jul 11 '13 at 18:56\Bigg,\bigg,\Big,\bigas well. It's much easier to see, understand, and everyone can check that. Also you should program for a few months in Common Lisp and then parentheses won't be any real problem anymore. – Asaf Karagila Jul 11 '13 at 19:02