In [9]:
import forge
from puzzle.puzzlepedia import puzzlepedia

puzzle = puzzlepedia.parse("""
location in {boathouse, bridge, cottage, lighthouse, lookout, mansion, hut, well, pond, windmill}
item in {yes * 5, no * 5}

#1
(cottage.yes and windmill.no) or (cottage.yes and windmill.yes)

#2
(pond.yes and cottage.yes) or (well.yes)

#3
(lighthouse.yes and pond.yes) or (bridge.yes and lookout.yes and boathouse.no)

#4
(
  (boathouse.yes + pond.yes + windmill.yes) == 1
  or
  (bridge.yes + hut.yes + well.yes) == 1
)

#5
(
  (lighthouse.yes + mansion.yes + pond.yes) == 2
  or
  (bridge.yes + lookout.yes + windmill.yes) == 2
)

#6
(
  (lighthouse.yes + mansion.yes + pond.yes) == 0
  or
  (bridge.yes + lookout.yes + windmill.yes) == 0
)
""")

In [ ]: