diff --git a/crates/recursion/core/src/chips/alu_base.rs b/crates/recursion/core/src/chips/alu_base.rs index 4a1b10abcc..6acb1b73c5 100644 --- a/crates/recursion/core/src/chips/alu_base.rs +++ b/crates/recursion/core/src/chips/alu_base.rs @@ -209,6 +209,10 @@ where ) in zip(local.values, prep_local.accesses) { // Check exactly one flag is enabled. + builder.assert_bool(is_add.clone()); + builder.assert_bool(is_sub.clone()); + builder.assert_bool(is_mul.clone()); + builder.assert_bool(is_div.clone()); let is_real = is_add + is_sub + is_mul + is_div; builder.assert_bool(is_real.clone()); diff --git a/crates/recursion/core/src/chips/alu_ext.rs b/crates/recursion/core/src/chips/alu_ext.rs index 462cc55d96..860280ac3b 100644 --- a/crates/recursion/core/src/chips/alu_ext.rs +++ b/crates/recursion/core/src/chips/alu_ext.rs @@ -214,6 +214,10 @@ where let out = vals.out.as_extension::(); // Check exactly one flag is enabled. + builder.assert_bool(is_add.clone()); + builder.assert_bool(is_sub.clone()); + builder.assert_bool(is_mul.clone()); + builder.assert_bool(is_div.clone()); let is_real = is_add + is_sub + is_mul + is_div; builder.assert_bool(is_real.clone());