Consensys/corset

Missing Concretization Cases

Opened this issue · 0 comments

It seems like there are some missing concretisation cases in src/transformer/concretize.rs. Specifically:

fn make_constraints_native(&mut self) {
        for c in self.constraints.iter_mut() {
            match c {
                ...
                Constraint::Lookup { .. } => {}

Seems like a lookup can be over expressions which, ideally, we want to concretize. Presumably this would only be a problem when checking at the top-level, rather than after expansion of lookups, etc.

fn make_computations_native(&mut self) {
        for c in self.computations.iter_mut() {
            match c {
                Computation::Composite { exp, .. } => exp.concretize(),

Looks like we're missing ExoOperation. Again, not sure this is a real issue.