Question: Simple use of assign

Hi, i am trying to use assign in this seemingly simple situation output=op restart: s:=k[1][1]*x[1]+k[2][2]*x[1]; op k[1][1] x[1] + k[2][2] x[1] s1:=k[1][1]*x[1]+k[1][2]*x[2]; op k[1][1] x[1] + k[1][2] x[2] l:=solve({coeff(s,x[1])=coeff(s1,x[1])},{k[1][1],k[2][2],k[1][2],k[2][1]}); op {k[2][2] = 0, k[1][1] = k[1][1], k[1][2] = k[1][2], k[2][1] = k[2][1]} p:=solve({coeff(s,x[2])=coeff(s1,x[2]),k[1][2]=0},{k[1][2],k[2][2],k[1][1],k[2][1]}); [] {k[1][1] = k[1][1], k[2][1] = k[2][1], k[1][2] = 0, k[2][2] = k[2][2]} assign(p); Error, (in assign/internal) invalid left hand side of table reference k[1][2]; op k[1][2] So k[1][2] should equal zero, k[2][2] gives that value of zero but not k[1][2], why is that?
Please Wait...