reasoning with constraints csp ! < - is odd < < ! ! figure csp show(the following example is another abstract scheduling problem what are the solutionscspexamples py -(continued def adjacent( , )"""true when and are adjacent numbers""return abs( - = csp csp("csp "{ , , , , }[constraint([ , ]adjacent"adjacent( , )")constraint([ , ]adjacent"adjacent( , )")constraint([ , ]adjacent"adjacent( , )")constraint([ , ]adjacent"adjacent( , )")constraint([ , ]ne" ! ")constraint([ , ]ne" ! ")constraint([ , ]ne" ! ")]the following examples represent the crossword shown in figure in the first representationthe variables represent words the constraint imposed by the crossword is that where two words intersectthe letter at the intersection must be the same the method meet_at is used to test whether two words intersect with the same letter for examplethe constraint meet_at( , version june