kill(all)$

maxima :appendix (defrule),"del & diff ,myintegration version 1.0a, corrected
peter.vlasschaert@gmail.com,13/09/2020

corrected : other documents  when i use other symbol : ∇, see : below how to solve.

load packages,option
=================

load(lrats)$ ratprint:false$

p1:diff(z)=diff(log(L));

p2:'diff(z,t)='diff(log(L),t);

p3:integrate(diff(log(L)),L);

when 'del()' bying used : my integration

rules :f1,f2
========

matchdeclare(L1,true,L2,true,[a1,a2],true);

defrule(f1,'integrate(del(log(L1)),L1),log(L1)+a1);

defrule(f2,'integrate(del(L2),L2),L2+a2);

problem : integrate  => ' integrate ( solve  the  problem),defrules

matchdeclare(L3,true,a3,true);

defrule(f3,'integrate(del(L3)/L3,L3),log(L3)+a3);

use :rules
========

disprule(all)$

m1:integrate(del(log(v)),v)=
apply1(integrate(del(log(v)),v),f1);

same :result

m1a:'integrate(del(log(v)),v)=
apply1('integrate(del(log(v)),v),f1);

m2:integrate(del(v),v)=
apply1(integrate(del(v),v),f2);

same :result

m2a:'integrate(del(v),v)=
apply1('integrate(del(v),v),f2);

→ evaluation : use defrule   →   ' integrate  = integrate 

use :p3

m3:p3=apply1(p3,f3);

-----------------------------------------------------------------------------------------------------------

depends(z,t,L,t);

-------------------------------------------------------------------------------------------------------------

use : diff , 'operator'

p1:diff(z,t)=diff(log(L),t);

p1a:integrate(p1,t);

use :del,'operator'

p2:del(z) =del(log(L)); 

p2a:integrate(lhs(p2),z)=integrate(rhs(p2),L);

reason : more defrules ,on the same expression.

p2b:apply1(p2a,f1,f2,f3);

assume :a1,a2,a3 are constant,see above : defrules,'f1,f2,f3'

p2c:solve(p2b,z)[1];

set : a=a1-a2

use :packages loaded:'load (lrats)
==========================

p2d:lratsubst([a1-a2=a],p2c);

--------------------------------------------------------------------------------------------------------------