Function unresolved_witnesses

Source
pub(crate) fn unresolved_witnesses<F: AcirField>(
    expr: &Expression<F>,
    solvable: &HashSet<Witness>,
) -> Option<HashSet<Witness>>
Expand description

Returns the deduplicated set of unresolved witnesses in an arithmetic expression, given a set of already-solvable witnesses.

Returns None when the expression has a squaring w*w that cannot be solved by the linear PWG.

Otherwise returns Some(set). An expression with set.len() <= 1 is solvable: zero unresolved means it is already fully solvable; one unresolved means we can solve for the remaining witness.