Nous avons vu, dans le TD précédent, que le calcul
formel
s'accompagnait de la production d'expressions nécessitant la
simplification.
| + |
• |
^ |
e |
| ^ |
x |
||
| 2 |
|||
| log |
x |
||
| ^ |
log |
x |
|
| 3 |
simp(X+Y,U+V) :- simp(X,U), simp(Y,V).Considérons maintenant les règles exprimant les principaux cas particuliers.
simp(X*Y,U*V) :- simp(X,U), simp(Y,V).
simp((X)/(Y),(U)/(V)) :- simp(X,U), simp(Y,V).
simp(0+X+Y,Z) :- simp(X+Y,Z).Chargez donc cette base de règles, et essayez de simplifier une expression: que constatez vous?
simp(X^1,Y) :- simp(X,Y).
simp(1*X*Y,Z) :- simp(X*Y,Z).
simp(0*Z+X,Y) :- simp(X,Y).
Compléter cette base de règles.