This fails
(1) -> exp(-0.02*t)
% :: Expression Fraction Integer
% :: Expression Float
But this works
exp(-1*(1/50)*t)
% :: Expression Float
Why are these expressions treated differently?
How can convert the first one to the second?
(1/2*x)::EXPR FRAC INT
%::EXPR FLOAT
exp(-0.02*t) :: Expression Fraction Integer
then why?
exp(-1*(1/50)*t)
Is Axiom confused about the definition of the type Expression Integer? What exactly is it that is supposed to be an Integer in each case above?
Expression R builds expressions with coefficients from R. Since Expression is closed under division, EXPR INT and EXPR FRAC INT cover the same amount of expressions. It seems to be part of axiom's philosophy not to support redundant application of domain constructors, at least in the interpreter. Other examples are FRAC FRAC INT or COMPLEX COMPLEX INT.
Martin