Il existe des Prolog étendus spécialement pour la substitution de variables.
Sur l'instant je pense à Alpha-Prolog mais je sais qu'il y en a d'autres (Qu-Prolog, Lambda Prolog) .