On fait une boucle infinie, dont on ne sortira que lorsque plus aucune
règle ne s'appliquera.
- on considère le premier symbole de l'énoncé;
- on fait une boucle sur les règles;
- si la partie gauche d'une règle colle, on réécrit sa
partie droite, en tenant compte du contenu de la table d'unification, et on
sort de la boucle sur les règles pour remonter à la boucle
infinie;
- si on est sorti sans succès de la boucle sur les règles, on
passe au symbole suivant de l'énoncé, et on recommence;
- si on sort sans succès de cette récursion, on sort de la boucle
infinie, en renvoyant la valeur courante de l'énoncé.
? (tp) Donnez la liste des substituables (u v) Donnez les regles ( ((d (+ u v)) (+ (d u) (d v))) ((d (* u v)) (+ (* (d u) v) (* u (d v)))) ((d (exp u v)) (* v (* (exp u (- v 1)) (d u)))) ((d a) 0) ((d b) 0) ((d c) 0) ((d x) 1) ) Donnez l'enonce (d (+ (* a (exp x 2)) (+ (* b x) c))) Donnez le niveau de bavardise 1 En appliquant : (D (+ U V)) on obtient : (+ (D (* A (EXP X 2))) (D (+ (* B X) C))) En appliquant : (D (* U V)) on obtient : (+ (+ (* (D A) (EXP X 2)) (* A (D (EXP X 2)))) (D (+ (* B X) C))) En appliquant : (D A) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (D (EXP X 2)))) (D (+ (* B X) C))) En appliquant : (D (EXP U V)) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) (D X))))) (D (+ (* B X) C))) En appliquant : (D X) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (D (+ (* B X) C))) En appliquant : (D (+ U V)) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (+ (D (* B X)) (D C))) En appliquant : (D (* U V)) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (+ (+ (* (D B) X) (* B (D X))) (D C))) En appliquant : (D B) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (+ (+ (* 0 X) (* B (D X))) (D C))) En appliquant : (D X) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (+ (+ (* 0 X) (* B 1)) (D C))) En appliquant : (D C) on obtient : (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (+ (+ (* 0 X) (* B 1)) 0)) (+ (+ (* 0 (EXP X 2)) (* A (* 2 (* (EXP X (- 2 1)) 1)))) (+ (+ (* 0 X) (* B 1)) 0))
? (tp) Donnez la liste des substituables (u v) Donnez les regles ( ((d (+ u v)) (+ (d u) (d v))) ((d (* u v)) (+ (* (d u) v) (* u (d v)))) ((d (exp u v)) (* v (* (exp u (- v 1)) (d u)))) ((d a) 0) ((d b) 0) ((d c) 0) ((d x) 1) ((+ u 0) u) ((+ 0 u) u) ((* u 0) 0) ((* 0 u) 0) ((* u 1) u) ((* 1 u) u) ((- 2 1) 1) ((exp x 1) x) ) Donnez l'enonce (d (+ (* a (exp x 2)) (+ (* b x) c))) Donnez le niveau de bavardise 0 (+ (* A (* 2 X)) B) ?