2017-01-25 2 views
0

Existe-t-il un moyen spécifique de limiter le nombre de vrais prédicats disponibles en utilisant un fait spécifié?Comptage du nombre de vrais prédicats et limitation

En ce moment j'ai total (2). en fait. Je pensais que cela fonctionnerait:

: - total (N), #count {x: quelquechose de limite (x)} = K, K = N.

Toutefois, cela ne limite pas le nombre de something_to_limit prédicats au fait total indiqué (2) où N serait égal à 2.

Toute aide serait grandement appréciée :)

Répondre

2

Le x dans x:something_to_limit(x) est un symbole constant, vous voulez probablement utiliser les variables X. La contrainte

:- total(N), #count{X:something_to_limit(X)} = K, K=N. 

devrait fonctionner.

+1

Ceci éliminera tous les ensembles de réponses où le prédicat something_to_limit est vrai pour exactement 2 constantes (avec total (2)). Si vous voulez avoir les solutions où exactement 2 atomes sont vrais, vous devez ajouter 'not' avant' # count'. –