#3.1 Symbolic Variables
Consider the following circuit:
templage Mul3() {
signal input a;
signal input b;
signal input c;
signal input res;
// not allowed
res === a * b * c;
}
// this circuit will not compile
component main = Mul3();template Mul3() {
signal input a;
signal input b;
signal input c;
signal input res;
var prod;
// seemingly quadratic expressions
prod = a * b;
prod = prod * c;
res === prod;
}
// this circuit will not compile
component main = Mul3();Cannot use variables to flatten non-quadratic signal expressions
Symbolic variables store symbolic expressions
Last updated