In [32]:
import forge
from puzzle.puzzlepedia import puzzlepedia
puzzle = puzzlepedia.parse("""
name in {Beth, Charles, David, Frank, Jessica, Karen, Taylor}
room in {small, large, left_small, left_large}
crime in {innocent*6, guilty}
#1 Background.
#2 Background.
#3 Guilty suspect is lying.
#4 Background.
#5 Background.
#6 Murder happened at 11am.
#7
small != guilty
large != guilty
#8 Background.
#9
if Beth == innocent:
Charles == large
David == large
Jessica == left_large
Taylor == left_large
# Beth seems to be in the small room.
Beth.small or Beth.left_small
#10
if Charles == innocent:
Beth.small | Frank.small | Karen.small
#11
if David == innocent:
Beth.left_small | Frank.left_small | Karen.left_small
#12
if Frank == innocent:
Karen.small | Beth.left_small
#13
if Karen == innocent:
Beth.small | Frank.left_small
#14
if Jessica == innocent:
if Frank == innocent: Karen == innocent
if Karen == innocent: Frank == innocent
#15
if Taylor == innocent:
Frank.small | Karen.left_small
""")
In [ ]: