Skip to content
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

masm: sorting boundary constraints #322

Merged
merged 1 commit into from
Jun 22, 2023

Conversation

hackaugusto
Copy link
Contributor

The Winterfell framework groups assertions by trace (main or auxiliary), by stride, and step (the first row to which the assertion is enforced). The assertions in a group are further ordered by the column which they apply to.

In AirScript only single value assertions are supported, which means the stride is always 0 and grouping only happens by trace and step. And they are further ordered by column.

The ordering described above is important because it defines the position of the composition coefficient to be used.

This commits introduces the ordering by step. The ordering by column needs to be implemented later on.

Copy link
Contributor

@bobbinth bobbinth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you!

Copy link
Collaborator

@Al-Kindi-0 Al-Kindi-0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you!

@@ -386,6 +385,8 @@ impl<'ast> AirVisitor<'ast> for CodeGenerator<'ast> {
self.writer
.header("Multiply by the composition coefficient");

// Note: The corretness of the load below relies on the integrity constraint being iterated
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor nit: correctness

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, fixed :)

@hackaugusto hackaugusto force-pushed the hacka-masm-boundary-constraints-natural-order branch from e88cbca to a7c19bc Compare June 22, 2023 07:54
The Winterfell framework groups assertions by trace (main or auxiliary),
by stride, and step (the first row to which the assertion is enforced).
The assertions in a group are further ordered by the column which they
apply to.

In AirScript only single value assertions are supported, which means the
stride is always `0` and grouping only happens by trace and step. And
they are further ordered by column.

The ordering described above is important because it defines the
position of the composition coefficient to be used.

This commits introduces the ordering by `step`. The ordering by column
needs to be implemented later on.
@hackaugusto hackaugusto force-pushed the hacka-masm-boundary-constraints-natural-order branch from a7c19bc to 7f94c05 Compare June 22, 2023 07:56
@hackaugusto hackaugusto merged commit f4b9066 into next Jun 22, 2023
@hackaugusto hackaugusto deleted the hacka-masm-boundary-constraints-natural-order branch June 22, 2023 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants