[prolog] Le predicat assert en prolog
Bonjour à tous,
Cette question est destinée aux spécialistes de la programmation récursive en prolog :)
Mon soucis est comme soucis :
-Quand je déclare mon prédicat suivant :
Code:
nombre(Nom,X):-ligne(Nom,Liste), length(Liste,X).
et quand je fais appel à : "?- nombre(Nom,X)." dans ma console, il me renvoi le résultat une seule fois.
De ce coté la, parfait et aucun soucis.
Mais le problème est dans la suite, c'est que, quand je déclare mon prédicat suivant :
Code:
create_nb:-assert((nombre(Nom,X):-ligne(Nom,Liste), length(Liste,X))).
et quand je fais appel ici à : "?- nombre(Nom,X)." dans ma console, il me renvoi le résultat en double ou en triple.
Sauriez-vous de vient le problème SVP?