(* Rachunki sprawdzające działania algebry Hecke dla (Subscript[SL, 3]) na wielomianach *)
(* transpozycje *)
s1[f_]:=f/.{x1->x2,x2->x1}
s2[f_]:=f/.{x3->x2,x2->x3}

d1[f_]:=((1+b x1+c x2)f-(1+b' x1+c'x2)s1[f]/.{c'->b+c-b'})/(x1-x2)
d2[f_]:=((1+b x2+c x3)f-(1+b' x2+c'x3)s2[f]/.{c'->b+c-b'})/(x2-x3)
Factor[d2[x1]]

Factor[d1[d2[d1[x1]]]-d2[d1[d2[x1]]]]

f=g[x1,x2,x3];

dp1[f_]:=d1[f]/.b->0
dp2[f_]:=d2[f]/.b->0

Factor[dp1[dp2[dp1[f]]]-dp2[dp1[dp2[f]]]]

(* operacje z szeregiem w mianowniku *)
max=3;
e[x_]:=x -Sum[(-1)^i a[i]/i!x^i,{i,2,max}]
(* e[x_]:=1-E^-x jest ok *)
d1[f_]:=f/e[x1 -x2 ]+s1[f]/e[ x2-x1]
d2[f_]:=f/e[x2 -x3 ]+s2[f]/e[ x3-x2]
podstawienie={x1->h x1,x2->h x2,x3->h x3}

FullSimplify[Series[d1[d2[d1[x1 ]]]-d2[d1[d2[x1 ]]]/.podstawienie,{h,0,max-3}]]

max=4;
e[x_]:=x -Sum[(-1)^i a[i]/i!x^i,{i,2,max}]/.a[3]->a[2]^2
FullSimplify[Series[d1[d2[d1[x1 ]]]-d2[d1[d2[x1 ]]]/.podstawienie,{h,0,max-3}]]

max=5;
e[x_]:=x -Sum[(-1)^i a[i]/i!x^i,{i,2,max}]/.a[3]->a[2]^2/.a[4]->a[2]^3
FullSimplify[Series[d1[d2[d1[x1 ]]]-d2[d1[d2[x1 ]]]/.podstawienie,{h,0,max-3}]]

(* i co dalej ? *)