def main(): symbols = [AKnight, AKnave, BKnight, BKnave, CKnight, CKnave] puzzles = [("Puzzle 0", knowledge0), ("Puzzle 1", knowledge1), ("Puzzle 2", knowledge2), ("Puzzle 3", knowledge3)] for puzzle, knowledge in puzzles: print(puzzle) if len(knowledge.conjuncts) == 0: print(" Not yet implemented.") else: for symbol in symbols: if model_check(knowledge, symbol): print(f" {symbol}")
def check_knowledge(knowledge): for symbol in symbols: if model_check(knowledge, symbol): termcolor.cprint(f"{symbol}: YES", "green") elif not model_check(knowledge, Not(symbol)): print(f"{symbol}: MAYBE")