pub fn witness_size(&self) -> usize {
        // all constraints have the same size
        // this is enforced in the creation
        self.constraints[0].a.len() //gives the number of columns?
    }
Returns the size of the witness
This is the constant part, plus the of inputs + intermediate values +
outputs
examples/pinocchio/src/r1cs.rs