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