Construction of the circuit.
(boolean-or-circuit) → pdef
This is a PFCS definition with a single equality constraint of the form described in boolean-or.
An alternative definition could be in terms of the boolean-and and boolean-not circuits, but it is simpler to define this as a single equality constraint.
Function:
(defun boolean-or-circuit nil (declare (xargs :guard t)) (let ((__function__ 'boolean-or-circuit)) (declare (ignorable __function__)) (pfcs::parse-def "boolean_or(x, y, z) := { (1 + -1 * x) * (1 + -1 * y) == (1 + -1 * z) }")))
Theorem:
(defthm definitionp-of-boolean-or-circuit (b* ((pdef (boolean-or-circuit))) (pfcs::definitionp pdef)) :rule-classes :rewrite)
Theorem:
(defthm sr1cs-definitionp-of-boolean-or-circuit (b* ((pdef (boolean-or-circuit))) (pfcs::sr1cs-definitionp pdef)) :rule-classes :rewrite)