-
Notifications
You must be signed in to change notification settings - Fork 83
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
Simplify empty permutations #2171
base: main
Are you sure you want to change the base?
Conversation
expression: right.selector.clone(), | ||
source: source.clone(), | ||
}; | ||
*identity = Identity::Polynomial(pol); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we just remove the phantom? Shouldn't we keep it so that the multiplicity can be set to zero?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, there is no multiplicity. Hm.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too aware of that stuff, but if changing the multiplicity only makes more sense can do that too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I'm saying is: If we remove the phantom, we should also remove the columns and constraints generated from the phantom. We had a similar problem before, but not sure how we resolved it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have a simple example of the other constraints that are generated?
I think it could be the case that they are still sound regardless, because we're not removing the phantom permutation, rather making them unsatisfiable.
I don't know how this is passing CI |
Permutations of the form
0 $ [...] is S $ [...]
can be simplified toS = 0
. If this were a lookup, it would be a tautology and the constraint could be removed entirely. But as a permutation we're saying the LHS (empty set) is a permutation of the RHS, therefore RHS must also be the empty set. This is enforced by the simplified constraint.