0xMiden / 0xMiden/air-script

ACE: Handle single row constraints

Offen
#392 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
96
Forks
39
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

It seems that when an AirScript constraint only access variables in the current, the `ConstraintDomain` is set to `EveryRow`. This may be the intended behavior of the constraint, as we may want to enforce a local relationship in every row.

At the moment, the ACE circuit will always treat them as transition constraints, which means that `EveryRow` constraints will be disabled in the last row. To support these constraints, we would need to add the trivial vanishing zerofier (while still vanishing in the last row), though it's not clear if Winterfell supports this.

For now, we treat `EveryRow` constraints as `EveryFrame(2)` constraints, i.e. transition constraints. If we can ensure that winterfell supports the former type of constraints we would need to change the `ace` crate at
- `lib.rs`: separate `integrity_roots` into `all_rows_roots` and `transition_roots`.
- `test/quotient.rs`: separate `integrity` into `all_rows` and `transition.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.