Для первого предложения:
![\forall x,y,z Person(x) \land JunkFood(y) \land CarbonatedBeverage(z) \land (eat(x,y) \lor drink(x,z)) \implies CancerVictim(x)](https://latex.codecogs.com/gif.latex?%24%5Cforall%20x%2Cy%2Cz%20Person%28x%29%20%5Cland%20JunkFood%28y%29%20%5Cland%20CarbonatedBeverage%28z%29%20%5Cland%20%28eat%28x%2Cy%29%20%5Clor%20drink%28x%2Cz%29%29%20%5Cimplies%20CancerVictim%28x%29%24)
Для второго предложения:
![\lnot [\forall y \exists x JunkFood(y) \land Person(x) \land eat(x,y) \land Healthy(x)]](https://latex.codecogs.com/gif.latex?%5Clnot%20%5B%5Cforall%20y%20%5Cexists%20x%20JunkFood%28y%29%20%5Cland%20Person%28x%29%20%5Cland%20eat%28x%2Cy%29%20%5Cland%20Healthy%28x%29%5D)
Для третьего предложения:
![\forall x Person(x) \land CancerVictim(x) \implies \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cforall%20x%20Person%28x%29%20%5Cland%20CancerVictim%28x%29%20%5Cimplies%20%5Cneg%20Healthy%28x%29)
Для четвертого предложения:
![Healthy(Bimal)](https://latex.codecogs.com/gif.latex?Healthy%28Bimal%29)
Для того, чтобы сначала перейти в CNF, вы должны удалить универсальные квантификаторы и заменитьэкзистенциальные квантификаторы с переменными сколем:
![\equiv \forall x \neg JunkFood(y) \lor \neg Person(x) \lor \neg eat(x,y) \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5Cforall%20x%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20%5Cneg%20Healthy%28x%29)
![\equiv \neg JunkFood(y) \lor \neg Person(x) \lor \neg eat(x,y) \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20%5Cneg%20Healthy%28x%29)
Теперь вы можете использовать логические правила, чтобы превратить его в CNF.
сначалапредложение:
![\lnot [Person(x) \land JunkFood(y) \land CarbonatedBeverage(z) \land (eat(x,y) \lor drink(x,z))] \lor CancerVictim(x)](https://latex.codecogs.com/gif.latex?%5Clnot%20%5BPerson%28x%29%20%5Cland%20JunkFood%28y%29%20%5Cland%20CarbonatedBeverage%28z%29%20%5Cland%20%28eat%28x%2Cy%29%20%5Clor%20drink%28x%2Cz%29%29%5D%20%5Clor%20CancerVictim%28x%29)
![\equiv \neg Person(x) \lor \neg JunkFood(y) \lor \neg CarbonatedBeverage(z) \lor (\neg eat(x,y) \land \neg drink(x,z)) \lor CancerVictim(x)](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20CarbonatedBeverage%28z%29%20%5Clor%20%28%5Cneg%20eat%28x%2Cy%29%20%5Cland%20%5Cneg%20drink%28x%2Cz%29%29%20%5Clor%20CancerVictim%28x%29)
![\equiv [\neg Person(x) \lor \neg JunkFood(y) \lor \neg CarbonatedBeverage(z) \lor \neg eat(x,y) \lor CancerVictim(x)] \land [\neg Person(x) \lor \neg JunkFood(y) \lor \neg CarbonatedBeverage(z) \lor \neg drink(x,z) \lor CancerVictim(x)]](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5B%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20CarbonatedBeverage%28z%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20CancerVictim%28x%29%5D%20%5Cland%20%5B%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20CarbonatedBeverage%28z%29%20%5Clor%20%5Cneg%20drink%28x%2Cz%29%20%5Clor%20CancerVictim%28x%29%5D)
![\equiv [\neg Person(x) \lor \neg JunkFood(y) \lor \neg eat(x,y) \lor CancerVictim(x)] \land [\neg Person(x) \lor \neg CarbonatedBeverage(z) \lor \neg drink(x,z) \lor CancerVictim(x)]](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5B%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20CancerVictim%28x%29%5D%20%5Cland%20%5B%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20CarbonatedBeverage%28z%29%20%5Clor%20%5Cneg%20drink%28x%2Cz%29%20%5Clor%20CancerVictim%28x%29%5D)
Я удалил предикаты из несущественныхпеременные области (junkFood и CarbonatedBeverage).Вы также можете сделать это в начале, имея два универсальных квантификатора, один для еды и один для питья.
второе предложение:
![\neg JunkFood(y) \lor \neg Person(x) \lor \neg eat(x,y) \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20%5Cneg%20Healthy%28x%29)
третье предложение:
![Person(x) \land CancerVictim(x) \implies \neg Healthy(x)](https://latex.codecogs.com/gif.latex?Person%28x%29%20%5Cland%20CancerVictim%28x%29%20%5Cimplies%20%5Cneg%20Healthy%28x%29)
![\equiv \neg[Person(x) \land CancerVictim(x)] \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5Cneg%5BPerson%28x%29%20%5Cland%20CancerVictim%28x%29%5D%20%5Clor%20%5Cneg%20Healthy%28x%29)
![\equiv \neg Person(x) \lor \neg CancerVictim(x) \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cequiv%20%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20CancerVictim%28x%29%20%5Clor%20%5Cneg%20Healthy%28x%29)
четвертое предложение:
![Healthy(Bimal)](https://latex.codecogs.com/gif.latex?Healthy%28Bimal%29)
Теперь попробуйте удалить соответствующие предложения.Мы предполагаем, что Бимал пьет газированные напитки:
![\exists x CarbonatedBeverage(x) \land drink(Bimal,x)](https://latex.codecogs.com/gif.latex?%5Cexists%20x%20CarbonatedBeverage%28x%29%20%5Cland%20drink%28Bimal%2Cx%29)
![\equiv CarbonatedBeverage(f(x)) \land drink(Bimal,f(x))](https://latex.codecogs.com/gif.latex?%5Cequiv%20CarbonatedBeverage%28f%28x%29%29%20%5Cland%20drink%28Bimal%2Cf%28x%29%29)
и мы знаем: ![Person(Bimal)](https://latex.codecogs.com/gif.latex?Person%28Bimal%29)
Так что теперь у нас есть эти предложениякак пункты CNF:
![\neg Person(x) \lor \neg JunkFood(y) \lor \neg eat(x,y) \lor CancerVictim(x)](https://latex.codecogs.com/gif.latex?%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20CancerVictim%28x%29)
![\neg Person(x) \lor \neg CarbonatedBeverage(z) \lor \neg drink(x,z) \lor CancerVictim(x)](https://latex.codecogs.com/gif.latex?%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20CarbonatedBeverage%28z%29%20%5Clor%20%5Cneg%20drink%28x%2Cz%29%20%5Clor%20CancerVictim%28x%29)
![\neg JunkFood(y) \lor \neg Person(x) \lor \neg eat(x,y) \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cneg%20JunkFood%28y%29%20%5Clor%20%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20eat%28x%2Cy%29%20%5Clor%20%5Cneg%20Healthy%28x%29)
![\neg Person(x) \lor \neg CancerVictim(x) \lor \neg Healthy(x)](https://latex.codecogs.com/gif.latex?%5Cneg%20Person%28x%29%20%5Clor%20%5Cneg%20CancerVictim%28x%29%20%5Clor%20%5Cneg%20Healthy%28x%29)
![Healthy(Bimal)](https://latex.codecogs.com/gif.latex?Healthy%28Bimal%29)
![Person(Bimal)](https://latex.codecogs.com/gif.latex?Person%28Bimal%29)
![CarbonatedBeverage(f(x))](https://latex.codecogs.com/gif.latex?CarbonatedBeverage%28f%28x%29%29)
![drink(Bimal,f(x))](https://latex.codecogs.com/gif.latex?drink%28Bimal%2Cf%28x%29%29)
и мы пытаемся найти противоречие:
- из 4,5,6:
![CancerVictim(Bimal)](https://latex.codecogs.com/gif.latex?%5Cneg%20CancerVictim%28Bimal%29)
- из 2,6,7,8:
![\neg CancerVictim(Bimal)](https://latex.codecogs.com/gif.latex?CancerVictim%28Bimal%29)
Поскольку эти два противоречат, мы получаемк пустому предложению и, согласно сокращению до абсурда, мы можем сказать, что наше первоначальное предположение (Бимал пьет газированные напитки) неверно.