diff --git a/logicPlan.py b/logicPlan.py index a6ab1a5..4e5552d 100644 --- a/logicPlan.py +++ b/logicPlan.py @@ -177,7 +177,7 @@ def atLeastOne(literals: List[Expr]) -> Expr: True """ "*** BEGIN YOUR CODE HERE ***" - util.raiseNotDefined() + return logic.disjoin(literals) "*** END YOUR CODE HERE ***" @@ -189,7 +189,9 @@ def atMostOne(literals: List[Expr]) -> Expr: itertools.combinations may be useful here. """ "*** BEGIN YOUR CODE HERE ***" - util.raiseNotDefined() + + return logic.conjoin([ (~pair[0] | ~pair[1]) for pair in itertools.combinations(literals, 2)]) + "*** END YOUR CODE HERE ***" @@ -200,7 +202,7 @@ def exactlyOne(literals: List[Expr]) -> Expr: the expressions in the list is true. """ "*** BEGIN YOUR CODE HERE ***" - util.raiseNotDefined() + return atLeastOne(literals) & atMostOne(literals) "*** END YOUR CODE HERE ***" #______________________________________________________________________________