Station MinuitExplorer, comprendre, pratiquer

RAISONNEMENT — Raisonner et résoudreAutomne 2026

Semaine 8 — Consolider recherche, unification, Minimax et Prolog

4. Unification : une substitution cohérente

LECTURE 06 / 124 repèresCouverture déclarée complète

4. Unification : une substitution cohérente

Unifier deux termes consiste à trouver des substitutions de variables qui les rendent identiques. Les symboles de fonction, les arités et les constantes doivent être compatibles. Une variable répétée désigne le même terme dans toutes ses occurrences. L’opération = de ces questions est une unification, sans évaluation arithmétique.

4.1. Première unification : propager une variable répétée

Code (prolog) · sélectionner pour copier

?- a(X, X) = a(t(a,u(b,c)), t(K,M)).

Les deux termes ont le même symbole extérieur a/2. Le premier argument impose X=t(a,u(b,c)). Comme le deuxième argument de gauche est aussi X, on doit ensuite unifier ce même terme avec t(K,M) : les symboles t/2 coïncident, puis les arguments donnent K=a et M=u(b,c).

Résultat officiel :

Code (text) · sélectionner pour copier

X = t(a,u(b,c))
K = a
M = u(b,c)

On ne peut pas choisir deux valeurs différentes pour X, une par argument. Les substitutions forment un ensemble cohérent appliqué à toute la question.

4.2. Deuxième unification : apparier les arguments

Code (prolog) · sélectionner pour copier

?- f(a, Z) = f(X, g(h(y))).

Le symbole f/2 est commun. Le premier argument donne X=a; le second donne Z=g(h(y)). Les symboles g, h et y restent des composants du terme : aucune opération n’a à être calculée.

4.3. Troisième unification : détecter une incompatibilité

Code (prolog) · sélectionner pour copier

?- g(x, h(y,59)) = g(X, X).

Le premier argument impose X=x. Le second demanderait alors x=h(y,59), impossible : x est un atome et h(y,59) un terme composé. Le résultat officiel est false. La présence d’une variable à droite ne rend pas l’unification toujours possible; ses occurrences répétées contraignent le résultat.

Retour au sommaire de l’unitéHaut de page
Récupérer manuellement les données locales

Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du thème. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.