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.