-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Distributivity not assumed #33
Comments
TL;DR: Distributivity is hard, and applying it well in practice is somewhat unclear. It's a difficult problem to tackle, but a medium-term Dealing with distributivity is a tough philosophical question, even before you get to the code. 🙂 It's hard to agree whether factored or expanded form is simpler, from a generic standpoint.
In this case, "simplicity" isn't immediately clear, at least without examining each expression on a case-by-case basis (or by both factoring and expanding and using some metric to determine which one is better). However, let's say we decide that one form is simpler:
One of the best known ways for dealing with polynomial factoring problems is the use of a Gröbner Basis, which would ideally have logic contained in a separate package but be able to operate on an existing |
From my perspective, you showed more how simplifying a term could be a subjective matter. If one cares about normalization only, that should not be important as long as there is a strict normalization rule, right? I want to use this mostly for comparison of terms so, e.g. the expanded form would be okai as long as I can make sure two differently written but equal terms normalize to the same. |
The subjectivity is only the reason why we don't (currently) include any mention of the distributive law in the standard rule set. If the expanded form is okay, though, I think adding the left- and right-distributive rules I mentioned should solve the problem. If factored form is preferred, though, some more complex logic is required (likely in the form of a custom |
Hi,
I was just playing around and realized, that distributivity is semingly not assumed (by standard). How can I switch it on?
For Example in
I would actually expect something like
The text was updated successfully, but these errors were encountered: