What do you want to achieve with this command:
eqmujk := eval(mu__jk, %); # ?
It is not syntactically correct for %[ ] means "the elements of the previous output", which assumes this previous output i euther a list or a set, which is not the case.
Here is the output %[ ] refers to
I suppose you have just reproduce the syntax which produces output on line (17), but here %[ ] refered to sol1 which was a list and "extracted" the inner list
[mu__jk = ..., lambda__jk = ...]
Then the command
eqljk := eval(lambda__jk, %);
meant "evaluate lambda__jk considering the the rules [mu__jk = ..., lambda__jk = ...].
I could have written instead, and I realize now that my initial syntax was confusing for newbies (no effence intended).
eqljk := rhs(sol1)
If I had written the things that way you would probably defined eqmujk as
eqmujk := rhs(sol1)
I am right?
Further down in the text :
eqlki := rhs(sol1);
eqmuki := rhs(sol2);
This fixes several errors.
I send you a corrected file, but the last solve command, which I rewrote correctly, doesn'tt provide any solution.