This repository has been archived by the owner on Apr 9, 2024. It is now read-only.
Add a field or a method to indicate what are the initial witnesses needed to solve a circuit #62
Labels
enhancement
New feature or request
Problem
A circuit is solvable if it is given an initial set of witness values. There is currently no way to validate this and upstream users of ACIR will need to somehow validate this or not validate it and hope that this is the case.
Another usecase is that an optimisation pass may wish to modify witnesses and it would be good to know which of the initial witnesses are always constants for example -- ie we can then pass information back to the user stating that the circuit is only solvable if their fourth initial witness value is always 5 for example.
Solution
We can add a field into ACIR which indicates these set of values. Moreover, we could avoid having a large set of values by allowing one to indicate a contiguous range, ie
Range(0, 500)
would mean that the first 500 witnesses are needed in order for this circuit to be solvable.Example:
Alternatives considered
(Describe any alternative solutions you have considered.)
Additional context
(If applicable.)
The text was updated successfully, but these errors were encountered: