|
@@ -27,4 +27,17 @@
|
|
|
:test #'equal))
|
|
|
variables)))
|
|
|
|
|
|
+(defmethod check-constraint ((constraint <constraint-extension>) vvps &key &allow-other-keys)
|
|
|
+ (unless (= (length vvps) (constraint-adicity constraint))
|
|
|
+ (error "Incorrect number of VVPs (~a vs. ~a)."
|
|
|
+ (length vvps)
|
|
|
+ (constraint-adicity constraint)))
|
|
|
+ (let* ((cvvps (fix-vvps vvps constraint))
|
|
|
+ (the-values (mapcar #'cdr cvvps))
|
|
|
+ (is-member-p (member the-values (constraints-list constraint)
|
|
|
+ :test #'equalp)))
|
|
|
+ (if (nogoodsp constraint)
|
|
|
+ (not is-member-p)
|
|
|
+ is-member-p)))
|
|
|
+
|
|
|
;;; End lcsp
|