You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have seperation between generators and constraints. The general rule is to put the constraints as much as possible in the constraints, since every additional generated instantiation adds a lot of complexity to the tableau.
There are some things that the user can do to achieve this: for example, once a variable has been bound, it should no longer be treated as generative.
However, sometimes we may need throwaway variables. For example, to bind a production A with formulas of the form C:A, we obtain an instantiation of C that we don't really need to remember. We could have assignments [C=a,A=c] and [C=b,A=c]; our match needlessly increased the number of possible instantiations (the assignments are equivalent from a practical perspective), and added a lot of complexity.
I propose to pre-generate the constraint, then take out all variables that don't need to be generative, and make them restrictive. The remainder is united and duplicates are removed. This will minimise the number of instantiations.
To achieve this, it is necessary that we can automatically translate those degenerated variables into a constraint that checks if a certain combination of assignments is allowed to occur.
The text was updated successfully, but these errors were encountered:
We have seperation between generators and constraints. The general rule is to put the constraints as much as possible in the constraints, since every additional generated instantiation adds a lot of complexity to the tableau.
There are some things that the user can do to achieve this: for example, once a variable has been bound, it should no longer be treated as generative.
However, sometimes we may need throwaway variables. For example, to bind a production
A
with formulas of the formC:A
, we obtain an instantiation ofC
that we don't really need to remember. We could have assignments[C=a,A=c]
and[C=b,A=c]
; our match needlessly increased the number of possible instantiations (the assignments are equivalent from a practical perspective), and added a lot of complexity.I propose to pre-generate the constraint, then take out all variables that don't need to be generative, and make them restrictive. The remainder is united and duplicates are removed. This will minimise the number of instantiations.
To achieve this, it is necessary that we can automatically translate those degenerated variables into a constraint that checks if a certain combination of assignments is allowed to occur.
The text was updated successfully, but these errors were encountered: