For the most naive users the following behavior would be the most natural for substituting into an equation. This behavior is implemented in the SageMath package, but I believe it uses preparsing.
The basic idea is that the following two statements should be equivalent given an equation eq1 = Eqn(a,b/c):
eq1.subs({a:1,b:c})
eq1.subs(a=1,b=c)
It may be possible to play tricks with **kwargs to make this work.
For the most naive users the following behavior would be the most natural for substituting into an equation. This behavior is implemented in the SageMath package, but I believe it uses preparsing.
The basic idea is that the following two statements should be equivalent given an equation
eq1 = Eqn(a,b/c):eq1.subs({a:1,b:c})eq1.subs(a=1,b=c)It may be possible to play tricks with **kwargs to make this work.