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
The mechanism in which assignments versus constraints is handled is not working. The problem is that, since moving to using column indices instead of column names when looking up columns, more care is required to ensure alignment. Specifically, alignment between the trace and the schema. Unfortunately, the current design makes it relatively easy for misalignment to occur.
Some key terms:
Inputs. This represent columns of user-provided data. These are fed into trace expansion as the roots of computation [to determine the values of computed columns].
Assignments These can also be referred to as computed columns. They represent columns whose values are computed from earlier columns. We can view them as assignments of the form y1, ..., yn := f(x1, .., xm).
Constraints. These are used to check that a given input trace meets expected requirements. For example, that all values in a column are bytes, or that all values in a column are sorted, etc.
Declarations. A declaration is either an input or an assignment. A declaration declares one or more columns in the trace. Thus, the index of each column can be determined by iterating through the declarations.
In this model, constraints are lowered from the high-level to a lower-level. As this happens, they may introduce more assignments and more constraints. New assignments are always appended so that the index of earlier columns is unchanged.
The text was updated successfully, but these errors were encountered:
DavePearce
changed the title
Fix Distinction between Constraints / Assignments
Distinguishing between Constraints / Assignments
Jun 20, 2024
DavePearce
changed the title
Distinguishing between Constraints / Assignments
Distinguishing between Inputs, Assignments and Constraints
Jun 20, 2024
The mechanism in which assignments versus constraints is handled is not working. The problem is that, since moving to using column indices instead of column names when looking up columns, more care is required to ensure alignment. Specifically, alignment between the trace and the schema. Unfortunately, the current design makes it relatively easy for misalignment to occur.
Some key terms:
y1, ..., yn := f(x1, .., xm)
.input
or anassignment
. A declaration declares one or more columns in the trace. Thus, the index of each column can be determined by iterating through the declarations.In this model, constraints are lowered from the high-level to a lower-level. As this happens, they may introduce more assignments and more constraints. New assignments are always appended so that the index of earlier columns is unchanged.
The text was updated successfully, but these errors were encountered: