On 08/30/2016 11:24 PM, Waldek Hebisch wrote: >> But the parameter R is required to be a AbelianMonoid. So there is >> always a zero. > > But the point is that is requires some reasoning to decide if there > is zero.
So what? My API-page shows conditions on the basis of available information at that time. This is information that is available at compile time. So quite some conditions can already be removed before instatiation of a domain. In fact, that is what I expect from a good compiler. > Also, conditions need to be evaluated at runtime and runtime > evaluation has to be fast. I have nothing against fast computation of conditions at instatiation time, but the compiler should remove conditions that are true from the requirements on (type of) the parameter. > I would like to improve on reasoning part. But I am affraid that > searching for improvements in Open Axion or Axiom is unlikely to > help. The way I did this is hidden in my api.spad. I basically transformed the expressions into disjunctive normal form and then did some simplifications. Probably not the smartest reasoner, but certainly better than nothing. I'll make that file public if there is interest. Ralf -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To post to this group, send email to fricas-devel@googlegroups.com. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.