Construction of the circuit.
(boolean-nand-circuit) → pdef
This is a PFCS definition with a single equality constraint of the form described in boolean-nand.
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-nand-circuit nil (declare (xargs :guard t)) (let ((__function__ 'boolean-nand-circuit)) (declare (ignorable __function__)) (pfcs::parse-def "boolean_nand(x, y, z) := { (x) * (y) == (1 + -1 * z) }")))
Theorem:
(defthm definitionp-of-boolean-nand-circuit (b* ((pdef (boolean-nand-circuit))) (pfcs::definitionp pdef)) :rule-classes :rewrite)
Theorem:
(defthm sr1cs-definitionp-of-boolean-nand-circuit (b* ((pdef (boolean-nand-circuit))) (pfcs::sr1cs-definitionp pdef)) :rule-classes :rewrite)