pub(crate) fn eval_halt_unimpl<AB: SP1AirBuilder>(
        &self,
        builder: &mut AB,
        local: &SyscallInstrColumns<AB::Var>,
        public_values: &PublicValues<Word<AB::PublicVar>, AB::PublicVar>,
    ) {
        // `next_pc` is constrained for the case where `is_halt` is true to be `0`
        builder.when(local.is_halt).assert_zero(local.next_pc);

        // Verify that the operand that was range checked is op_b.
        builder.when(local.is_halt).assert_word_eq(local.op_b_value, local.operand_to_check);

        // Check that the `op_b_value` reduced is the `public_values.exit_code`.
        builder
            .when(local.is_halt)
            .assert_eq(local.op_b_value.reduce::<AB>(), public_values.exit_code);
    }
Constraint related to the halt and unimpl instruction.
crates/core/machine/src/syscall/instructions/air.rs