On 14 April 2017 at 09:28, Bill Page <[email protected]> wrote: > On 13 April 2017 at 22:19, oldk1331 <[email protected]> wrote: >> I think the setProperty/property from BasicOperator >> can be useful in such situation, e.g. attach a 'positive' >> property to a constant (nullary operator) 'x', then >> for example 'x>0' can return ture (well, there's no >> '>' in EXPR), or 'sin(x*%pi)' can return 0. >> ... > But the way my proof of concept code uses a kernel to > propagate the inference of class membership through other > operators requires at least one other special purpose kernel > to carry this inference. >
Thank you oldk1331. Your comment has given me an idea that seems like a very good solution to a problem in my current approach. It is indeed awkward to introduce a lot of special kernels to propagate these inferences. Attaching these predicates as properties of an operator is a good idea but I think that we really only need one such unary operator. And in fact we already have a rather under utilized operator that could easily serve this purpose. As you know 'paren' is a way of grouping and limiting evaluation in Expression but is otherwise algebraically an identity. So I think maybe attaching properties to the %oppren operator would work well. Then the 'normalForm' process could propagate this predicates according to appropriate inference rules. Plus we already have an operator 'distribute' than can throw this information away when it is no longer needed. Bill. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
