`Problem Set: challenging`

# Honey Crumpets

A logic problem by Brandon Bennett

Your problem is to use first-order logic to represent the following example of reasoning, and use the Prover9 theorem prover to prove that the reasoning is valid.

Use the following template file to create your Prover9 encoding of the problem: `honey_crumpets.p9`

Marks: There are two marks for each sentence, making a total of 32 marks.

Outline: I have four crumpets on a plate. Two are honey crumpets and the other two just butter. I can eat two crumpets but must leave two for my freind. Of course, I want to have at least one of the Honey crumpets. But unfortunately, the warm honey has run into the crumpets, and I cannot tell, or remember, which are the honey ones. However, I do remember that the two honey crumpets were next to each other. Is there a way to take two and be sure that I get a honey crumpet?

Domain: You should take the domain of quantification to be the set of crumpets on the plate.

## Problem Statement

A1 | All crumpets have butter or honey on them.
A2 | No crumpet has both honey and butter.
A3 | There are exactly two honey crumpets.
A4 | There are exactly two buttered crumpets.
A5 | Any two different crumpets are either next to each other or diagonally opposite.
A6 | No two crumpets are next to each other and diagonally opposite.
A7 | No crumpet is next to itself.
A8 | No crumpet is diagonally opposite itself
A9 | If any crumpet A is next to any crumpet B then B is also next to A.
A10 | If any crumpet A is diagonally opposite any crumpet B then B is also diagonally opposite A.
A11 | Every crumpet is diagonally opposite another crumpet.
A12 | Every crumpet is next to two different crumpets.
A13 | There are two honey crumpets which are next to each other.
A14 | If a crumpet A is diagonally opposite another crumpet B, and B is diagonally opposite another crumpet C, then A is C.
A15 | I ate two diagonally opposite crumpets.
Goal | I ate a honey crumpet.

### Non-Logical Vocabulary

Predicates: `Honey`, `Butter`, `NextTo`, `Diagonal`, `Ate`

#### Notes:

- The NextTo and Diagonal relations are both anti-relfexive and symmetric.