d(U+V,X,DU+DV) :- !, d(U,X,DU),d(V,X,DV). %d(U+V,X,DU+DV) :- d(U,X,DU),d(V,X,DV). %d(U-V,X,DU-DV) :- !, d(U,X,DU),d(V,X,DV). d(U*V,X,DU*V+U*DV) :- !,d(U,X,DU),d(V,X,DV). %d(U/V,X,(DU*V-U*DV)/V^2) :- !,d(U,X,DU),d(V,X,DV). d(U^N,X,DU*N*U^N1) :- integer(N),N1 is N-1,!,d(U,X,DU). %d(-U,X,-DU) :- !,d(U,X,DU). d(exp(U),X,exp(U)*DU) :- !,d(U,X,DU). %d(exp(U),X,exp(U)*DU) :- d(U,X,DU). d(log(U),X,DU/U) :- !,d(U,X,DU). d(X,X,1) :- !. %d(X,X,1). d(C,X,0).