>> f:=1/_mult(i $ hold(i)=1..2); Error: Invalid sign [_seqgen]This problem bases on an internal data concept and cannot be solved as fast as it should. Please use the following work around:
>> f:=_mult(i $ hold(i)=1..2); f:= 1/f; 2 1/2
>> bool( op(1/x,0)(op(1/x)) = 1/x ); FALSE >> a:=op(1/x,0)(op(1/x)): bool( a = 1/x ); TRUE
>> reset(): a:=b: b:=c: c:=42: a; proc() begin a end_proc(); 42 bThis is not a bug! In the global context the substitution level is n>1 whereas in procedures the substitution level is set to 1. This has to be done to prevent side effects. If you need a higher substitution level then use the function level. Example:
>> reset(): a:=b: b:=c: c:=42: a; proc() begin level(a,3) end_proc(); 42 42