fn public_input_header(&self) -> Vec<Constraint<F>> {
        let zero = FieldElement::zero();
        let minus_one = -FieldElement::one();
        let mut public_input_constraints = Vec::new();
        for public_input in self.public_input_variables.iter() {
            let public_input_constraint = Constraint {
                constraint_type: ConstraintType {
                    ql: minus_one.clone(),
                    qr: zero.clone(),
                    qm: zero.clone(),
                    qo: zero.clone(),
                    qc: zero.clone(),
                },
                hint: None,
                l: *public_input,
                r: self.null_variable(),
                o: self.null_variable(),
            };
            public_input_constraints.push(public_input_constraint);
        }
        public_input_constraints
    }
Returns the public input header used in PLONK to prove the usage of the
public input values.
crates/provers/plonk/src/constraint_system/mod.rs