I'm trying to write the statement below into first order logic:
My dog Jude is drinking something from the bowl, and everything from the bowl contains germs except for potable water.
I'm using the following predicates Drinks(x,y), From(x,y), Bowl(x), ContainsGerm(x), PotableWater(x).
Not 100% sure about the correctness of the logic and quantifiers that I'm using here, so any advice or suggestion of alternative solution to be discussed is welcome:
$\small\exists x \exists y (({\operatorname{Drinks}(\operatorname{Jude},x)} ~\&~ {\operatorname{Bowl}(y)} ~\&~ {\operatorname{From}(x,y)} ~\&~ (\forall z ({\operatorname{From}(z, y)} ~\&~ {\lnot\operatorname{PotableWater}(z)}) \to \operatorname{ContainsGerm}(z)))$
exists y Bowl(y)would more likely be "a bowl" at its first appearance. $\endgroup$all zpart doesn't involvex, so you could rearrange the statement asexists y (exists x (...) & exists z (...)). This rewrite makes sense because once we've identified the bowl in question, the sentence is really the AND of two statements: one about Jude drinking and one about the contents of the bowl. $\endgroup$$$\exists y (\exists x (\text{Drinks}(\text{Jude},x) \land \text{Bowl}(y) \land \text{From}(x,y)) \\\land \forall z (\text{From}(z, y) (\land \lnot\text{PotableWater}(z)) →\text{ContainsGerm}(z))).$$, will display as $$∃y (∃x (\text{Drinks}(\text{Jude},x) \land \text{Bowl}(y) \land \text{From}(x,y)) \\\land (∀z (\text{From}(z, y) \land \lnot\text{PotableWater}(z)) →\text{ContainsGerm}(z))).$$ $\endgroup$