In[]:=
Internal3={l};External3={q1,q2,q4};Propagators3={l^2,(l+q1)^2+mm1,(q4-l)^2+mm2,(l+q1+q2)^2};PropagatorsExtra3={};Replacements3={q1^2-mm1,q2^2-mm1,q4^2-mm2,q1*q2(2*mm1-t)/2,q1*q4(mm1+mm2-s)/2,q2*q4(mm1+mm2-u)/2}/.{u2mm1+2mm2-s-t};
In[]:=
lhs3=Map[IPROP3,Propagators3]
Out[]=
{IPROP3[],IPROP3[mm1+],IPROP3[mm2+],IPROP3[]}
2
l
2
(l+q1)
2
(-l+q4)
2
(l+q1+q2)
In[]:=
dprules3={l^2DP[l,l],l*q1DP[l,q1],l*q2DP[l,q2],l*q4DP[l,q4]};
In[]:=
rhs3=Expand[Propagators3]/.Replacements3/.dprules3;
In[]:=
eqs3=Table[lhs3[[i]]==rhs3[[i]],{i,Length[lhs3]}]
Out[]=
{IPROP3[]DP[l,l],IPROP3[mm1+]DP[l,l]+2DP[l,q1],IPROP3[mm2+]DP[l,l]-2DP[l,q4],IPROP3[]-t+DP[l,l]+2DP[l,q1]+2DP[l,q2]}
2
l
2
(l+q1)
2
(-l+q4)
2
(l+q1+q2)
In[]:=
dplist3=Union[Cases[rhs3,DP[___],All]]
Out[]=
{DP[l,l],DP[l,q1],DP[l,q2],DP[l,q4]}
In[]:=
rule3=Solve[eqs3,dplist3][[1]]
Out[]=
DP[l,l]IPROP3[],DP[l,q1](-IPROP3[]+IPROP3[mm1+]),DP[l,q2](t-IPROP3[mm1+]+IPROP3[]),DP[l,q4](IPROP3[]-IPROP3[mm2+])
2
l
1
2
2
l
2
(l+q1)
1
2
2
(l+q1)
2
(l+q1+q2)
1
2
2
l
2
(-l+q4)
In[]:=
CC=Expand[Expand[l*(-q1-q2-q4)]/.dprules3/.rule3]//Factor
Out[]=
1
2
2
(l+q1+q2)
2
(-l+q4)
In[]:=
R2346=DP[l,l]IPROP3[],DP[l,q1](-IPROP3[]+IPROP3[mm1+]),DP[l,q2](t-IPROP3[mm1+]+IPROP3[]),DP[l,q4](IPROP3[]-IPROP3[mm2+]),DP[l,q3]:>12(-t-IPROP3[(l+q1+q2)^2]+IPROP3[mm2+(-l+q4)^2])//.{IPROP:>IProp,IPROP3:>IProp,mm2:>m2^2,mm1:>m1^2,l:>L,q1:>Q1,q2:>Q2,q3:>Q3,q4:>Q4,DP:>Dotp};
2
l
1
2
2
l
2
(l+q1)
1
2
2
(l+q1)
2
(l+q1+q2)
1
2
2
l
2
(-l+q4)
In[]:=
R2345=DP[l,l]IPROP3[],DP[l,q1](-IPROP3[]+IPROP3[mm1+]),DP[l,q2](t-IPROP3[mm1+]+IPROP3[]),DP[l,q4](IPROP3[]-IPROP3[mm2+]),DP[l,q3]:>(-t-IPROP3[]+IPROP3[mm2+])//.{IPROP:>IProp,IPROP3:>IProp,mm2:>m2^2,mm1:>m1^2,l:>L,q1:>Q1,q2:>Q2,q3:>Q3,q4:>Q4,DP:>Dotp};
2
l
1
2
2
l
2
(l+q1)
1
2
2
(l+q1)
2
(l+q1+q2)
1
2
2
l
2
(l-q4)
1
2
2
(l+q1+q2)
2
(l-q4)
cross box:
cross box:
;;(+);(+)
2
L
2
(L+Q1+Q2)
2
m1
2
(L+Q2)
2
m2
2
(-L+Q4)
In[]:=
Internal4={l};External4={q1,q2,q4};Propagators4={l^2,(l+q2)^2+mm1,(q4-l)^2+mm2,(l+q1+q2)^2};PropagatorsExtra4={};Replacements4={q1^2-mm1,q2^2-mm1,q4^2-mm2,q1*q2(2*mm1-t)/2,q1*q4(mm1+mm2-s)/2,q2*q4(mm1+mm2-u)/2}/.{u2mm1+2mm2-s-t};
In[]:=
lhs4=Map[IPROP4,Propagators4]
Out[]=
{IPROP4[],IPROP4[mm1+],IPROP4[mm2+],IPROP4[]}
2
l
2
(l+q2)
2
(-l+q4)
2
(l+q1+q2)
In[]:=
dprules4={l^2DP[l,l],l*q1DP[l,q1],l*q2DP[l,q2],l*q4DP[l,q4]};
In[]:=
rhs4=Expand[Propagators4]/.Replacements4/.dprules4;
In[]:=
eqs4=Table[lhs4[[i]]==rhs4[[i]],{i,Length[lhs4]}]
Out[]=
{IPROP4[]DP[l,l],IPROP4[mm1+]DP[l,l]+2DP[l,q2],IPROP4[mm2+]DP[l,l]-2DP[l,q4],IPROP4[]-t+DP[l,l]+2DP[l,q1]+2DP[l,q2]}
2
l
2
(l+q2)
2
(-l+q4)
2
(l+q1+q2)
In[]:=
dplist4=Union[Cases[rhs4,DP[___],All]]
Out[]=
{DP[l,l],DP[l,q1],DP[l,q2],DP[l,q4]}
In[]:=
rule4=Solve[eqs4,dplist4][[1]]
Out[]=
DP[l,l]IPROP4[],DP[l,q1](t+IPROP4[]-IPROP4[mm1+]),DP[l,q2](-IPROP4[]+IPROP4[mm1+]),DP[l,q4](IPROP4[]-IPROP4[mm2+])
2
l
1
2
2
(l+q1+q2)
2
(l+q2)
1
2
2
l
2
(l+q2)
1
2
2
l
2
(-l+q4)
In[]:=
CB12=Expand[Expand[l*(-q1-q2-q4)]/.dprules4/.rule4]//Factor
Out[]=
1
2
2
(l+q1+q2)
2
(-l+q4)
In[]:=
R442069=DP[l,l]IPROP4[],DP[l,q1](t+IPROP4[]-IPROP4[mm1+]),DP[l,q2](-IPROP4[]+IPROP4[mm1+]),DP[l,q4](IPROP4[]-IPROP4[mm2+]),DP[l,q3](-t-IPROP4[]+IPROP4[mm2+])//.{IPROP:>IProp,IPROP4:>IProp,mm2:>m2^2,mm1:>m1^2,l:>L,q1:>Q1,q2:>Q2,q3:>Q3,q4:>Q4,DP:>Dotp}
2
l
1
2
2
(l+q1+q2)
2
(l+q2)
1
2
2
l
2
(l+q2)
1
2
2
l
2
(-l+q4)
1
2
2
(l+q1+q2)
2
(-l+q4)
Out[]=
Dotp[L,L]IProp[],Dotp[L,Q1](t+IProp[]-IProp[+]),Dotp[L,Q2](-IProp[]+IProp[+]),Dotp[L,Q4](IProp[]-IProp[+]),Dotp[L,Q3](-t-IProp[]+IProp[+])
2
L
1
2
2
(L+Q1+Q2)
2
m1
2
(L+Q2)
1
2
2
L
2
m1
2
(L+Q2)
1
2
2
L
2
m2
2
(-L+Q4)
1
2
2
(L+Q1+Q2)
2
m2
2
(-L+Q4)
In[]:=
R442069=DP[l,l]IPROP4[],DP[l,q1](t+IPROP4[]-IPROP4[mm1+]),DP[l,q2](-IPROP4[]+IPROP4[mm1+]),DP[l,q4](IPROP4[]-IPROP4[mm2+]),DP[l,q3](-t-IPROP4[]+IPROP4[mm2+])//.{IPROP:>IProp,IPROP4:>IProp,mm2:>m2^2,mm1:>m1^2,l:>L,q1:>Q1,q2:>Q2,q3:>Q3,q4:>Q4,DP:>Dotp}
2
l
1
2
2
(l+q1+q2)
2
(l+q2)
1
2
2
l
2
(l+q2)
1
2
2
l
2
(l-q4)
1
2
2
(l+q1+q2)
2
(l-q4)
Out[]=
Dotp[L,L]IProp[],Dotp[L,Q1](t+IProp[]-IProp[+]),Dotp[L,Q2](-IProp[]+IProp[+]),Dotp[L,Q4](IProp[]-IProp[+]),Dotp[L,Q3](-t-IProp[]+IProp[+])
2
L
1
2
2
(L+Q1+Q2)
2
m1
2
(L+Q2)
1
2
2
L
2
m1
2
(L+Q2)
1
2
2
L
2
m2
2
(L-Q4)
1
2
2
(L+Q1+Q2)
2
m2
2
(L-Q4)