I am doing resolution proof in formal logic using truth table and prolog program outcome of my experiments are different and I want to know why.
Here is the problem in plain english: 1. If someone looks into eyes of fighter, he is going to get angry. 2. If the fighter gets angry, he is going to punch.
If the fighter punched, did someone look into fighter's eyes?
'Fighter punched' is conclusion, and we know when conclusion is true the premise could be either false or true, therefore we can't answer the question.
However, following SWI prolog program returns true:
eyes:-angry.
angry:-punch.
punch.
?-eyes.
True
Also
aggregate_all(count, (eyes), Count)
1
Can somebody explain this?