Translate the English sentence into predicate logic

42 Views Asked by At

The given sentence is: "Every dinosaur has a mother it was born from."

We are allowed to use the variables: d for dinosaurs, and m for mothers. And we can use two predicates: Dino(d) and BornFromMother(d, m) which is true if dinosaur d came from mother m.

As far as I understood this problem, here's my answer:
$\forall$$d$ $\exists$$m$ [Dino($d$) $\to$ BornFromMother($d, m$)]

Is my understanding & solution correct?

2

There are 2 best solutions below

0
On

It looks correct. You may want to add ∃!m to show that every d has only one (i.e. “unique”) m. There may be some examples of hermaphroditism, which would change the statement, but I’m assuming the problem isn’t that strict.

0
On

As far as I understood this problem, here's my answer:

∀d ∃m [Dino(d) → BornFromMother(d,m)]

Is my understanding & solution correct?

The quantifiers, conditional, predicates, and brackets are all correctly placed.

Now, I'd suggest separating the predicates for $\operatorname{Mother}$ and $\operatorname{BornFrom}$, to better reflect the structure of the text.

$\qquad\forall d~\exists m~\big[\operatorname{Dino}(d) \to (\operatorname{Mother}(m)\land \operatorname{BornFrom}(d,m))\big]$

$\qquad$ "Every dinosaur has a mother from which it was born."

Still, if those were the two predicates you were given to use, those are what you had to use. So...