I have the following predicates:
- Doctor(D)
- Hospital(H)
- WorksIn(D, H)
- HasShift(D, IdS, H)
Is this FOL formula transformation correct? I'm a little unsure.
Every doctor that works in hospitals has at least two different shifts
I have the following predicates:
Is this FOL formula transformation correct? I'm a little unsure.
Every doctor that works in hospitals has at least two different shifts
Copyright © 2021 JogjaFile Inc.
Your translation is probably what they were looking for, but the English sentence is actually somewhat ambiguous.
Note that in your translation, any doctor ends up working two shifts for every hospital they work at. So, for example, if a doctor works at 3 different hospitals, then that doctor will end up having a total of 6 shifts or more.
Now, this interpretation is probably the one that they meant, but it is also possible to read the sentence as: any doctor who works at any hospitals at all (so they work at at least one hospital), will have a total of at least two shifts. So with that interpretation, a doctor working at 3 different hospitals could end up working still only 2 shifts total (somehow distributed among those hospitals).
Now, I would say that given the use of language, together with common sense and knowledge regarding doctors, hospitals, and shifts, the former interpretation is more likely the one that was meant, in which case your translation is correct. But, it would be an interesting exercise for yourself to try and logically translate the second interpretation: the first-order logic sentence for that ends up being a little more complicated.