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.

Reply via email to