Robuta

https://docs.racket-lang.org/csp/ Constraint-satisfaction problems (and how to solve them) how to solveconstraint satisfactionproblems